2024-05-16 03:14:36 发布
网友
我有一个带有圆形x轴的图形,里面有一些对象。你知道吗
我尝试了numpy阵列,但只能得到轴和对象之间的垂直像素差,而不是真正的最小像素差。我想我应该对所有的圆x轴点进行迭代,然后测量到一个物体的距离,但是我该怎么做呢?你知道吗
编辑: 这是原始图像
我认为你的问题有几种可能的解决办法。你知道吗
1-转换回笛卡尔图像
这是一个简单的解决方案:将极坐标图像转换回笛卡尔坐标,然后计算到两条水平线的距离。为此,你需要两个圆的圆心和半径,我假设你已经把它们画在图像上了。翘曲的技术解决方案在这个问题中讨论:Reprojecting polar to cartesian grid
2-直接几何计算
这比第一点更简单,如果不需要进一步处理,可以直接实现解决方案。你知道吗
同样,假设你知道每个圆的中心位置(X,Y)以及半径R。如果你在图像中有一个坐标点(X,Y),你可以使用一个简单的欧几里德距离计算来计算到圆心的距离:d=sqrt((X-X)**2+(Y-Y)**2)。到圆的距离就是R-d。用python编写,使用numpy,可以得到如下结果:
def distToCircle(pt, center, R): d = np.linalg.norm(center-pt) return R-d
我认为你的问题有几种可能的解决办法。你知道吗
1-转换回笛卡尔图像
这是一个简单的解决方案:将极坐标图像转换回笛卡尔坐标,然后计算到两条水平线的距离。为此,你需要两个圆的圆心和半径,我假设你已经把它们画在图像上了。翘曲的技术解决方案在这个问题中讨论:Reprojecting polar to cartesian grid
2-直接几何计算
这比第一点更简单,如果不需要进一步处理,可以直接实现解决方案。你知道吗
同样,假设你知道每个圆的中心位置(X,Y)以及半径R。如果你在图像中有一个坐标点(X,Y),你可以使用一个简单的欧几里德距离计算来计算到圆心的距离:d=sqrt((X-X)**2+(Y-Y)**2)。到圆的距离就是R-d。用python编写,使用numpy,可以得到如下结果:
相关问题 更多 >
编程相关推荐