1

我有一张具有纯色背景和三种对象的图像。这三个物体具有不同的(但大小略有不同)和不同的颜色。

例如,如果有一个 40-60 像素组是黑色的,那么分组将被放入组 A,如果有一个 40-60 像素组是白色的,那么分组将被放入组 B,如果有是一个 90-110 像素组,颜色为黑色,分组将被放入组 C。然后算法需要计算每个组中的对象数量。

我将如何创建一个算法来做到这一点(最好使用 python)?

提前致谢。

4

2 回答 2

2

你的问题的答案是Canny edge detector

你可以在这里找到它的 python 实现。

祝你好运!

于 2013-07-07T12:58:27.280 回答
0

一种可行的方法是首先根据颜色对图像进行二值化。例如,在您的情况下,要检测对象 A,您需要制作所有非黑白色的像素。然后你得到一个只有两种颜色(黑色和白色)的图像。您可以使用连通分量检测来查找所有黑色像素组。如果一个组中的像素数大于 40,你可以认为它是一个对象 A。你想看看我的 matlab 代码Detect-Gray-Square

于 2013-08-10T20:13:40.613 回答