图像翻转函数为flip(src, flipCode, dst=
None)
flipCode:
翻转模式,flipCode==0垂直翻转(沿X轴翻转),flipCode>0水平翻转(沿Y轴翻转),flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)
鼠标操作的函数为
setMouseCallback(windowName, onMouse, param=None)
windowName :是要绑定的窗口名称
onMouse: 点击鼠标执行的函数
param:鼠标回调事件,默认情况下为0
OpenCV不提供任何处理窗口事件的方法。例如,当单机窗口的关闭按钮时,只是关闭窗口,并不能关闭应用程序,不过可以通过设置全局变量,影响条件来关闭程序
在摄像头上应用:
import cv2 as cv clicked = False def onMouse(event, x, y, flags, param): global clicked if event == cv.EVENT_LBUTTONUP: clicked = True cap = cv.VideoCapture(0) cv.namedWindow('mywindow') cv.setMouseCallback('mywindow', onMouse) print('show camera feed. click window or press any key to stop') success, frame = cap.read() frame = cv.flip(frame, -1) while success and cv.waitKey(1) == -1 and not clicked: cv.imshow('mywindow', frame) success, frame = cap.read() frame = cv.flip(frame, 1) cv.destroyAllWindows() cap.release()