Opencv正方形检测样本检测窗口内衬,当我使用imageroi时,它会裁剪整个图像



我目前正在尝试检测图像中的框,然后我要裁剪检测到的框,以便在我的项目中使用它…但是,opencv的正方形检测样本也可以检测图像的衬里。那么,问题是我如何才能只检测图像中的盒子??我正在使用opencv244, c++…顺便说一下,我在这里搜索过这个话题,但是我找不到任何想法……任何帮助将不胜感激,谢谢!这是我的图片链接…

  1. 原始图像:http://www.flickr.com/photos/94841531@N08/8631367890/in/photostream/lightbox/
  2. 检测到的盒子:http://www.flickr.com/photos/94841531@N08/8631368138/in/photostream/lightbox/

忽略最大的平方

在**squares.cpp*中有这样一个函数:

static void findSquares( const Mat& image, vector<vector<Point> >& squares )
{
}

接收一个Mat和一个vector<vector<Point> >。因此,在调用此函数之后,在原始image中尚未绘制绿色矩形,您可以迭代squares过滤出输入图像中找到的最大矩形。

你可以看看这篇文章,看看如何识别图像中最大的正方形。

之后,你可能想检查这篇文章从正方形向量中提取图像的一个区域。

记住,是drawSquares()在图像上绘制绿色的东西。

最新更新