2017-02-16 2 views
0

상황 : 인덱싱 된 이미지를 출력하고 조작하는 중입니다.인덱싱 된 이미지를 표시/조작하는 방법 옥타브

문제점 : ind2rgb(image, colormap(x))을 사용하는 경우 (여기서 x은 컬러 맵 옵션 임) 오류가 발생했습니다.

질문 :이 문제를 해결하려면?

추가 정보 : imshow(image, colormap(x))을 사용했습니다. 여기서는 x 대신 Octave에서 사용할 수있는 모든 색상 맵을 사용했습니다.

답변

1

컬러 맵보다 색상 수가 많기 때문에 이러한 현상이 발생한다고 생각합니다. 더 큰 색상 맵을 만드십시오. 당신은 colormap(x(size_of_cmap))

ind2rgb(image, colormap(viridis(max(image(:)))) 

대안 sysntax으로 그렇게 칼라 맵을 작성하여 보간 할 수 있습니다. 주의 : HSV 순환 동작으로 인해 색상에 아티팩트가 생성 될 수 있습니다.

m=max(image(:)); 
cm=colormap(x); 

hsv=rgb2hsv(cm); 
cm=interp1(linspace(0,1,size(cm,1)),hsv,linspace(0,1,m)); 
cm=hsv2rgb(cm); 

ind2rgb(image,cm); 

가능한 경우 첫 번째 해결 방법을 사용하는 것이 좋습니다.