SSIM between grey-scale images
4 views (last 30 days)
Show older comments
I have multiple test grey-scale images with a reference image. I want to measure the similarity between test and reference images in matlab R2016a. As per the website, I am using these commands,
ssimval=ssim(A, ref)
[ssimval, ssimmap]=ssim(A, ref)
They didn't work in my case. I am getting following error everytime. Please do let me know how to resolve this.
Undefined function or variable 'iptgetpref'.
Error in useIPPLibrary (line 15) prefFlag = iptgetpref('UseIPPL');
Error in imfilter>useIPPL (line 304) prefFlag = useIPPLibrary();
Error in imfilter>filterPartOrWhole (line 355) ippFlag = useIPPL(a,outSize,h,nonzero_h);
Error in imfilter (line 169) b_tmp = filterPartOrWhole(a, out_size_row, hrow, start, sameSize, convMode);
Error in ssim (line 133) mux2 = imfilter(A, gaussFilt,'conv','replicate');
Just to check if i have image processing toolbox installed in my MATLAB R2016a, I went to Environment>Ad-Ons>Manage Ad-Ons. I do have image processing toolbox version 9.4 installed as per that list.
0 Comments
Answers (1)
Neuropragmatist
on 5 Aug 2019
Can you check by typing 'ver' in the matlab command window and telling us what shows up?
Also can you type 'which ssim' in the command window and let us know the result of that too.
If you are really stuck you could try a third party option like this one on the FEX, I used it before and it is quite good:
2 Comments
Neuropragmatist
on 6 Aug 2019
OK, this is useful.
iptgetpref is a Matlab internal function that was introduced before 2006:
The error seems to be saying that you don't have this function, despite having the image processing toolbox. I don't understand quite how this might have happened or why you don't have errors all over the place, but it might mean you need to reinstall your Matlab, or at least the image processing toolbox.
Before you do that you could also try running:
license checkout Image_Toolbox
at the command window just to check that your image processing toolbox is under a current license, if the result is 0 it means your image processing toolbox is out of license. This is really unlikely though because your Matlab doesn't have a problem with imgaussfilt which is also a image processing function.
You could also try running:
rehash toolboxcache
To try and update your toolbox cache.
If these things don't help you can go to the add-on explorer:
Search for image processing toolbox and go to its page. Look at the top right and see if it mentions updates, if so you might want to try downloading them using the link and see it that fixes things. If not, you can go to 'manage' right click on image processing and click 'uninstall'. When that's finished you should be able to go back to the same place and reinstall it.
If none of this works I would suggest contacting Mathworks support because iptgetpref is an inbuilt function that should work and if it has an error they should help you fix it.
Hope this helps,
M.
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!