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 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!