📄 mainscan.m
字号:
function [imptvalue,imptflag,scancode,scanflag,flaglist]=mainscan(Mat,scanlist,flaglist,imptvalue,imptflag,threshold)
global row col
scancode=[];
for i=1:row*col
if flaglist(scanlist(i,2),scanlist(i,3))=='O'
continue;
elseif abs(scanlist(i,4))>=threshold
if scanlist(i,4)>=0
flaglist(scanlist(i,2),scanlist(i,3))='P';
scancode=[scancode 'P'];
imptvalue=[imptvalue;abs(scanlist(i,4)),scanlist(i,2),scanlist(i,3)];
imptflag=[imptflag 'P'];
else
flaglist(scanlist(i,2),scanlist(i,3))='N';
scancode=[scancode 'N'];
imptvalue=[imptvalue;abs(scanlist(i,4)),scanlist(i,2),scanlist(i,3)];
imptflag=[imptflag 'N'];
end
else
if flaglist(scanlist(i,2),scanlist(i,3))=='X'
continue;
elseif i>row*col/4
scancode=[scancode 'Z'];
else
[chImt,chMat]=childImportant(Mat,scanlist(i,2),scanlist(i,3),threshold,flaglist);
if chImt
flaglist(scanlist(i,2),scanlist(i,3))='Z';
scancode=[scancode 'Z'];
else
flaglist(scanlist(i,2),scanlist(i,3))='T';
scancode=[scancode 'T'];
[rowch,colch]=size(chMat);
for r=1:rowch
if flaglist(chMat(r,1),chMat(r,2))~='O'
flaglist(chMat(r,1),chMat(r,2))='X';
end
end
end
end
end
end
scanflag=flaglist;
for r=1:row
for c=1:col
switch flaglist(r,c)
case {'P','N'}
flaglist(r,c)='O';
case {'X','T'}
flaglist(r,c)='Z';
end
end
end
function [chImt,chMat]=childImportant(Mat,chRows,chCols,threshold,flaglist)
global row col
chMat=childMat(Mat,chRows,chCols);
if max(abs(chMat(:,3)))>=threshold
chImt=1;
else
chImt=0;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -