라벨이 mouse position인 게시물 표시

[Python] OpenCv를 이용하여 마우스 위치 가져오기

이미지
이 얼마만에 쓰는 파이썬 관련 글이란 말인가 ㅠㅠ 영상처리에서 마우스 만큼 또 많이 쓰는 게 없으니 오늘은 마우스 포인터 위치 받아오는 함수를 만들어보도록 하자 구글링 해보면 나오지만 마우스 포인터 위치를 받아오는 방법은 1. pynput 모듈을 이용하는 방법 2. OpenCV를 이용하는 방법 3. PyQt를 이용하는 방법 크게 3가지 경우가 많이 쓰이는 것 같다. 여기선 2번 OpenCV를 이용해서 해보도록 하자 왜냐면 이미 깔려있는데다가 다른 것 깔기 귀찮음으로 ㅎㅎ OpenCV를 이용하려면 마우스 콜백함수를 이용하여 위치를 받아오면 된다. 일단 코드 부터 보도록 하자 import cv2 as cv # OpenCV import import numpy as np # 행렬(img)를 만들기 위한 np import # 마우스 이벤트 콜백함수 정의 def mouse_callback ( event , x , y , flags , param ): print ( "마우스 이벤트 발생, x:" , x , " y:" , y) # 이벤트 발생한 마우스 위치 출력 img = np.zeros(( 256 , 256 , 3 ) , np.uint8) # 행렬 생성, (가로, 세로, 채널(rgb)),bit) cv.namedWindow( 'image' ) #마우스 이벤트 영역 윈도우 생성 cv.setMouseCallback( 'image' , mouse_callback) while ( True ): cv.imshow( 'image' , img) k = cv.waitKey( 1 ) & 0xFF if k == 27 : # ESC 키 눌러졌을 경우 종료 print ( "ESC 키 눌러짐" ) break cv.destroyAllWindows()   해당