2014-10-13 2 views
0

Matlab에서 이미지를 표시하려고합니다. 나는 다른 방법을 시도했지만 모두 같은 결과로 끝납니다. 기본적으로 :Matlab png 이미지 왜곡/품질 저하

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

출력이 :

enter image description here

실제 이미지가 투명 배경으로 단지 빨간색 원이다. 왜 이런 이미지가 왜 변형되는지 아는 사람 있습니까? 배경색을 지정하지 않으면 발생합니다.

이미지 크기 조정에 대해서도. matlab은 매트릭스 크기를 변경하여 이미지 크기를 조정한다는 것을 알고 있습니다. 이는 반드시 품질의 저하를 의미합니다. 나는 그것을 피하고 싶습니다. 이미지를 축에서 다른 것보다 더 작게 보이게 만드는 방법이 있습니까? matlab은 더 작은 영역에서 같은 행렬 크기를 출력 할 수 없습니까?

감사합니다,

마이크

답변

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); 
+0

감사를 시도, 첫 번째 부분의 작동을 명시 적으로 알파 채널을 읽거나 [1 1 1] (흰색)에 'BackgoundColor'를 설정합니다. 그러나 내 응용 프로그램의 경우, 축을 통해 특정 위치에 이미지를 배치하고 배경을 투명하게 유지하면서 크기를 조정할 수 있어야했습니다. 온라인으로 읽은 것에서부터 Matlab에서는 이것을 할 수 없으므로 다른 프로그래밍 언어로 바꿀 것입니다. 그럼에도 불구하고 잘 알 수 있습니다! –