获取图片中两个同心圆之间的区域中的数据

时间:2019-03-18 10:05:44

标签: python image-processing

我正在尝试计算两个同心圆之间区域中的所有红点。查找红点很容易,我只是使用for循环搜索所有红色,但是问题是要在轮廓内找到该点,尤其是当我尝试遍历圆之间的所有区域时。

代码如下:

img2 = Image.open(“ C:\ Python27 \ Image.png”)

pixels = list(img2.getdata())

以像素为单位:

如果pixel ==(255,0,0):打印像素

下面您可以看到我正在尝试使用算法的示例图片。

enter image description here

2 个答案:

答案 0 :(得分:1)

如果您知道圆的中心在哪里,您只需计算红点和中心之间的距离。这会告诉您圆点所在的圆圈。

如果您不知道圈子在哪里,可以应用寻找圈子的技术。例如霍夫变换。

答案 1 :(得分:0)

如果您从左到右开始扫描图像边缘中间的一行像素,则可以确定像素何时为黑色。

当您记录一系列白色,黑色然后是白色像素时,您知道已经找到了圆的边缘。从右到左扫描同一行将使您找出圆的另一侧。然后,您可以根据直径计算该圆的方程。

如果继续向中心移动时记录每个圆,则将找到每个圆的等式。然后,当您找到红色像素时,可以通过使用红色像素的(x,y)坐标和圆的方程式来确定它们属于哪个区域。