图像处理-形状识别

发布于 2024-08-21 13:12:52 字数 59 浏览 4 评论 0原文

我想要识别图片中多个形状(特别是矩形和正方形)的算法。我最好使用 C#,所以我期待 C# 中的解决方案。

I want algorithm for recognizing multiple no of shapes(Specially rectangle and squares) in a picture.Preferably I am using C# so, I am looking forward for solutions in C#.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

彼岸花ソ最美的依靠 2024-08-28 13:12:52

如果您正在寻找一个可以为您进行大量图像处理的库,OpenCV 总是有的。我认为它是c++。

If you are looking for a library that does a lot of image processing for you there is always OpenCV. I think it is is c++ though.

爱她像谁 2024-08-28 13:12:52

您可以使用圆度算法作为第一种方法,该方法非常容易计算:

C = p2/a,其中 p 是周长(边界区域),a 是形状区域。

要了解如何快速读取/写入像素,请查看 此处

或者查找 Rafael Gonzales 书中提供的形状签名算法。在此算法中,您使用中心动量计算对象的中心,然后计算中心与每个边界像素之间的距离。您最终会得到一维信号,其中峰值代表距中心的距离更大。在正方形中,有 4 个对称峰,而在矩形中,有 2 个大峰和 2 个小峰。

You can use the Circularity algorithm as a first approach, which is very easy to compute:

C = p2/a where p is the perimeter (border area) and a is shape area.

To know how to read/write pixels quickly, take a look here

Alternatively look for shape signature algorithm available at Rafael Gonzales book. In this algorithm you compute the center of the object using central momentum, the you compute the distance between the center and each border pixel. You'll end up with a 1D signal where peaks represent bigger distance from the center. In a square, you have 4 symmetric peaks while in a rectangle 2 big peaks and 2 smaller ones.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文