OpenCV Python 마우스 이벤트 예제OpenCV/OpenCV 강좌2024. 5. 18. 22:20
Table of Contents
반응형
OpenCV Python 마우스 이벤트 예제입니다.
최초작성 2024. 5. 16
마우스 커서를 움직여서 왼쪽 마우스 버튼을 누르면 해당 위치에 초록색점이 찍히고 터미널에 좌표가 출력됩니다.
터미널에 초록색 점에 해당되는 좌표가 출력됩니다.
(x,y)=(167, 132)
(x,y)=(352, 283)
전체 소스코드입니다.
import cv2 import numpy as np import queue def mouse_callback(event, x, y, flags, param): # 마우스 왼쪽 버튼 클릭시만 감지합니다. if event == cv2.EVENT_LBUTTONDOWN: print(f'(x,y)=({x}, {y})') # 마우스 커서 좌표를 큐에 삽입합니다. q.put((x, y)) # 큐를 생성합니다. q = queue.Queue() # 윈도우를 생성하고 마우스 콜백함수를 연결합니다. cv2.namedWindow('result') cv2.setMouseCallback('result', mouse_callback) # 빈 넘파이 배열을 생성합니다. img = np.zeros((512,512,3), np.uint8) # 코드 가독성을 위해 초록색과 ESC 키를 상수로 저장합니다. green_color = (0, 255, 0) esc_key = 27 # 무한히 반복해야 합니다. while(True): # 큐에 값이 있다면 if not q.empty(): # 큐에서 좌표를 꺼내서 pos = q.get() # 초록색 원을 그려줍니다. cv2.circle(img, pos, 10, green_color, -1) # 이미지를 다시 출력합니다. cv2.imshow('result', img) # ESC 키누르면 종료합니다. if cv2.waitKey(1) & 0xFF == esc_key: break # 윈도우 자원을 해제합니다. cv2.destroyAllWindows() |
반응형
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
OpenCV에서 CUDA 사용해보기 (0) | 2024.06.29 |
---|---|
OpenCV Python Tracking 예제 (6) | 2024.05.24 |
두 점 사이의 각도를 구하는 OpenCV Python 예제 코드 (1) | 2024.04.25 |
OpenCV - 이미지 파일을 mp4 동영상 파일로 변환하는 파이썬 코드 (0) | 2024.04.20 |
OpenCV Python - 동영상 파일을 일련번호 붙은 이미지 파일로 저장하기 (0) | 2024.04.20 |