我正在尝试实现抓取细分,opencv中的函数和here的实现。
在代码中。与此处显示的相同
import numpy as np
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('messi5.jpg')
mask = np.zeros(img.shape[:2],np.uint8)
bgdModel = np.zeros((1,65),np.float64)
fgdModel = np.zeros((1,65),np.float64)
rect = (50,50,450,290)
cv2.grabCut(img,mask,rect,bgdModel,fgdModel,5,cv2.GC_INIT_WITH_RECT)
mask2 = np.where((mask==2)|(mask==0),0,1).astype('uint8')
img = img*mask2[:,:,np.newaxis]
plt.imshow(img),plt.colorbar(),plt.show()
但是,正如您在代码中看到的那样,矩形坐标是硬编码的。我想以交互方式选择一个矩形,通过显示输入图像并使用该矩形的角落进行进一步处理。我对python和opencv都很陌生。我在这里尝试,但你的帮助非常需要。提前谢谢。