MATLAB Answers

Yao Li

How to display a jpg or bmp figure on GUI pane with high quality?

Asked by Yao Li
on 10 May 2013

The jpg or bmp figure displays well if I open it outside matlab. But if I implement imread()and image() to display the image in axes on GUI pane, the quality of the image is unsatisfactory. Can anyone help?


on 10 May 2013

What's the exact code you used?

Yao Li
on 13 May 2013


No products are associated with this question.

2 Answers

Answer by Walter Roberson
on 14 May 2013
 Accepted answer

First you need to calculate the width and height of your image in pixels. Then you need to create an axis whose dimensions in pixels exceed that width and height; you can do that by specifying the name/value pair 'Units', 'pixels', and giving the appropriate Position property


axis image

You might need to play with the axis InnerPosition or Position properties in order to ensure that the portion of the image actually used to draw on is as big as you need.

If your image size exceeds the amount of screen space you can afford, you will not be able to fit the entire image in without decline in quality unless you only show a portion of the image at a time and then either have the user use the "pan" tool or else provide scroll bars such as by using


Answer by Lisa Wu
on 13 May 2013

Try imshow(I),displaying the grayscale image I

  1 Comment

Yao Li
on 13 May 2013

thx, but sorry, I don't have this toolbox and can't call the function imshow(). Any other suggestions?

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!