To obtain high quality images on a 'UIaxis', the following MATLAB Answer suggests scaling the axis based on the true size of the image incase 'image' or 'imagesc' functions are being used.
Here is an example:
im1 = imread('im1.png');
imagesc(im1);
axis image
Alternatively, 'imshow' function can be used to display an image on a 'UIaxis'. This function provides properties like 'InitialMagnification' and 'Interpolation' which can be used to improve the scaling of the image. Here is an example:
figure;
ax = axes;
imshow('im1.png', 'Parent', ax);
title('Original Image');
figure;
ax1 = axes;
imshow('im1.png', 'Parent', ax1, 'InitialMagnification', 'fit', 'Interpolation', 'bilinear');
title('Image after bilinear interpolation');
This is also mentioned in detail in this MATLAB Answer:
The following MathWorks documentations can be referred to know more:
Thanks.