gpt4 book ai didi

image-processing - 使用单应性描述两个图像之间的非线性变换

转载 作者:行者123 更新时间:2023-12-04 12:22:41 25 4
gpt4 key购买 nike

已经建立了一对一的匹配
在两个图像上的蓝点之间。
image2 是 image1 的扭曲版本。失真模型似乎是
眼鱼镜头畸变。问题是:
有什么方法可以计算描述此转换的转换矩阵。
实际上是一个变换蓝色的矩阵
第一张图片上的点到第二张图片上相应的蓝点?
这里的问题是我们不知道焦距(意味着图像未校准),但是我们确实有
两幅图像上大约 200 个点之间的完美匹配。
image1(original)
扭曲的图像:
eimage2

最佳答案

我认为您尝试做的事情可以被视为失真校正问题,而无需进行经典相机校准的其余部分。

矩阵变换是线性变换,线性变换总是将直线映射为直线 ( http://en.wikipedia.org/wiki/Linear_map )。从图中可以明显看出,变换是非线性的,因此您无法用矩阵运算来描述它。

也就是说,您可以使用像 OpenCV ( http://docs.opencv.org/doc/tutorials/calib3d/camera_calibration/camera_calibration.html ) 使用的那样的镜头失真模型,并且获得系数应该不是很困难。以下是您可以在 Matlab 中执行的操作:

调用 (x, y) 原点坐标(上图)和 (xp, yp) 扭曲点坐标(下图),均移至图像中心并除以缩放因子(与x 和 y),因此它们或多或少位于 [-1, 1] 区间内。畸变模型为:

x = ( xp*(1 + k1*r^2 + k2*r^4 + k3*r^6) + 2*p1*xp*yp + p2*(r^2 + 2*xp^2));
y = ( yp*(1 + k1*r^2 + k2*r^4 + k3*r^6) + 2*p2*xp*yp + p1*(r^2 + 2*yp^2));

在哪里
r = sqrt(x^2 + y^2);

您有 5 个参数:k1、k2、k3、p1、p2 用于径向和切向畸变以及 200 对点,因此您可以求解非线性系统。

确保工作区中存在 x、y、xp 和 yp 数组并将它们声明为全局:
global x y xp yp

编写一个函数来评估给定一组任意失真系数的均方误差,假设它称为“dist”:
function val = dist(var)

global x y xp yp

val = zeros(size(xp));

k1 = var(1);
k2 = var(2);
k3 = var(3);
p1 = var(4);
p2 = var(5);

r = sqrt(xp.*xp + yp.*yp);
temp1 = x - ( xp.*(1 + k1*r.^2 + k2*r.^4 + k3*r.^6) + 2*p1*xp.*yp + p2*(r.^2 + 2*xp.^2));
temp2 = y - ( yp.*(1 + k1*r.^2 + k2*r.^4 + k3*r.^6) + 2*p2*xp.*yp + p1*(r.^2 + 2*yp.^2));
val = sqrt(temp1.*temp1 + temp2.*temp2);

用“fsolve”求解系统:
[coef, fval] = fsolve(@dist, zeros(5,1));

'coef' 中的值是您要查找的失真系数。要校正原始集合中不存在的新点 (xp, yp) 的失真,请使用以下等式:
r = sqrt(xp.*xp + yp.*yp);
x_corr = xp.*(1 + k1*r.^2 + k2*r.^4 + k3*r.^6) + 2*p1*xp.*yp + p2*(r.^2 + 2*xp.^2);
y_corr = yp.*(1 + k1*r.^2 + k2*r.^4 + k3*r.^6) + 2*p2*xp.*yp + p1*(r.^2 + 2*yp.^2);

结果将移动到图像的中心并按您在上面使用的系数进行缩放。

笔记:
  • 坐标必须移动到图像的中心,因为失真相对于它是对称的。
  • 没有必要对区间 [-1, 1] 进行归一化,但通常这样做是为了使获得的失真系数或多或少处于相同的数量级(使用像素的 2、4 和 6 次幂坐标需要非常小的系数)。
  • 这种方法不需要图像中的点在一个统一的网格中。
  • 关于image-processing - 使用单应性描述两个图像之间的非线性变换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14405659/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com