Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 一种测量图像像素间欧氏距离的算法_Image Processing_Photography - Fatal编程技术网

Image processing 一种测量图像像素间欧氏距离的算法

Image processing 一种测量图像像素间欧氏距离的算法,image-processing,photography,Image Processing,Photography,我有很多图像,我知道焦距、像素数、尺寸和位置(来自GPS)。这些照片都是用商用摄像机在地面拍摄的高角度照片 计算图像中某些像素之间欧几里德距离的最佳方法是什么?如果确实可能的话 假设你不是在寻找完整的景观模型,而是一个简单的近似值,那么这应该不会太难。基本上,图像的第一个近似值可以简化为一个具有已知焦距的相机沿平面观看。因此,我们可以很容易地在3D中创建一个系统模型——它离观看棋盘演示的经典观测者不远 通常,我们的图形问题是将3D模型投影到2D,这样我们就可以渲染图像。尽管现在大多数程序都使用

我有很多图像,我知道焦距、像素数、尺寸和位置(来自GPS)。这些照片都是用商用摄像机在地面拍摄的高角度照片


计算图像中某些像素之间欧几里德距离的最佳方法是什么?如果确实可能的话

假设你不是在寻找完整的景观模型,而是一个简单的近似值,那么这应该不会太难。基本上,图像的第一个近似值可以简化为一个具有已知焦距的相机沿平面观看。因此,我们可以很容易地在3D中创建一个系统模型——它离观看棋盘演示的经典观测者不远

通常,我们的图形问题是将3D模型投影到2D,这样我们就可以渲染图像。尽管现在大多数程序都使用API(如OpenGL)来实现这一点,但方程式并不特别复杂或难以理解。我使用示例编写了我的第一个代码,这是一篇非常清晰的论文,但是会有很多其他类似的源代码(尽管现在可能很少使用硬件API)

这一点很有用,因为投影方程是可交换的,如果你在图像和模型上有一个点,你可以通过投影运行数据来检索原始的3D坐标,这就是你想要做的

因此,有两种方法建议:要么自己编写代码,直接完成上述工作,要么更简单地使用OpenGL(我建议使用OpenGL)。如果你的数学很好,并且操纵矩阵不会引起任何问题,那么我建议使用前者,因为解决方案会更紧凑,而且很有趣——否则就采用OpenGL方法。您可能也希望尽早将摄影机/平面近似转换为摄影机/球体


如果这还不足以满足您的需求,那么从理论上讲,进行实际的景观建模是可行的。数据是免费提供的(尽管不是最友好的形式),因此结合您的GPS位置,应该可以创建一个网格模型,在其中应用与上述相同的算法

如果你想要照片中两点之间的真实距离,我相信你还需要相机的高度。但是如果你想要湖的宽度,而不是一个小“海湾”的宽度,会发生什么呢?