【问题标题】:Getting the data in the area between two concentric circles in a picture获取图片中两个同心圆之间区域的数据
【发布时间】:2019-03-18 22:58:52
【问题描述】:

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

代码如下:

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

pixels=list(img2.getdata())

以像素为单位的像素:

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

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

enter image description here

【问题讨论】:

    标签: python image-processing


    【解决方案1】:

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

    如果您不知道圆圈在哪里,请应用寻找圆圈的技巧。例如霍夫变换。

    【讨论】:

      【解决方案2】:

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

      当您记录一系列白色然后黑色然后白色的像素时,您知道您找到了一个圆的边缘。从右到左扫描同一行会让你找出圆圈的另一侧。然后你可以根据直径计算出那个圆的方程。

      如果您在向中心移动时不断记录每个圆圈,您会发现每个圆圈的方程式。那么当你找到红色像素点时,你可以通过红色像素点的(x,y)坐标和圆的方程来确定它们属于哪个区域。

      【讨论】:

        猜你喜欢
        • 2019-05-25
        • 1970-01-01
        • 2012-03-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-17
        相关资源
        最近更新 更多