在图像emgucv中找到区域

问题描述 投票:-4回答:2

example image

after image

如何在图像中找到矩形区域?

它可能不完全是。

我试图使用“CvInvoke.findContours”,但我失败了,因为不知道如何使用。

请告诉我该怎么办

我需要返回区域矩形的函数,或者一些提示请...

对不起,谢谢。

c# opencv emgucv
2个回答
0
投票

您需要创建一个图像,其中所需的区域会突出显示,而您不想要的区域则为黑色。为此,我会做一个自适应阈值(您需要将图像转换为黑白,然后使用反转阈值选项突出显示非白色区域)。

然后我会使用形态学(膨胀然后侵蚀,或'关闭')去除噪音。图像现在应该在您感兴趣的区域上有白色斑点,而在其他地方则是黑色。最后的步骤将是找到轮廓,然后循环每个轮廓并找到它们的边界框。

您需要阅读每个主题,但这种方法应该适合您想要的。 Opencv的文档并不是很好,而且EmGU的绑定又增加了一层混乱,但请耐心等待,你就会明白它。

自适应阈值:https://docs.opencv.org/3.3.1/d7/d4d/tutorial_py_thresholding.html

形态学:https://docs.opencv.org/2.4/doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.html

找到轮廓:https://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=findcontours#findcontours

边界矩形:https://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=boundingrect#boundingrect


0
投票

这是包含使用emgu的shape detection的链接。

© www.soinside.com 2019 - 2024. All rights reserved.