현재 위치 - 인적 자원 플랫폼망 - 미니프로그램 자료 - 무릎을 꿇고 MATLAB 프로그램으로' 소파 변환에 기반한 이미지 가장자리 감지' 를 쓰려면 두 가지 방법으로 두 프로그램을 비교해야 한다. 감사합니다.
무릎을 꿇고 MATLAB 프로그램으로' 소파 변환에 기반한 이미지 가장자리 감지' 를 쓰려면 두 가지 방법으로 두 프로그램을 비교해야 한다. 감사합니다.
예를 들어 도움이 되기를 바랍니다. Clc 모두 제거 모두 닫기

X = rgb2gray (imread ('lena.jpg'));

X = X

X = double (x);

라인 = 250

열 = 250;

J = 6;;

Tu = 7;;

Smooth _ area _ num = 20

Edge _ area _ num = 40

I= 1:line 의 경우

Coef 1(i,) =cwt(x(i,), 1,' bior 4.4');

Coef2(i,) =cwt(x(i,), 2,' bior 4.4');

Coef3(i,) =cwt(x(i,), j,' bior 4.4');

최대 = 0;

Max _ loc = 0;;

Max _ num =15;

I= 1:line 의 경우

J =1;

그리고 j< 열-1

If (coef3(i, j)>0 & ampcoef3(i, j+1) < 0) | (coef3(i, j) < 0 & ampcoef3(i, j+ 1)>0 )% 왼쪽 위치 j 를 찾았습니다

K=j+ 1: 열-1

If coef3(i, k)*coef3(i, j)>=0% 올바른 위치 찾기 k

M=j:k 의 경우

Abs(coef3(i, m) m))& gt;; 최대

Max=abs(coef3(i, m)););

Max _ loc = m;;

최대 최대 max> 수

폼 (I, max _ loc) =1;

J = k;;

최대 = 0;

깨뜨리다

K 의 끝 비율

K = = 열-1

J = 열-1;

기타

J = j+1;

%if 끝내기

%while 끝내기

End% 웨이브 렛 변환 열.

X = x';

I= 1:line 의 경우

Coef 1(i,) =cwt(x(i,), 1,' bior 4.4');

Coef2(i,) =cwt(x(i,), 2,' bior 4.4');

Coef3(i,) =cwt(x(i,), j,' bior 4.4');

% 의 양수 값은 1 이고 음수 값은 0 이며 행렬 temp (돌연변이점의 왼쪽 위치) 로 표시됩니다.

최대 = 0;

Max _ loc = 0;;

I= 1:line 의 경우

J =1;

그리고 j< 열-1

If (coef3(i, j)>0 & ampcoef3(i, j+1) < 0) | (coef3(i, j) < 0 & ampcoef3(i, j+ 1)>0 )% 왼쪽 위치 j 를 찾았습니다

K=j+ 1: 열-1

If coef3(i, k)*coef3(i, j)>=0% 올바른 위치 찾기 k

M=j:k 의 경우

Abs(coef3(i, m) m))& gt;; 최대

Max=abs(coef3(i, m)););

Max _ loc = m;;

최대 최대 max> 수

폼 (max _ loc, I) =1;

J = k;;

최대 = 0;

깨뜨리다

K 의 끝 비율

K = = 열-1

J = 열-1;

기타

J = j+1;

%if 끝내기

%while 끝내기

I=2 의 끝: 행 2

J=2: 열 2 의 경우

% 체인 길이는 1 입니다.

If form(i, j-1) = = 0 & 폼 (I, j+ 1)==0 입니다. 폼 (I-1,j-1) = = 0 & 폼 (I-1,j) = = 0 & 폼 (I-1,j+1) = = 0 & 폼 (I+1,j-1) = = 0 & 폼 (I+1,j) = = 0 & 폼 (I+1,j+ 1)==0

폼 (I, j) = 0; %

If form(i, j) = =1& 폼 (I, j+ 1)== 1. 합계 (합계 (폼 (I-1:I+1,j-1:j+2))) = =

폼 (I, j) = 0;

폼 (I, j+1) = 0;

끝 if form(i, j) = =1& 폼 (I+1,j) = =1& 합계 (합계 (폼 (I-1:I+2, j-1:j+1)) = =

폼 (I, j) = 0;

폼 (I+1,j) = 0;

끝 if form(i, j) = =1& 폼 (I+1,j+1) = =1& 합계 (합계 (폼 (I: I+1,j: j+1)) = = 2

If sum(sum(form(i- 1:i+2, j-1:j+2)) = = 3& (폼 (I-1,j+2) = =1| 폼 (I+2, j-1))

폼 (I, j) = 0;

폼 (I+1,j+1) = 0;

If sum(sum(form(i- 1:i+2, j-1:j+2)) = = 4& 폼 (I-1,j+2) = =1& 폼 (I+2, j- 1)== 1

폼 (I, j) = 0;

폼 (I+1,j+1) = 0;

끝 if form(i, j+1) = =1& 폼 (I+1,j) = =1& 합계 (합계 (폼 (I: I+1,j: j+1)) = = 2

If sum(sum(form(i- 1:i+2, j-1:j+2)) = = 3& (폼 (I-1,j-1) = =1| 폼 (I+2, j+2)

폼 (I, j+1) = 0;

폼 (I+1,j) = 0;

If sum(sum(form(i- 1:i+2, j-1:j+2)) = = 4& 폼 (I-1,j-1) = =1& 폼 (I+2, j+2)== 1

폼 (I, j+1) = 0;

폼 (I+1,j) = 0;

Endmax = 0;

I=3: 행 3 의 경우

J=3: 열 3 의 경우

S = 합계 (합계 (폼 (I-2: I+2, j-2: j+2));

M=i-2:i+2 의 경우

N=j-2:j+2 의 경우

S>= 7 & ampabs(coef3(m, n) n))& lt;; =s*3

폼 (m, n) = 0;

Endfigure

Imshow(form, []);