image is a MATLAB command that visualizes your matrix as simply a matrix of numbers. The colors used to represent each value might be meaningless to the representation of the matrix as an image.
imshow is an Image Processing Toolbox command that treats your matrix as an image. It assumes that the elements are pixel intensities, and that you might want more control over the colormap, you probably don't want grid lines or axes tick marks, and you probably want to maintain the aspect ratio.
Consider:
img = imread('cameraman.tif');
figure;
image(img)
Colors are meaningless; even applying a seemingly reasonable colormap might give you unexpected results.
set(gcf,'colormap',gray);
Now consider:
figure;
subplot(1,2,1);
image(img);
subplot(1,2,2);
imshow(img)
Even with the colormap established by the matrix-as-image, image gives you behavior you don't necessarily want from an image viewer. Cheers,
Brett
Best Answer