我有很多龙虾图像(背景相同)。
我的目标是测量每只龙虾的大小。
为此,我使用Grabcut从背景中提取主要对象(龙虾)。但是,在此步骤之后,我不知道如何找到提取对象的坐标以进行裁剪。我需要裁剪对象以支持尺寸测量。
我不知道是否:
如果我们没有上述任何一种,如果你告诉我其他方法从Grabcut输出做对象裁剪,我会很感激。
这是原始图片
这是Grabcut之后的输出图像
输出图像的大小仍与原始图像相同。
我需要将提取的对象保存到适合对象大小的新图像。
答案 0 :(得分:0)
你需要一些来自OpenCV Library的名为min Bounding Rectangle的东西。它形成一个最小的矩形,并给出矩形的坐标。
Bounding Rect:它给出了未旋转的矩形(绿色矩形)
x,y,w,h = cv2.boundingRect(cnt)
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
旋转边界矩形:它给出旋转的边界矩形(红色矩形)
rect = cv2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)
cv2.drawContours(img,[box],0,(0,0,255),2)
在此之后,您可以获取坐标并使用龙虾提取矩形。