2014-04-28 5 views
-1

ra, rh, rv, rd가 계수를 재구성 한 이미지 재구성을 위해이 함수를 실행하려고합니다. 하지만 나는 덧셈과 뺄셈에서 문제에 직면하고있다.이미지 계수에서 matlab을 사용하여 이미지 재구성

도와주세요.

>> a1 = appcoef2(wc,s,wname,1);   
    >> h1 = detcoef2('h',wc,s,1);   
    >> v1 = detcoef2('v',wc,s,1);   
    >> d1 = detcoef2('d',wc,s,1); 

    >> a2 = appcoef2(wc,s,wname,2); 
    >> h2 = detcoef2('h',wc,s,2); 
    >> v2 = detcoef2('v',wc,s,2); 
    >> d2 = detcoef2('d',wc,s,2); 

는이어서 상기 파라미터를 이용하여 재구성 :
XXhat = waverec2(wc,s,wname); 
sprintf('Reconstruction error (using waverec2) = %g', max(max(abs(X-XXhat))) 

Xhat = ra2 + rh2 + rv2 + rd2 + rh1 + rv1 + rd1; 
sprintf('Reconstruction error (using wrcoef2) = %g', max(max(abs(X-Xhat)))) 

OR

제가 사용하여 이미지를 분해. 이제는 그들과 함께해야합니다.

+1

정보가 충분하지 않습니다. 'ra, rh, rv, rd' 란 무엇입니까? – rayryeng

+0

이것은 재구성 된 계수입니다. – TG29

+0

"문제가 발생했습니다"- 코드는 아무 것도하지 않으며, 예상했던 것과 다르지만 오류가 있습니다 (오류가 있다면 무엇입니까?). 변수의 '크기'가 예상 한 값인지 확인 했습니까? – nkjt

답변

0

나는 귀하의 문제가 거의 확실하게 abs(X-Xhat) 행에 있다고 생각합니다.

왜? 당신은 일종의 잔물결 분해/재구성을하고있는 것처럼 보이고 올바른 매개 변수를 전달하지 않으면 출력이 원본 이미지보다 클 수 있습니다. 따라서 크기가 다르면 오류 메시지가 표시되는 X-Xhat을 요청하는 것은 의미가 없습니다.

이 문제를 수정하는 가장 좋은 방법은 재구성 (아마도 upcoef2을 사용) 할 때 크기를 잘라내어 추가 매개 변수로 전달하는 것입니다. 워드 프로세서에서 A (ㅎ) 절단 및 조정 예 :

load woman; 
[c,s] = wavedec2(X,2,'db4'); 
siz = s(size(s,1),:); 
ca1 = appcoef2(c,s,'db4',1); 
a = upcoef2('a',ca1,'db4',1,siz); 
a2 = upcoef2('a',ca1,'db4',1); 

당신은 size(X)size(a) 모두 256 X 256 것을 볼 수 있지만, size(a2)이 더 크다. 따라서 a-X은 괜찮으며 a2-X은 "매트릭스 크기에 동의해야합니다."라고 알려줍니다. 오류.