主要内容

cpcorr

使用相互关联调整控制点位置

描述

例子

徒步投影= cpcorr (movingPoints定点移动固定调整移动控制点的位置,movingPoints,相对于固定控制点,定点,使用运动图像之间的归一化互相关移动和固定图像固定.的cpcorr函数返回调整后的移动控制点徒步投影

例子

全部折叠

将两个图像读取到工作区中。

移动= imread (“onion.png”);固定= imread(“peppers.png”);

定义两个图像的控制点集。

移动点= [118 42; 99 87];固定点= [190 114; 171 165];

显示图像,并在白色显示控制点。

图;imshow(固定)情节(定点(:1)定点(:,2),“xw”)标题(“固定”

图中包含一个轴。标题固定的轴包含图像、线两个对象。

图;imshow(移动)情节(movingPoints (: 1) movingPoints (:, 2),“xw”)标题(“移动”

图中包含一个轴。带有标题移动的轴包含2个图像类型图像,线路。

观察移动点位置的轻微误差。

使用互相关调整移动控制点。

vishpointsadjusted = cpcorr(移动点,固定点,...(:,: 1)移动,固定(:,:1))
movingPointsAdjusted =2×2115.9000 39.1000 97.0000 89.9000

用黄色显示调整后的移动点。与原来的移动点(白色)相比,调整后的点与固定点的位置更接近。

情节(movingPointsAdjusted (: 1) movingPointsAdjusted (:, 2),'xy'

图中包含一个轴。标题移动的轴包含图像类、线类三个对象。

输入参数

全部折叠

要变换的图像中控制点的坐标,指定为2矩阵。这两列表示x- 和y-坐标的控制点,分别,在图像的固有坐标系。

例子:(127 93;74 59]

数据类型:

参考图像中控制点的坐标,指定为p2矩阵。这两列表示x- 和y-坐标的控制点,分别,在图像的固有坐标系。

例子:(323 195;269 161]

数据类型:

要注册的图像,指定为数字数组。

目标方向中的参考图像,指定为数字数组。

输出参数

全部折叠

调整后的待转换图像中控制点的坐标,作为大小相同的数字矩阵返回movingPoints

数据类型:

提示

  • 移动固定图片必须有相同的规模cpcorr是有效的。

  • 如果cpcorr不能将一对控制点关联起来,徒步投影包含相同的坐标movingPoints一对。

  • cpcorr如果出现任何这些条件,则无法调整一个点:

    • 点太靠近任一图像的边缘

    • 点周围的图像区域包含INF.或者

    • 运动图像中某一点周围的区域标准差为零

    • 点周围的图像区域相关性较差

算法

cpcorr仅将控制点的位置移动到多达四个像素。调整后的坐标最多可准确到像素的十分之一。cpcorr设计了从图像内容中获得亚像素精度和粗控制点的选择。

在R2006A之前介绍