Initial pass at some boost python bindings.
This commit is contained in:
10
samples/python/boost/camera.py
Normal file
10
samples/python/boost/camera.py
Normal file
@@ -0,0 +1,10 @@
|
||||
import opencv
|
||||
|
||||
capture = opencv.VideoCapture(0)
|
||||
img = opencv.Mat()
|
||||
|
||||
while True:
|
||||
capture.read(img)
|
||||
opencv.imshow("camera",img)
|
||||
if opencv.waitKey(10) == 27:
|
||||
break
|
||||
64
samples/python/boost/subwindow.py
Normal file
64
samples/python/boost/subwindow.py
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import opencv
|
||||
|
||||
class SubwindowDemo:
|
||||
|
||||
def __init__(self):
|
||||
self.capture = opencv.VideoCapture(0)
|
||||
self.capture.set(opencv.CV_CAP_PROP_FRAME_HEIGHT, 1000)
|
||||
self.capture.set(opencv.CV_CAP_PROP_FRAME_WIDTH, 1000)
|
||||
opencv.namedWindow( "Video", opencv.CV_WINDOW_KEEPRATIO)
|
||||
opencv.namedWindow( "Track Window", opencv.CV_WINDOW_KEEPRATIO)
|
||||
|
||||
opencv.setMouseCallback( "Video", self.on_mouse,None)
|
||||
|
||||
self.drag_start = None # Set to (x,y) when mouse starts drag
|
||||
self.track_window = None # Set to rect when the mouse drag finishes
|
||||
|
||||
print( "Keys:\n"
|
||||
" ESC,q - quit the program\n"
|
||||
"To initialize the subwindow, drag across the image with the mouse\n" )
|
||||
def __del__(self):
|
||||
opencv.setMouseCallback( "Video", None,None)
|
||||
|
||||
def on_mouse(self, event, x, y, flags, param):
|
||||
#print "caught mouse", event,x,y,flags,param
|
||||
if event == opencv.CV_EVENT_LBUTTONDOWN:
|
||||
self.drag_start = (x, y)
|
||||
if event == opencv.CV_EVENT_LBUTTONUP:
|
||||
self.drag_start = None
|
||||
if 0 not in self.selection:
|
||||
self.track_window = self.selection
|
||||
if self.drag_start:
|
||||
xmin = min(x, self.drag_start[0])
|
||||
ymin = min(y, self.drag_start[1])
|
||||
xmax = max(x, self.drag_start[0])
|
||||
ymax = max(y, self.drag_start[1])
|
||||
self.selection = (xmin, ymin, xmax - xmin, ymax - ymin)
|
||||
|
||||
def run(self):
|
||||
img = opencv.Mat()
|
||||
img_sub = opencv.Mat()
|
||||
while True:
|
||||
#grab a frame
|
||||
self.capture.read(img)
|
||||
#uses imshow
|
||||
opencv.imshow("Video",img)
|
||||
|
||||
if self.track_window:
|
||||
#show a sub region
|
||||
img_sub = img.roi(opencv.Rect(*self.track_window))
|
||||
opencv.imshow("Track Window",img_sub)
|
||||
|
||||
#wait for a key, returns an int
|
||||
key = opencv.waitKey(10)
|
||||
if key in ( 27, ord('q')):
|
||||
break
|
||||
|
||||
|
||||
|
||||
if __name__=="__main__":
|
||||
demo = SubwindowDemo()
|
||||
demo.run()
|
||||
opencv.setMouseCallback( "Video", None,None)
|
||||
Reference in New Issue
Block a user