MATLAB: Undefined function ‘immse’ for input arguments of type ‘uint8’.

MATLABmatlabr2013a

im1=imread('stallite1.JPG'); figure subplot(1,3,1),imshow(im1),title('original image') ref=rgb2gray(im1); subplot(1,3,2),imshow(ref),title('gray image')
N = imnoise(ref,'salt & pepper', 0.02); subplot(1,3,3),imshow(N),title('noise image') error = immse(N, ref); fprintf('\n The mean-squared error is %0.4f\n', error)

Best Answer

immse was introduced in version R2014b and requires the image processing toolbox. If you're on an earlier version or don't have the image processing toolbox, you'll get the error you see.
Since imnoise does not error we can conclude that you're using a version before R2014b.