在MATLAB中比较2个图像之间的交叉点

时间:2009-10-29 05:47:17

标签: matlab image-processing computer-vision distance angle

我拍摄了两张带有交叉点的图像,现在我正在尝试比较这两张图像并找出移动的距离和角度。如何使用MATLAB执行此操作?非常感谢你!

Pic3 Pic2

3 个答案:

答案 0 :(得分:1)

对齐同一场景的两张图像为called image registration。如果您有权访问图像处理工具箱,则可以找到functionshelp you的数量。

看看这些image registration demos

答案 1 :(得分:0)

如果图像被旋转,则互相关(维基百科称之为Phase correlation)将不起作用。但是,无论旋转,缩放,剪切和平移如何,都会有related method based on log-polar coordinates

如果您必须匹配任意图像,此方法最佳。使用其他方法可以更好地匹配已知形状或暗线。

答案 2 :(得分:0)

如果这些黑线总是在图像中,并且它们非常接近直线(不会被扭曲成曲线),那么更好的方法是使用Hough transformRadon transform(类型的不同的思考做同样事情的方法)找到两条黑线,然后比较它们的位置。

首先反转图像,使线条变为亮白色(大值),然后进行霍夫变换。每个图像的输出将是两个亮白点,您可以从中进行峰值检测。每个峰的坐标告诉您线的角度和偏移。

我还没有在MATLAB中做过这个,但我看到了很多例子和文档: