鼠標交互切割矩形
接下來,就是本文重點了。先吐個槽,網上有資源,但搜到的都是C++的。本來有點氣餒的,還好,有官網在,文檔寫得很清楚,而且接口函數名字變化不大,稍微做下修改就行了。
import cv2global img
global point1, point2
def on_mouse(event, x, y, flags, param):global img, point1, point2img2 = img.copy()if event == cv2.EVENT_LBUTTONDOWN: #左鍵點擊point1 = (x,y)cv2.circle(img2, point1, 10, (0,255,0), 5)cv2.imshow('image', img2)elif event == cv2.EVENT_MOUSEMOVE and (flags & cv2.EVENT_FLAG_LBUTTON): #按住左鍵拖曳cv2.rectangle(img2, point1, (x,y), (255,0,0), 5)cv2.imshow('image', img2)elif event == cv2.EVENT_LBUTTONUP: #左鍵釋放point2 = (x,y)cv2.rectangle(img2, point1, point2, (0,0,255), 5) cv2.imshow('image', img2)min_x = min(point1[0],point2[0]) min_y