How do I eliminate (minimize) display quantization with imshow?

1 view (last 30 days)
I see extra quantization when displaying a grayscale uint8 image. For example:
inRamp = uint8 ( round ( repmat( linspace(0,60,1200), 600, 1 ) ) );
imshow ( inRamp)
imwrite ( inRamp, 'inputRamp.tif' )
If I display this tif image in another display application, I see a series of steps. The image displayed in MATLAB using imshow has a couple of steps that are double-wide and double-deep. I have verified this using Windows screen captures of the image as displayed by other software and as displayed in MATLAB. The plots of this data show a clear stairstep pattern, with the MATLAB showing a couple of steps (near pixel value 10 and 40) that are double width and double height. I can email plots to anyone interested in seeing them.

Accepted Answer

Bruce Pillman
Bruce Pillman on 23 Aug 2013
After discussing this with Mathworks technical support, I tried changing the renderer used from "painters" to "opengl". This appears to solve the quantization problem.

More Answers (1)

Image Analyst
Image Analyst on 19 Aug 2013
You may be observing aliasing, possibly compounded by the Mach effect. Post your plots and images to snag.gy.
  8 Comments
Bruce Pillman
Bruce Pillman on 21 Aug 2013
Thanks for doing that test. That is interesting, since my results don't seem random. I am running 64-bit Windows 7. What are you running?

Sign in to comment.

Categories

Find more on Display Image 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!