MATLAB: Error in flipping

codeflippingflipudImage Processing Toolbox

Hi, all
I have a problem in flipping an image. I use flipud function from Matlab, but it keeps error
img = imread('peppers.png'); F = flipud(img); imshow(img); title('Image'); figure, imshow(F); title('Flip Vertical');
The error message was
??? Error using ==> flipud at 19 X must be a 2-D matrix.
Error in ==> Untitled8 at 4 F = flipud(img);
Can anyone tell me how to solve this? Thanks

Best Answer

Hi,
It seem you use flipud command for 3D matrix.
Peppers.png was 3D uint8 matrix.
'??? Error using ==> flipud at 19 X must be a 2-D matrix' - means flipud takes 2D matrix.
So, you can use my function to perform 3D flipping :
function J = flipping(I)
[row col dim] = size(I);
J = zeros(row,col,dim);
mirror = floor(row/2);
for x = 1 : row-1
for y = 1 : col-1
J(x,y,:) = I((2*mirror)-x,y,:);
end
end
And then you can call it by :
I = imread('peppers.png');
J = flipping(I);
imshow(uint8(J));
And see the result below :
%
Related Question