Saving a true color image

3 views (last 30 days)
Michael
Michael on 14 Jul 2014
Commented: Image Analyst on 14 Jul 2014
I created a true color image using values for RGB:
R = 1;
G = 0.3301;
B = 0.9;
truecolor_image = cat(3, R, G, B);
filt_image = image(truecolor_image);
Now when I try to have Matlab save this image:
imwrite(filt_image, 'Filter Color.png');
All I get is a blank white pixel. Even after re-sizing to a 300 by 300 pixel image, the figure is still white and blank. How do I save this color image?

Accepted Answer

Matz Johansson Bergström
Matz Johansson Bergström on 14 Jul 2014
Edited: Matz Johansson Bergström on 14 Jul 2014
When you are calling image it returns a handle, which is a float value that you can use to modify the image in the plot window after you display it. For instance
handl = image(truecolor_image)
set(handl, 'cdata', 200)
What you are doing is writing this handle, which is a float, to a file. You want to write the actual matrix to the file. So, it is sufficient to write:
imwrite(truecolor_image, 'Filter Color.png');
  2 Comments
Michael
Michael on 14 Jul 2014
Nice that worked well. Now would I be able to put text on top of the truecolor_image and then still save it in the same manner as well?
Image Analyst
Image Analyst on 14 Jul 2014
No. Not unless you used the textInserter method of the Computer Vision System Toolbox. Otherwise, use export_fig.

Sign in to comment.

More Answers (0)

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!