gpt4 book ai didi

python - 将圆形图转换为水平图

转载 作者:行者123 更新时间:2023-12-02 17:34:28 25 4
gpt4 key购买 nike

我有一个带有圆形x轴和其中一些对象的图形。

  • 我想转换图形并使它的x轴水平。
  • 我想测量x轴上方每个对象的高度(像素距离)。

  • 我尝试使用numpy数组进行此操作,但仅能获得轴和对象之间的垂直像素差,而不是真正的最小像素差。我想我应该对所有圆形x轴点进行迭代并测量到一个对象的距离,但是我该怎么做呢?

    enter image description here

    编辑:
    这是原始图像

    enter image description here

    最佳答案

    我认为您的问题有几种潜在的解决方案。

    1-转换回笛卡尔图像

    这是一个简单的解决方案:将极坐标图像转换回笛卡尔坐标,并计算到两条水平线的距离。为此,您将需要两个圆的中心和半径,因为您已将它们绘制在图像上,所以我认为您已经有了。在这个SO问题中讨论了翘曲的技术解决方案:Reprojecting polar to cartesian grid

    2-直接几何计算

    这比第一点还要简单,如果您不需要进一步处理,则可以直接实现解决方案。

    同样,假设对于每个圆,您都知道圆心的位置(X,Y)以及半径R。如果图像中有坐标点(x,y),则可以计算到圆的距离中心使用简单的欧几里得距离计算:d = sqrt((Xx)** 2 +(Yy)** 2)。到圆的距离就是R-d。使用numpy在python中编写的代码,它会给出类似以下内容:

    def distToCircle(pt, center, R):
    d = np.linalg.norm(center-pt)
    return R-d

    关于python - 将圆形图转换为水平图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52715727/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com