added display function.
This commit is contained in:
@ -1 +1,3 @@
|
|||||||
__version__ = '0.6.4'
|
__version__ = '0.6.4'
|
||||||
|
|
||||||
|
from .window_sub.cv_window_sub import display
|
||||||
|
@ -5,6 +5,7 @@ import numpy as np
|
|||||||
|
|
||||||
from .winctrl import WinCtrl
|
from .winctrl import WinCtrl
|
||||||
from cvpubsubs.webcam_pub.camctrl import CamCtrl
|
from cvpubsubs.webcam_pub.camctrl import CamCtrl
|
||||||
|
from cvpubsubs.webcam_pub.frame_handler import VideoHandlerThread
|
||||||
from localpubsub import NoData
|
from localpubsub import NoData
|
||||||
from cvpubsubs.window_sub.mouse_event import MouseEvent
|
from cvpubsubs.window_sub.mouse_event import MouseEvent
|
||||||
|
|
||||||
@ -112,3 +113,16 @@ class SubscriberWindows(object):
|
|||||||
sub_cmd.release()
|
sub_cmd.release()
|
||||||
WinCtrl.quit(force_all_read=False)
|
WinCtrl.quit(force_all_read=False)
|
||||||
self.__stop_all_cams()
|
self.__stop_all_cams()
|
||||||
|
|
||||||
|
|
||||||
|
def display(*vids, names=[]):
|
||||||
|
vid_threads = [VideoHandlerThread(v) for v in vids]
|
||||||
|
for v in vid_threads:
|
||||||
|
v.start()
|
||||||
|
if len(names) == 0:
|
||||||
|
names = ["window {}".format(i) for i in range(len(vids))]
|
||||||
|
SubscriberWindows(window_names=names,
|
||||||
|
video_sources=vids
|
||||||
|
).loop()
|
||||||
|
for v in vid_threads:
|
||||||
|
v.join()
|
||||||
|
@ -4,7 +4,9 @@ import unittest as ut
|
|||||||
import cvpubsubs.webcam_pub as w
|
import cvpubsubs.webcam_pub as w
|
||||||
from cvpubsubs.window_sub import SubscriberWindows
|
from cvpubsubs.window_sub import SubscriberWindows
|
||||||
from cvpubsubs.window_sub.winctrl import WinCtrl
|
from cvpubsubs.window_sub.winctrl import WinCtrl
|
||||||
|
from cvpubsubs import display
|
||||||
from cvpubsubs.input import mouse_loop, key_loop
|
from cvpubsubs.input import mouse_loop, key_loop
|
||||||
|
import numpy as np
|
||||||
|
|
||||||
if False:
|
if False:
|
||||||
import numpy as np
|
import numpy as np
|
||||||
@ -159,3 +161,19 @@ class TestSubWin(ut.TestCase):
|
|||||||
img[mouse_event.y - 5:mouse_event.y + 10, mouse_event.x - 5:mouse_event.x + 10, :] = 1.0
|
img[mouse_event.y - 5:mouse_event.y + 10, mouse_event.x - 5:mouse_event.x + 10, :] = 1.0
|
||||||
|
|
||||||
VideoHandlerThread(video_source=img, callbacks=function_display_callback(conway)).display()
|
VideoHandlerThread(video_source=img, callbacks=function_display_callback(conway)).display()
|
||||||
|
|
||||||
|
def test_double_win(self):
|
||||||
|
vid1 = np.ones((100, 100))
|
||||||
|
vid2 = np.zeros((100, 100))
|
||||||
|
t1 = w.VideoHandlerThread(vid1)
|
||||||
|
t2 = w.VideoHandlerThread(vid2)
|
||||||
|
t1.start()
|
||||||
|
t2.start()
|
||||||
|
SubscriberWindows(window_names=['cammy', 'cammy2'],
|
||||||
|
video_sources=[vid1, vid2]
|
||||||
|
).loop()
|
||||||
|
t1.join()
|
||||||
|
t1.join()
|
||||||
|
|
||||||
|
def test_display(self):
|
||||||
|
display(np.ones((100, 100)), np.zeros((100, 100)))
|
||||||
|
Reference in New Issue
Block a user