从Contour OpenCV中提取矩形

时间:2012-04-30 11:04:50

标签: c++ objective-c c opencv

在进行一些边缘和角点检测然后找到轮廓后,我有这个输出。

我如何裁剪此图片并使用openCV

仅返回此矩形

编辑:

我尝试了cvBoundingRect然后setimageROI,但输出图像仍然有一些背景,但我只想要矩形

谢谢。

Image Link

2 个答案:

答案 0 :(得分:6)

我希望你需要你选择的矩形区域。

为此你需要制作另一个灰度图像,我们称之为'mask'。然后绘制在其上获得的矩形轮廓并用白色填充(255,255,255)。您将获得这样的图像(所有图像在绘图程序中手动编辑):

enter image description here

现在只对这两个图像进行bitwise_and操作。你会得到这样的结果:

enter image description here

**注意:**现在如果它不是您想要的那个,而是您想要this kind of selection,您可以在this SOF question中找到有关它的信息(感谢karl philip的链接)。

答案 1 :(得分:1)

我想Mustafa想要自动获得这个盒子?如果没有,请接受阿比德的回答并忽略这一点。

否则:

由于我不知道它应该概括多远,对于这个特定的图像,进行霍夫变换,这会给你直线。然而,底部的线可能会变成误报。但是通过一些后期处理,例如模糊,扩张,你将能够摆脱它。或者您可以使用线条构建矩形的知识。