2013-09-24 8 views
0

난 그냥 웨이블릿 내 이론을 완료하고 matlab를 사용하여 테스트하기로 결정했습니다. 그러나, 나는 dwt2와 idwt2의 결과를 해석 할 수 없다. 결과를 표시하기 위해 imshow를 사용했을 때 어떤 이미지도 얻지 못했습니다.matlab에 dwt2 및 idwt2 사용

[ca,ch,cv,cd] = dwt2(I_gray,'haar'); 
    I_regray = idwt2(ca,ch,cv,cd,'haar'); 
    figure(1); 
    imshow(I_regray); 
    figure(2); 
    imshow(ca); 

두 숫자는 모두 공백입니다. 내 축소 이미지도 볼 수 없습니다. 그것을 볼 수있는 올바른 방법을 말해 주시겠습니까? MATLAB 도움말은 계획 방법에 대해 설명합니다. 그래도 명확하지 않습니다. 도와주세요. 그 질문이 초보적인 것이라면 사과드립니다. 미리 감사드립니다.

+2

문제는 데이터 변수의 유형이있을 가능성이 큽니다. 유형이 double이면 범위의 값에 문제가있을 수 있습니다. imshow는 double 값이 0-1 범위를 가질 것으로 기대합니다. –

답변

0

이미지를 읽고 두 번 변환해야합니다. 그런 다음 dwt2으로 전화하십시오.

dwt2의 결과는 두 배가되므로이 결과의 범위를 확인하십시오. [0,1] 범위 밖에있는 것이 있으면 uint8로 변환해야합니다.