Я нашел код в сети и немного его изменил. Я делаю навигационный проект и хочу, чтобы пользователь вводил начальную и конечную точку, нажимая на изображение карты. Вот что у меня есть:
import cv2 as cv2
def draw_circle(event,x,y,flags,param):
global mouseX,mouseY
if event == cv2.EVENT_LBUTTONDBLCLK:
cv2.circle(img,(x,y),2,(0,0,0),-1)
mouseX,mouseY = x,y
img = cv2.imread("1.png")
img = cv2.resize(g1,(800,600))
cv2.namedWindow('image')
cv2.setMouseCallback('image',draw_circle)
cv2.imshow('image',img)
Обычно нам нужно cv2.waitKey()
для показа этого изображения, но в этом случае я действительно не знаю, что делать дальше.
Я хочу показать этот вид карты, и когда пользователь дважды щелкнет по нему, он покажет черную точку (это реализовано). После того, как пользователь введет две точки, изображение закроется, и функция вернет два набора пиксельных координат, указывающих, где пользователь щелкнул.
Я видел, как люди ставили cv2.imshow()
и cv2.waitKey()
через некоторое время l oop, это покажет изображение, и функция щелчка также работает нормально. Но я не знаю, как вернуть координату пикселя таким образом.