Error using psnr function
Show older comments
I used [peaksnr, snr] = psnr(B, A) wherein A is a binary image and B, the same image but a weiner2 function applied to it.
An error then is outputted
Error using psnr
Expected input number 1, A, to be one of these types:
uint8, uint16, int16, single, double
Instead its type was logical.
Error in psnr>checkImages (line 71)
validateattributes(A,validImageTypes,{'nonsparse'},mfilename,'A',1);
Error in psnr (line 39)
checkImages(A,ref);
Answers (1)
Image Analyst
on 21 Sep 2017
So? Just cast it to one of those data types like it suggested.
[peaksnr, snr] = psnr(double(B), double(A))
2 Comments
Jemela Llanes
on 22 Sep 2017
Edited: Jemela Llanes
on 22 Sep 2017
Image Analyst
on 22 Sep 2017
I think PSNR is usually used to measure compression/decompression accuracy but I suppose you could use it. I think immse() or computing MAD (mean absolute difference) would be better.
Categories
Find more on Image Quality in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!