8

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

我如何使用openCV裁剪这个图像并只返回这个矩形

编辑:

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

谢谢你。

图片链接

4

2 回答 2

6

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

为此,您需要制作另一个灰度图像,我们称之为“蒙版”。然后画出上面得到的矩形轮廓,用白色(255,255,255)填充。您将获得这样的图像(所有图像在绘图程序中手工编辑):

在此处输入图像描述

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

在此处输入图像描述

**注意:**现在,如果它不是您想要的,而是您想要这种选择,您可以在这个 SOF 问题中找到有关它的信息(感谢 karl philip 提供的链接)。

于 2012-04-30T12:55:18.673 回答
1

我猜穆斯塔法想自动拿到盒子?如果不是,请接受 Abid 的回答并忽略此问题。

否则:

因为我不知道它应该推广到什么程度,对于这个特定的图像,做霍夫变换,它会给你直线。然而,底部的线可能会变成误报。但是通过一些后期处理,例如模糊、扩张,您将能够摆脱它。或者您可以使用线条构建矩形的知识。

于 2012-04-30T13:44:09.047 回答