在图像中设置原点,并使用matlab或其他软件输出另一点的坐标

在图像中设置原点,并使用matlab或其他软件输出另一点的坐标,matlab,Matlab,我试图找到一种简单的方法来计算图像中从一个点(设置在原点)到另一个点(任意设置)的距离(x,y坐标)。理想情况下,这将是matlab代码,允许在图像上单击两次以设置原点,然后设置第二个点,然后输出坐标。如何执行此操作?图像坐标系的原点位于图像左上角的点(1,1)(不是(0,0))处。无论如何,如果你把原点保持在这个点或任何其他点上,假设原点为P1(x1,y1),另一个点为P2(x2,y2)。否对于计算这些点之间的距离,可以使用不同的度量。三个著名的指标是: 三个著名的指标(用于计算两点之间的距离

我试图找到一种简单的方法来计算图像中从一个点(设置在原点)到另一个点(任意设置)的距离(x,y坐标)。理想情况下,这将是matlab代码,允许在图像上单击两次以设置原点,然后设置第二个点,然后输出坐标。如何执行此操作?

图像坐标系的原点位于图像左上角的点(1,1)(不是(0,0))处。无论如何,如果你把原点保持在这个点或任何其他点上,假设原点为P1(x1,y1),另一个点为P2(x2,y2)。否对于计算这些点之间的距离,可以使用不同的度量。三个著名的指标是: 三个著名的指标(用于计算两点之间的距离): 1-曼哈顿距离

d = abs(x1-x2) + abs(y1-y2)
d = sqrt((x1-x2)^2 + (y1-y2)^2)
2-欧氏距离

d = abs(x1-x2) + abs(y1-y2)
d = sqrt((x1-x2)^2 + (y1-y2)^2)
3-闵可夫斯基距离

d = (abs(x1-x2)^c + abs(y1-y2)^c)^(1/c)
有关度量的更多信息,请参见以下链接

在MATLAB中可以使用ginput函数,该函数提供了通过鼠标选择像素的可用性 因此,首先加载图像,然后选择点:

I = imread('c:\test.jpg');
imshow(I);
[X,Y] = ginput(2);
2是选择数据的次数(从图像中拾取像素),然后可以使用如下方式:

d = ((X(1) - X(2)) ^ 2 + (Y(1) - Y(2)) ^ 2) ^ 0.5;
您还可以使用任何其他指标