?? weight_strokecrosscountingfeature.m
字號:
function P = Weight_StrokeCrossCountingFeature(im)
%加權筆畫密度特征
%分別從水平,垂直,左右對角線四方向假想一組網線來掃描漢字圖像,并考慮了其領域特征的加權貢獻。
%%
Im= im(:,:,1);
% [NumRows,NumCols] = size(Im);
Im = not(Im);
N=64;
w=[0 0.25 0.5 0.75 1 0.75 0.5 0.25 0];
WCCH=zeros(1,8);
WCCV=zeros(1,8);
WCCL=zeros(1,16);
WCCR=zeros(1,16);
%%水平方向
for i=1:8
I=8*(i-1)+4;
for k=-3:4
WCCH(i)=WCCH(i)+sum(Im(I+k,1:N-1).*not(Im(I+k,2:N)))*w(k+4)/2;
end
end
%%垂直方向
for j=1:8
J=8*(j-1)+4;
for k=-3:4
WCCV(j)=WCCH(j)+sum(Im(1:N-1,J+k).*not(Im(2:N,J+k)))*w(k+4)/2;
end
end
M=[];
NN=[];
MM=[];
%%右對角線
for i=1:8
I=8*(i-1)+4;
for k=-3:4
Sum1=0;
Sum2=0;
for j=1:N-8*(i-1)-5-k
% M = [M I+k+j+1]
Sum1 =Sum1+Im(I+k+j,j)*not(Im(I+k+j+1,j+1));
Sum2 =Sum2+Im(j,I+k+j)*not(Im(j+1,I+k+j+1));
% M=[M I+k+j];
% NN=[NN j];
% MM=vertcat(M,NN);
end
WCCL(i)=WCCL(i)+Sum1*w(k+4)/2;
WCCL(i+8)=WCCL(i+8)+Sum2*w(k+4)/2;
end
end
%%左對角線
% M=[];
for i=1:8
I=8*(i-1)+4;
for k=-3:4
Sum1=0;
Sum2=0;
for j =1:N-8*(i-1)-5-k
% M= [M N-I-k-j-1];
Sum1 =Sum1+Im(j,N-I-k-j+1)*not(Im(j+1,N-I-k-j));
Sum2 =Sum2+Im(I+k+j,N-j+1)*not(Im(I+k+j+1,N-j));
M=[M j];
NN=[NN N-I-k-j+1];
MM=vertcat(M,NN);
end
WCCR(i)=WCCR(i)+Sum1*w(k+4)/2;
WCCR(i+8)=WCCR(i+8)+Sum2*w(k+4)/2;
end
end
P = horzcat(WCCH,WCCV,WCCL,WCCR);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -