核心提示:SAAC-CFAR目标检测源码...
function cid = SAACCFAR( data , alarm, winSize, strip, cenSize) % Using to Constant False Alarm based on Gaussian distribution % input: % data data channel uint/double % alarm Constant Flase Alarm uint/double % winSize Size of the protective area(half) uint/double % strip Size of strip area uint/double % cenSize Size of the target area(half) uint/double % output: % cid 0/1(1 stand for the target) byte % form : % cid = SAACCFAR( data , alarm, winSize, strip, cenSize) % edited: 2011-04-28 by liujie SPL@WHU %% function Body % ���Է��Ŷ��� DEBUG = 1; %ͨ���龯�ʼ�����ֵ threshold = norminv(1-alarm); [row col] = size(data); cid = zeros(row,col); center_data = zeros((2.*cenSize+1).*(2.*cenSize+1),1); clutter_data = zeros(4.*strip.*strip+4.*strip.*(2.*winSize+1),1); clutter_top = zeros(strip.*(2.*strip+2.*winSize+1),1); clutter_buttom = zeros(strip.*(2.*strip+2.*winSize+1),1); clutter_left = zeros(strip.*(2.*winSize+1),1); clutter_right = zeros(strip.*(2.*winSize+1),1); num1 = strip.*(2.*strip+2.*winSize+1); num2 = strip.*(2.*winSize+1); num3 = strip+winSize; num4 = 4.*strip.*strip+4.*strip.*(2.*winSize+1); num5 = (2.*cenSize+1).*(2.*cenSize+1); for p = (winSize+strip+1) : (row- winSize-strip) for q = (winSize+strip+1) : (col- winSize-strip) %��ö������������� clutter_top = reshape(data(p-num3:p-winSize-1,q-num3:q+num3),[num1,1]); %��õײ����������� clutter_buttom = reshape(data(p+winSize+1:p+num3,q-num3:q+num3),[num1,1]); %���������������� clutter_left = reshape(data(p-winSize:p+winSize,q-num3:q-winSize-1),[num2,1]); %����ұ����������� clutter_right = reshape(data(p-winSize:p+winSize,q+winSize+1:q+num3),[num2,1]); %����Ӳ����� clutter_data = cat(1,clutter_top,clutter_buttom,clutter_left,clutter_right); SAAC_data = zeros(size(clutter_data)); SAAC_data(1) = clutter_data(1); SAAC_data(2) = clutter_data(2); SAAC_mean=mean(SAAC_data(1:2)); SAAC_var=var(double(SAAC_data(1:2))); for sh=3:num4 if abs(clutter_data(sh)-SAAC_mean)<SAAC_var SAAC_data(sh)=clutter_data(sh) ; % ͳ�Ʒ�����Ӳ�ֵ x = SAAC_data(find(SAAC_data(:)~=0)); SAAC_mean=mean(x(:)); SAAC_var=var(double(x(:))); end end %���Ŀ���������� center_data = reshape(data(p-cenSize:p+cenSize,q-cenSize:q+cenSize),[num5,1]); %����Ӳ������ֵ clutter_mean = mean(clutter_data(:)); %����Ӳ����� clutter_var = sqrt(var(double(clutter_data(:)))); %���Ŀ�������ֵ center_mean = mean(center_data(:)); %�ж��Ƿ�ΪĿ������ T = SAAC_var.*threshold+SAAC_mean; % T=clutter_var.*sqrt(-2*log(alarm)) ; if center_mean >= T for ii = p-cenSize:p+cenSize for jj = q-cenSize:q+cenSize cid(ii,jj) =1; end end end end end ...end of p iteration if DEBUG figure; imshow(cid,[0 1]); end end... end of function
联系:highspeedlogic
QQ :1224848052
微信:HuangL1121
邮箱:1224848052@qq.com
微信扫一扫:
![]()
--------------------------------------------------------------------------------------
人工智能代做,深度学习代做,深度强化学习代做,zynq智能系统FPGA开发,
AI代做,卷积神经网络,Alexnet,GoogleNet,CNN,TensorFlow,
caffe,pointnet,PPO,Qlearning,FasterRCNN,MTCNN,
SPPNet,word2vec,SARASA算法,梯度策略等等