data differs by using imwrite

3 views (last 30 days)
Parul
Parul on 14 Feb 2014
Answered: David Young on 14 Feb 2014
I have a Mat Image file,when i store the same image variable into the disk using imwrite and then access it using imread , the data are totally different, as i know , imwrite scales the input data, but i don't see any scaling in it. i have to use that variable for further use, which form i should take, before imwrite, or after imwrite.

Accepted Answer

David Young
David Young on 14 Feb 2014
If you are saving the image as a JPEG, or in any other compressible format, then there might be data loss on writing which could cause a difference between the input and the output. How different is "totally different"? If there really is no relation, check that imwrite and imread are really using the same pathname.
One solution would be to use save and load rather than imwrite and imread - that way the data will be returned exactly unchanged.
I am not sure what you mean in your last sentence. Normally, if you are going to use the value of a variable in the same program, you do not need to write and read it at all. If you want to save the value at some stage, calling imwrite will not change the value.
You may need to post your code to clear this up.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!