Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 使用inf作为填充值的imtransform_Matlab_Image Processing - Fatal编程技术网

Matlab 使用inf作为填充值的imtransform

Matlab 使用inf作为填充值的imtransform,matlab,image-processing,Matlab,Image Processing,我有一个代码,它通过X轴上的偏移来执行图像的平移。 我想当图像超出边界时,强度值将为inf 所以我预先制定了这样的代码 t = maketform('affine',[1 0 ; 0 1; -offset 0]); origbounds = [1 1; H W]; Im2 = imtransform(Img,t,'XData',origbounds(:,2)','YData',origbounds(:,1)', 'FillValues', inf); 我在Im2的第一排都是NaN 我只想当偏移

我有一个代码,它通过X轴上的偏移来执行图像的平移。 我想当图像超出边界时,强度值将为inf

所以我预先制定了这样的代码

t = maketform('affine',[1 0 ; 0 1; -offset 0]);
origbounds = [1 1; H W];
Im2 = imtransform(Img,t,'XData',origbounds(:,2)','YData',origbounds(:,1)', 'FillValues', inf);
我在Im2的第一排都是NaN

我只想当偏移量大于Img的宽度时,用inf填充最后一列

正确的方法是什么?

我想你看到的是一件艺术品。尝试使用“最近”邻居插值,而不是默认的“双线性”

例如:

interpMethod = 'nearest';    %# 'bicubic', 'bilinear', 'nearest'
fillval = Inf;               %# Inf, Nan, 0.9

offset = 20;
img = im2double(imread('cameraman.tif'));
t = eye(3,2); t(3,1) = -offset;
img2 = imtransform(img, maketform('affine',t), interpMethod, ...
    'FillValues',fillval, 'XData',[1 size(img,2)], 'YData',[1 size(img,1)]);
subplot(211), imshow(img)
subplot(212), imshow(img2)