Undefined function 'immse' for input arguments of type 'uint8'.

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)

 Accepted 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.

4 Comments

R2013a what i suppose to do i need it in my project? how i install image processing tool box?

You have the image processing toolbox installed already since imnoise works.

If you do need that function, then your only options are to upgrade matlab to at least R2014b or write the code for the function yourself.

The upgrade the matlab to R2014b is free or i should pay for that? thanks

If you're on a software maintenance service then the upgrade (to any version) is free. Otherwise, yes you will have to pay. You're better off contacting mathworks directly with your license number. They'll be able to tell you directly if it's free and if not, how much.

Sign in to comment.

More Answers (1)

I used the code above exactly and I convert the image 2 double but unfortunately is still the error message (undefined function ‘immse’ for input arguments of type ‘uint8’ ,thanks for help me

Categories

Products

Release

R2013a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!