我试图根据距图像中心的半径绘制像素从原始图像到鱼眼图像的位移。
我使用maketform
testImg = imread('ship.jpg');
optTra = maketform('custom',2,2,[],@radial,options);
newX = imtransform(testImg,optTra);
imshow(newX);
这里的radial
功能可以帮助我获得鱼眼扭曲的图像。
我需要找到原始图像中每个像素的位移与失真图像的位移。
答案 0 :(得分:1)
如果应用的变换(a.k.a“@radial”)是有角度的,则逆变换由下式给出:
u = r cos(phi) + 0.5;
v = r sin(phi) + 0.5;
,其中
r = atan2(sqrt(x*x+y*y),p.z)/pi;
phi = atan2(y,x);
假设x,y是标准化坐标(居中且在-1到1之间)。