Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 分析位图中的“;“集群”;C语言中的颜色#_C#_Image Processing_Bitmap - Fatal编程技术网

C# 分析位图中的“;“集群”;C语言中的颜色#

C# 分析位图中的“;“集群”;C语言中的颜色#,c#,image-processing,bitmap,C#,Image Processing,Bitmap,我有一个程序可以输出一个图像(位图),比如下面的一个,有一些“填充”的圆(左),一些“未填充”的圆有“翅膀”(右下),还有一些“不完整和未填充”的圆有“翅膀”(右上) 这些圆圈大小不一(尽管相似),可能有任意数量的翅膀我想做的是确定有多少个圆。因此,对于示例图像,我需要让程序计算11个圆(翅膀的数量无关)。我知道所有黑点的坐标(不要与黑圆混淆,因为一个圆包含许多黑点)。我不知道的是如何告诉计算机把“紧密”的一个圈放在一起 几个注意事项:如前所述,圆圈的大小非常相似,但不相同,因此我不能使用直径。

我有一个程序可以输出一个图像(位图),比如下面的一个,有一些“填充”的圆(左),一些“未填充”的圆有“翅膀”(右下),还有一些“不完整和未填充”的圆有“翅膀”(右上)

这些圆圈大小不一(尽管相似),可能有任意数量的翅膀我想做的是确定有多少个圆。因此,对于示例图像,我需要让程序计算11个圆(翅膀的数量无关)。我知道所有黑点的坐标(不要与黑圆混淆,因为一个圆包含许多黑点)。我不知道的是如何告诉计算机把“紧密”的一个圈放在一起

几个注意事项:如前所述,圆圈的大小非常相似,但不相同,因此我不能使用直径。此外,正如您所看到的,一些圆可能不完整,因此这可能是一个问题。图像总是黑白的,最后,圆圈之间总是有空白(我不确定这两件事是否可以简化过程)

我见过一些蛮力方法,通过位图循环,比较点(x,y)的5个空间内有多少黑点,但这需要太长的时间,并且不总是正确输出

有什么简单的方法可以做到这一点吗

提前感谢


我不确定如何处理不完整的圆,但我确实看到了一种减小问题规模的方法

完整的圆应该很容易识别,方法是取每个点簇,从簇的中心开始,先向左走,然后向右走,直到到达边缘或机翼。应通过检查两个方向上的几个点是否有空位来检测机翼

到达边缘后,检查相邻点,如有必要,沿着边缘查找该侧的垂直切线。然后,可以使用两个相对的切点定义一个圆,并检查群集中的点是否匹配

识别后,从位图中删除该点簇,增加计数,然后继续。删除所有易于识别的簇后,裁剪位图,使搜索空间更小