2013-05-14 1 views
2

브리프 면책 조항 : 나는 독학 프로그래머이며, 이것은 공식적으로 내 첫 번째 스택 오버플로 게시물이므로 시험해보십시오.내 처녀 게시물 : matlab에 ind2rgb 기능에 문제가있다

트루 컬러 (250x250x3) 매트릭스로 바꾸려는 250X250 확률 분포 (pdf) 매트릭스 (0에서 1까지의 값)가 있는데이 매트릭스의 시리즈를 저장하고 동영상을 저장하거나 RGB 이미지로 저장하십시오. 내가 사용하는 경우,

첫째 : 제 질문은 두 가지입니다

imagesc (PDF)는 IMG가 img(:,:,3)=(some value<1)과 함께, 완전히 파란색 이미지 인 끝, 내가 기대하는 적절한 열지도 그림을 반환하는 반면
cmp=jet; 
img=ind2rgb(pdf,cmp); 

(img(:,:,1:2)==0. 누군가가 왜 ind2rgb() (스케일링?)이 아니라고 설명 할 수 있다면 정말 감사 할 것입니다. imagesc()이 같은 방식으로, 그리고 그것을 고치려면 어떻게해야할까요?

는 또한 :

나는 contour()imagesc()는 MATLAB의 그림 창에이 인덱스 값을 표시하는 데 도움이 기능을 알고 있지만, 그림없이 트루 컬러 이미지 로 matlab에 그림을 저장할 수있는 방법이있다 중심선?

이 질문 중 하나 또는 둘 모두에 대한 답변을 주시면 감사하겠습니다. 이미지 크기를 조정하지 않습니다

콜린

답변

2

ind2rg, 그것은 단지 컬러 맵에 매핑합니다. 이미지 크기를 직접 조절해야합니다. 또한 색상 맵의 크기를 지정해야합니다.

pdf = rand(100,100); % fake data 
pdfScaled = uint8(256*pdf); % scale data 
cmp = jet(256); % 256 element colormap 
img = ind2rgb(pdfScaled,cmp); 

subplot(2,1,1) 
imagesc(pdf) 
title('indexed image') 
subplot(2,1,2) 
image(img) 
title('rgb image') 

결과 줄거리는 다음과 같다 : 예를 들면 다음과 같습니다의 두 번째 질문, getframe과에 관해서는

indexed and rgb images

imwrite가 축에 표시됩니다으로 이미지를 저장하는 데 사용할 수 있습니다 . 예 :

figure 
imagesc(spiral(10)) 
frame = getframe(); 
imwrite(frame.cdata, 'frame.png') 
+0

감사합니다. 지연된 응답에 대해 사과드립니다. 게시물을 읽고, 코드를 수정하고, 응답하는 것을 즉시 잊었습니다. – Colin