已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
2天前关闭。
Improve this question
我想找到一个鼠标点击图像的4个坐标。然后我想在设定的坐标处遮罩这个图像,并找到这个遮罩图像的中心。
用鼠标左键点击我得到的坐标,但我似乎不能找到一个很好的解决办法,其余的。
import cv2
import numpy as np
#Mouse_click_events anzeigen
events = [i for i in dir(cv2) if 'EVENT' in i]
print(events)
#Variable zum speichern der Coordinaten
refPt = []
counter = 0
#click event function
def click_event(event, x, y, flags, param):
if event == cv2.EVENT_LBUTTONDOWN:
print(x,",",y)
refPt.append([x,y])
font = cv2.FONT_HERSHEY_SIMPLEX
strXY = str(x)+", "+str(y)
cv2.putText(img, strXY, (x,y), font, 0.5, (255,255,0), 2)
cv2.imshow("image", img)
counter +=1
if event == cv2.EVENT_RBUTTONDOWN:
blue = img[y, x, 0]
green = img[y, x, 1]
red = img[y, x, 2]
font = cv2.FONT_HERSHEY_SIMPLEX
strBGR = str(blue)+", "+str(green)+","+str(red)
cv2.putText(img, strBGR, (x,y), font, 0.5, (0,255,255), 2)
cv2.imshow("image", img)
img = cv2.imread("C:/Users/FK8ROME/Desktop/Defrost/Scripts/images/example.jpg")
cv2.imshow("image", img)
cv2.setMouseCallback("image", click_event)
cv2.waitKey(0)
cv2.destroyAllWindows()
1条答案
按热度按时间hk8txs481#
您可以使用我在下面编写的mask_area函数。
下面是完整的代码: