SSIM between grey-scale images

5 ビュー (過去 30 日間)
Maryam Idrees
Maryam Idrees 2019 年 8 月 5 日
コメント済み: Neuropragmatist 2019 年 8 月 6 日
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.

回答 (1 件)

Neuropragmatist
Neuropragmatist 2019 年 8 月 5 日
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 件のコメント
Maryam Idrees
Maryam Idrees 2019 年 8 月 6 日
Thak you so much for your response. I entered 'ver' and it showed MATLAB version ( 9.0.0.341360 (R2016a)) and multiple installed toolboxes where image processing toolbox is part of these.
For which ssim, following thing showed up.
1.PNG
As suggested by link, i have used that .m file. I saved it and called it in command window. It showed this
2.PNG
Neuropragmatist
Neuropragmatist 2019 年 8 月 6 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by