交互式选择矩形并获得opencv的角落

时间:2014-04-28 14:05:32

标签: python c++ opencv

我正在尝试实现抓取细分,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都很陌生。我在这里尝试,但你的帮助非常需要。提前谢谢。

0 个答案:

没有答案