Processor

【OpenCV】 마우스 콜백(Mouse Callback)

작성자 임베디드코리아 작성일26-04-16 22:46 조회106회 댓글0건
< *  마우스 콜백(Mouse Callback)  * >

◆ 콜백(Callback) 함수는 매개 변수를 통해 다른 함수를 전달 받고,
    이벤트가 발생할 때 매개 변수에 전달된 함수를 호출하는 역할을 한다.
  -- 특정한 이벤트가 발생하면 다른 함수를 실행하는 함수입니다.
◆ 마우스 콜백은 윈도우에 마우스 이벤트가 발생했을 때, 특정한 함수에 이벤트를 전달해 실행한다.



----< 예제 :  Mouse_Callback.py  >-------------------------------------------------------------------
import cv2
import numpy as np

def mouse_event(event, x, y, flags, param):
    global radius
   
    if event == cv2.EVENT_FLAG_LBUTTON:   
        cv2.circle(param, (x, y), radius, (255, 0, 0), 2)
        cv2.imshow("draw", src)

    elif event == cv2.EVENT_MOUSEWHEEL:
        if flags > 0:
            radius += 1
        elif radius > 1:
            radius -= 1

radius = 3
src = np.full((500, 500, 3), 255, dtype=np.uint8)

cv2.imshow("draw", src)
cv2.setMouseCallback("draw", mouse_event, src)
cv2.waitKey()
--------------------------------------------------------------------------------------------------------