IMWRITE followed by IMREAD Changes Pixel Values
Show older comments
I have an image matrix
aa 150x200x3 720000 double
With pixel values 0-255
Why does this test fail :
imwrite(aa, 'aatest.png');
aanew = imread('aatest.png');
isequal(aa, aanew)
Accepted Answer
More Answers (1)
Image Analyst
on 19 Aug 2013
0 votes
I don't believe PNG is meant for doubles, though I could be wrong. Anyway I never try to save color images while in a double class unless it's to a mat file. Try casting your aa array to uint8 before you save it out. I think that's really what you want and intended anyway.
Categories
Find more on Images 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!