如何将矩形移动到鼠标光标周围

时间:2018-11-03 23:54:32

标签: python opencv

我正在构建将加载图像的gui,鼠标指针应该具有一个矩形,当我单击任意位置时,它应该裁剪矩形内部的区域。 每个图片上都有15个以上的兴趣区域。

1 个答案:

答案 0 :(得分:1)

我不确定这是否是您想要的,请告诉我。在这种情况下,“ messi.jpg”是测试图像。 (ESC退出):

import cv2
import numpy as np 

img = cv2.imread("messi.jpg")
img2 = img.copy()
img3 = img2.copy()  

def tactil_sec(event,x,y,flags,param):
    global img2,img3
    if event == cv2.EVENT_MOUSEMOVE:
        img3 = img2.copy()      
        cv2.rectangle(img3,(x-30,y-30),(x+30,y+30),(255,0,0),2)

    if event == cv2.EVENT_LBUTTONDOWN : 
        cv2.rectangle(img3,(x-30,y-30),(x+30,y+30),(0,0,255),2)
        img2 = img3.copy()      

cv2.namedWindow('IMAGE',cv2.WINDOW_NORMAL)
cv2.setMouseCallback('IMAGE',tactil_sec)    
while 1:
    cv2.imshow("IMAGE",img3)
    if cv2.waitKey(20)== 27:
        break

cv2.destroyAllWindows()