2014-05-13 14 views
1

의 웨이블릿 변환하르 내가 코드 MATLAB 프로그램과 정말 당신의 도움을 필요로 할 때 나는 문제가 바이너리 이미지

나는 바이너리 이미지가 (만 0과 1) 나는 MATLAB 코드로 변환 하르 웨이블릿을 사용

[LL,LH,HL,HH] =dwt2(f, 'haar'); 

또한 4 개의 하위 이미지가 있습니다.

LL : 항목 최대있다은 2이고, 최소는 0이다 (이것은 우리가 0-0.5 - 1 - 2 - 1.5)

HLLHHH는 :이 최대가 1이고 분 -1 (투입 우리는 -1 (--0.5) - 0 - 0.5 - 1)

하지만 지금은 바이너리 이미지이기 때문에 결과가 0과 1에 속하기를 바랍니다. 우리는 로우 패스 필터를 사용할 수 있습니다. OR 논리 및 하이 패스 필터는 XOR입니다.

하지만이 코드를 설명하는 방법을 모르겠습니다. 제발 도와주세요.

는 너무 감사

+1

왜 그들이 0과 1로 변환하고 있도록 네 개의 부대 역을 변경하려는 것인가? 더 이상의 분해를 위해 그 정밀도를 유지하고 싶지 않습니까? 또한 결과를'[0,1]'로 변경하면 원본 이미지를 충실하게 재구성 할 수 없습니다. – rayryeng

+0

이 종이에 대한 링크를 제공 할 수 있습니까? 그 이론은 나에게 어떤 의미가되지 않습니다 – rayryeng

+0

당신의 답장을 보내 주셔서 감사합니다. 단지 내가 웨이브 렛 변환에 의해 figurer와 텍스트를 인식하기위한 종이를 읽었 기 때문입니다. 이 논문에서 그들은 픽셀이 HL과 LH에서 높은 계수를 가지면 이것이 텍스트이고 HL과 LH가 낮고 LL이 높다는 것을 이미지라고한다면 높은 계수는 1이고 낮음은 0이라는 것을 알 수 있습니다. 또한 7-8 페이지에서이 문제를 여러분에게 보냅니다.) 자유 시간을 가지면 몇 가지 메모를 해주세요. (http://www.mediafire.com/download/9k7gp2c3ce032qr/1-parameter+-+free+geometric+document+layout+analysis.pdf) 고마워요 – user3607620

답변

0

링크 용지 : paper
테스트 문서 : 이것은 내 코드는 하르 웨이블릿의 문제 변환 시합 testimage

입니다. 나는 거기에 텍스트 regconize 문제가 있다고 생각, 우리의 테스트 (텍스트 행렬은 어디 에나 0입니다)에서 텍스트를 반환합니다. 그래서 HL과 LH에 대한 다른 정의가 필요합니다.

또 다른 방정식 (13)에서 우리는 각 클래스에 대해 imfilter를 사용합니다. 그리고 방정식 (14)에 대해서는 이해하지 못합니다.

감사합니다 당신에게

clear all; 
close all; 
eps=0.0000000001; %make epsilon 
f=imread('testf3.png'); 
f=~f; 
%f=rgb2gray(f); 
%f=im2bw(f); 
imwrite(f,'testhaar.png'); 
%imshow(f); 
[LL,LH,HL,HH ] = haarwavelet(f); 
subplot(2,2,1);imshow(LL);title('LL image'); 
subplot(2,2,2);imshow(LH);title('LH image'); 
subplot(2,2,3);imshow(HL);title('HL image'); 
subplot(2,2,4);imshow(HH);title('HH image'); 

[m n]=size(HL); 
M=zeros(size(HL)); 
% 9.5 is text c=T 
% 6.5 is image c=I 
% 5.5 is back ground c=X 
% 7.5 is vertical line c=V 
% 8.5 is horizontal line c=H 
testtext=M; 
testimage=M; 
testvertical=M; 
testhorizontal=M; 
testbackground=M; 
for i=1:m 
    for j=1:n 
     if (abs(1-HL(i,j))<eps && abs(1-LH(i,j)) < eps) 
      M(i,j)=9.5; %text 
      testtext(i,j)=9.5; 
     end 
     if (abs(1-HL(i,j))<eps && abs(0-LH(i,j)) < eps) 
      M(i,j)=7.5; %vertical line 
      testvertical(i,j) = 7.5; 
     end 
     if (abs(0-HL(i,j))<eps && abs(1-LH(i,j)) < eps) 
      M(i,j)=8.5; %horizontal line 
      testhorizontal(i,j)=8.5; 
     end 
     if (abs(0-HL(i,j))<eps && abs(0-LH(i,j)) < eps && abs(0-LL(i,j)) < eps) 
      M(i,j)= 6.5; % image 
      testimage(i,j)=6.5; 
     end 
     if (abs(0-HL(i,j))<eps && abs(0-LH(i,j)) < eps && abs(2-LL(i,j)) < eps) 
      M(i,j)= 5.5; % back ground 
      testbackground(i,j)=5.5; 
     end 
    end 
end 
% figure, imshow(M); 
maskIT=[0 0.5 0;0.5 1 0.5;0 0.5 0]; 
maskH=[0 0 0;1 1 1;0 0 0]; 
maskV=[0 1 0; 0 1 0; 0 1 0]; 
%--------------------------------- 
restext=imfilter(double(testtext),maskIT); 
figure;imshow(restext,[]); 
%---------------------------------- 
resimage=imfilter(double(testimage),maskIT); 
figure;imshow(resimage,[]); 
%---------------------------------- 
resvertical=imfilter(double(testvertical),maskV); 
figure;imshow(resvertical,[]); 
%------------------------------------- 
reshorizontal=imfilter(double(testhorizontal),maskH); 
figure;imshow(reshorizontal,[]); 

%------------------------------