MATLAB: Resize 4D image (RGB + another channel)

imresize

Hi
I cant use imresize to resize an image with 4 channels. How do i do this ? Do i need to resize each channel individually ? Help thanks.

Best Answer

It depends on what that extra channel represents (and on the resizing method that you want to use). Assuming that extra channel is completely independent from the RGB data, then you can just use two imresize|
resizedimage = imresize(origimage(:, :, 1:3), ...)
resizedimage(:, :, 4) = imresize(origimage(:, :, 4), ...)
If you use imresize with any method other than nearest neighbour interpolation, then matlab also performs antialiasing which may blend some colours.