マウスイベント
2015/8/10
Python2.7.6, OpenCV3.0
import cv2
import sys
img=cv2.imread('test.png')
windowName="mouse"
cv2.namedWindow(windowName)
def onMouse(event, x, y, flags, param):
print(x,y)
if event == cv2.EVENT_LBUTTONDOWN:
center=(x,y)
radius=10
color=(255,255,0)
cv2.circle(img,center,radius,color)
cv2.imshow(windowName,img)
cv2.setMouseCallback(windowName,onMouse)
cv2.imshow(windowName,img)
cv2.waitKey(0)
cv2.destroyAllWindows()
event
- CV_EVENT_MOUSEMOVE マウスが移動した
- CV_EVENT_LBUTTONDOWN 左ボタンが押された
- CV_EVENT_RBUTTONDOWN 右ボタンが押された
- CV_EVENT_MBUTTONDOWN 中ボタンが押された
- CV_EVENT_LBUTTONUP 左ボタンが離された
- CV_EVENT_RBUTTONUP 右ボタンが離された
- CV_EVENT_MBUTTONUP 中ボタンが離された
- CV_EVENT_LBUTTONDBLCLK 左ボタンがダブルクリックされた
- CV_EVENT_RBUTTONDBLCLK 右ボタンがダブルクリックされた
- CV_EVENT_MBUTTONDBLCLK 中ボタンがダブルクリックされた
flags
- CV_EVENT_FLAG_LBUTTON 左ボタンが押されている
- CV_EVENT_FLAG_RBUTTON 右ボタンが押されている
- CV_EVENT_FLAG_MBUTTON 中ボタンが押されている
- CV_EVENT_FLAG_CTRLKEY Ctrl キーが押されている
- CV_EVENT_FLAG_SHIFTKEY Shift キーが押されている
- CV_EVENT_FLAG_ALTKEY Alt キーが押されている
OpenCVで遊ぼう!: python-opencv tutorial(5)
http://playwithopencv.blogspot.jp/2012/07/python-opencv-tutorial5.html
ユーザインタフェース >> opencv 2.2 documentation
http://opencv.jp/opencv-2svn/py/highgui_user_interface.html#setmousecallback
Mouse as a Paint-Brush http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_gui/py_mouse_handling/py_mouse_handling.html