Hello,
I want to save a grayscale image in png format. I am using
saveas(gcf, outputname1, 'png')
but I keep having two problems: 1. No matter what I do, the saved image always ends up with white space on the sides, as if fitting a predefined space. I have already set the preferences as "tight", both in the "preferences" menu, and also at the beginning of my script with
iptsetpref('ImshowBorder','tight')
Yet, no matter what I do, I keep getting the white space on the sides of the image, but not on the top. I figured it has something to do with how I processed the images before (I did spatial frequency filtering based fft on a rectangular image. I think the image is made "square" for the filtering via padding, but at a later step I undo such padding by resizing the image to its original dimensions, but this does not help to eliminate the white space on the sides.
I know I can crop it, but I would like to understand why is matlab doing this, and how can I prevent it.
2. Also, even though the original image is a grayscale, when I save using saveas, I always end up with a RGB image. I tried other commands (imwrite, hgwrite, print, etc.), and while they (do save the images in grayscale, often the results are very distorted (darker, sometimes sharper or with a higher contrast). I have found that saveas does save the image exactly as it is displayed in matlab (which is what I need), except for the fact that it ends up as an RGB image.
Thanks in advance to whomever can help me understand and fix this!
So far, neither the command documentation nor the information available on forums and help sites has provided me with an answer.
Best Answer