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

时间:2013-04-08 10:35:57

标签: opencv

我目前正在尝试检测图像中的方框然后我想裁剪检测到的框以在我的项目中使用它...但是,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/

1 个答案:

答案 0 :(得分:1)

只需忽略最大的正方形

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

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

}

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

您可以look at this post检查如何识别图片中找到的最大正方形

之后,您可能希望check this post 从正方形矢量中提取图像区域。

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