我试图用Matlab显示图像。我尝试了不同的方法,但他们都得到了相同的结果。基本上:
I = imread('circletest.png','BackgroundColor','none');
imshow(I)
输出:
当实际图像只是一个透明背景的红色圆圈时。有谁知道为什么图像像这样变形?只有在我没有指定背景颜色时才会发生。
另外,关于图像大小调整。我知道Matlab通过改变矩阵大小来调整图像大小,这必然意味着质量的损失。我真的很想避免这种情况。有没有办法让图像在轴上显得比其他东西更小? matlab不能在较小的区域内输出相同的矩阵大小吗?
谢谢,
麦克
答案 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);