Matlab png图像失真/质量下降

时间:2014-10-13 10:23:56

标签: image matlab resize

我试图用Matlab显示图像。我尝试了不同的方法,但他们都得到了相同的结果。基本上:

I = imread('circletest.png','BackgroundColor','none');
imshow(I)

输出:

enter image description here

当实际图像只是一个透明背景的红色圆圈时。有谁知道为什么图像像这样变形?只有在我没有指定背景颜色时才会发生。

另外,关于图像大小调整。我知道Matlab通过改变矩阵大小来调整图像大小,这必然意味着质量的损失。我真的很想避免这种情况。有没有办法让图像在轴上显得比其他东西更小? matlab不能在较小的区域内输出相同的矩阵大小吗?

谢谢,

麦克

1 个答案:

答案 0 :(得分:1)

明确阅读Alpha通道或将'BackgoundColor'设置为[1 1 1](白色)

[I map alpha] = imread('circletest.png','BackgroundColor','none');
ih = imshow( I );
set( ih, 'AlphaData', alpha );

或尝试

I = imread('circletest.png','BackgroundColor',[1 1 1]);
imshow(I);