opencv鼠标控制
import cv2
import numpy as np
def mouse_callback(event,x,y,flags,userdata):
"""
:param event: 鼠标移动,左键,右键等
可选:EVENT_MOUSEMOVE:0
EVENT_LBUTTONDOWN:1
EVENT_RBUTTONDOWN:2
EVENT_MBUTTONDOWN:3
EVENT_LBUTTONUP:4
EVENT_RBUTTONUP:5
EVENT_MBUTTONUP:6
EVENT_LBUTTONDBLCLK:7
EVENT_RBUTTONDBLCLK:8
EVENT_MBUTTONDBLCLK:9
EVENT_MOUSEWHLLE:10
:param x、y: 鼠标所在坐标点
:param flags: 用于组合键
可选:
EVENT_FLAG_LBUTTON
EVENT_FLAG_RBUTTON
EVENT_FLAG_MBUTTON
EVENT_FLAG_CTRLKEY
EVENT_FLAG_SHIFTKEY
EVENT_FLAG_ALTKEY
:param userdata:
:return:
"""
print(event, x, y, flags, userdata)
cv2.namedWindow("mouse",cv2.WINDOW_NORMAL)
cv2.resizeWindow("mouse",640,480)
img = np.zeros((480,640),np.uint8)
cv2.setMouseCallback("mouse",mouse_callback,"123")
while True:
cv2.imshow("mouse",img)
key = cv2.waitKey(2)
if key == ord("q"):
break
cv2.destroyAllWindows()
0 6 302 0 123
0 22 296 0 123
0 41 287 0 123
trackbar
import cv2
import numpy as np
cv2.namedWindow("trackbar",cv2.WINDOW_NORMAL)
cv2.resizeWindow("trackbar",(640,480))
def callback(value):
print(value)
cv2.createTrackbar("R","trackbar",0,255,callback)
cv2.createTrackbar("G","trackbar",0,255,callback)
cv2.createTrackbar("B","trackbar",0,255,callback)
img = np.zeros((480,640,3),np.uint8)
while True:
r = cv2.getTrackbarPos("R","trackbar")
g = cv2.getTrackbarPos("G","trackbar")
b = cv2.getTrackbarPos("B","trackbar")
img[:] = b,g,r
cv2.imshow("trackbar",img)
key = cv2.waitKey(1)
if key & 0xFF == 113:
break
cv2.destroyAllWindows()