我有两个尺寸相同但大小不同的图像我如何使它们大小相等以便我可以减去然后下面是我的图像的描述
d=imread('dif5.jpg');
>> f=size(d);
>> f
f = 900 1200 3
g=ndims(d);
>> g
g = 3
>> h=imread('dif4.jpg');
>> j=size(h);
>> j
j = 363 484 3
>> k=ndims(h);
>> k
k = 3
我有两个尺寸相同但大小不同的图像我如何使它们大小相等以便我可以减去然后下面是我的图像的描述
d=imread('dif5.jpg');
>> f=size(d);
>> f
f = 900 1200 3
g=ndims(d);
>> g
g = 3
>> h=imread('dif4.jpg');
>> j=size(h);
>> j
j = 363 484 3
>> k=ndims(h);
>> k
k = 3
您必须重新采样图像;信号处理工具箱包含一个实现——也可能是一个针对图像的现成函数。
在我的头顶(尚未测试):
a = resample(f, 900, 363)'; %% should produce 1200 x 363 x 3 (transposed) image
b = resample(b, 1200, 484)'; %% produces 363 x 484 x 3 image
c = b - h; %% diff of the resampled image and the smaller image
还可以使用仅使用标准函数的双线性、双三次等实现:
这是imresize
设计的工作。
d = imread('dif5.jpg'); % 900 x 1200 x 3
h = imread('dif4.jpg'); % 363 x 484 x 3
dh = imresize(h,[size(d,1) size(d,2)],'bicubic'); % or 'linear', etc.
diffImg = dh - d; % 900 x 1200 x 3