Matlab:使用imwarp的图像失真保角映射
我正在使用imtransform对图像进行扭曲,如中所建议的保角贴图。它工作正常,但Matlab显示警告,不建议使用imtransform,而应使用imwarp,但从imtransform到imwarp的传输很困难。是否有人可以在imwarp的几何变换对象中使用intransform[a]传递失真过程 [a] 这会将RGB图像C转换为TMatlab:使用imwarp的图像失真保角映射,matlab,image-processing,Matlab,Image Processing,我正在使用imtransform对图像进行扭曲,如中所建议的保角贴图。它工作正常,但Matlab显示警告,不建议使用imtransform,而应使用imwarp,但从imtransform到imwarp的传输很困难。是否有人可以在imwarp的几何变换对象中使用intransform[a]传递失真过程 [a] 这会将RGB图像C转换为T conformal = maketform('custom', 2, 2, [], @conformalInverse, []); T = imtransfor
conformal = maketform('custom', 2, 2, [], @conformalInverse, []);
T = imtransform(C, conformal, 'bicubic', 'UData', uData,'VData', vData, 'XData', xData,'YData', yData, 'Size', [cm_out_h cm_out_w], 'FillValues', FillValue);
使用ConformLinverse.m中定义的保形映射公式,如下所示:
function U = conformalInverse(X, ~)
%#codegen
U = [zeros(size(X))];
Z = complex(X(:,1),X(:,2));
a = 2; W = (1./(4 * Z.^a - 1));
U(:,2) = imag(W);
U(:,1) = real(W);
以及一些参数值示例,如:
uData = [ -1.25 1.25]; % Bounds for REAL(w)
vData = [ 0.75 -0.75]; % Bounds for IMAG(w)
xData = [ -2.00 2.00]; % Bounds for REAL(z)
yData = [ 2.00 -2.00]; % Bounds for IMAG(z)
cm_out_h = 3000; % h of output image
cm_out_w = 3000; % w of output image
FillValue = 0; % color definition to fill possible empty areas; here 0 == black
我得到的提示是,除了自定义几何变换之外,所有参数都可以在imwarp中更改。从这一点可以得出结论,如果没有解决办法,则使用共形贴图的失真在imwarp中是不可能的。如果这是真的,我会在Matlab开发中称之为回归。我得到的提示是,除了自定义几何变换之外,每个参数都可以在imwarp中更改。从这一点可以得出结论,如果没有解决办法,则使用共形贴图的失真在imwarp中是不可能的。如果这是真的,我会称之为Matlab开发中的回归。