资源简介
matlab完整可运行,含实验报告,含评价参数,含测试图片
代码片段和文件信息
function sar_cfar_6(hobjecteventdatahandlesf)
%SAR图像CFAR目标检测算法,算法采用的是基于瑞利分布的双参数CFAR算法
% sar_cfar_4(hobjecteventdatahandlesf),hobjecteventdatahandles分别是
% 图形界面程序传递下来的对象,事件,句柄;在这里,对象和事件均未使用,只使用了
% 句柄,f为输入的SAR图像,此时,SAR图像已经由三维变成了一维
f=imread(‘SAR-ship-4m.bmp‘);
figure;
imshow(f); %显示原图
pf = 0.001; %人为设定的恒虚警率
% densGate = 0.01; %密度滤波阈值
% rad = 1; %形态学滤波结构元素半径值
%--图像前期处理
f = double(f);
f_size = size(f);
%--交互的确定目标尺寸
%rect = getrect(handles.axes1);
width = 40;
height = 45;
% tic
%--进度条程序
% hWaitbar = waitbar(0‘请等待‘);
% h1=findobj(hWaitbar‘type‘‘patch‘);
% set(h1‘FaceColor‘‘r‘‘EdgeColor‘‘y‘);
% numWait = f_size(1)*f_size(2);
% numWaitCount = 0;
%--------------------------------------------------------------------------
% 一、确定CFAR检测器参数,包括窗口尺寸,保护区宽度,杂波区宽度
%--------------------------------------------------------------------------
%--确定CFAR检测器的参数
%--1.取长宽中的最大值
global tMaxLength;
tMaxLength = max(widthheight);
%--2.确定保护区的边长
global proLength;
proLength = tMaxLength*2 + 1; %为方便计算,取为奇数
%--3.确定杂波区环形宽度
global cLength;
cLength = 1; %厚度一般为1个像素点
%--4.计算用于杂波区域的像素数
numPix = 2*cLength*(2*cLength+proLength+proLength);
%--5.CFAR检测器边长的一半
global cfarHalfLength;
cfarHalfLength = tMaxLength+cLength;
%--6.CFAR检测器边长
global cfarLength;
cfarLength = proLength + 2*cLength;
str = sprintf(‘CFAR检测器保护区边长:%f,杂波区环形宽度:%f,用于杂波的像素数:%f‘...
proLengthcLengthnumPix); %显示
% disp(str); %显示
%--------------------------------------------------------------------------
% 二、对原图像边界扩充,以消除边界的影响
%--------------------------------------------------------------------------
padLength = cfarHalfLength; %确定图像填充的边界大小为CFAR滑窗的一半
global g;
g = padarray(f[padLength padLength]‘symmetric‘); %g为填充后的图像
% global g_dis; %画图
% g_dis = g; %画图
%--------------------------------------------------------------------------
% 三、确定CFAR阈值
%--------------------------------------------------------------------------
th = (2*sqrt(-log(pf))-sqrt(pi))/(sqrt(4-pi)); %该阈值由认为确定的虚警概率求
%X = norminv(Pmusigma) %得
%--------------------------------------------------------------------------
% 四、利用CFAR检测器,求解局部阈值,执行单个像素点的判断
%--------------------------------------------------------------------------
%--1.定义结果处理矩阵
global resultArray
resultArray = zeros(size(g));
%--2.CFAR检测
%这里将CFAR检测器划分为四个检测区,如下图所示
%
% |—————————————|
% |——————-1——————|
% | | | |
% | | | |
% | 3 | | 4 |
% | | | |
% | |
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 24509 2017-01-01 21:04 遥感\c.JPG
文件 8924 2017-01-02 13:20 遥感\cfar.m
文件 8594 2017-01-02 21:29 遥感\cfar2.m
文件 4474680 2015-12-01 20:04 遥感\SAR-ship-1.5m.bmp
文件 764568 2014-11-19 11:21 遥感\SAR-ship-4m.bmp
文件 1820160 2017-01-03 00:05 遥感\实验四 SAR图像舰船目标检测.doc
目录 0 2017-12-09 22:13 遥感\
- 上一篇:matlab图论以及图论软件
- 下一篇:语音识别matlab GUI
评论
共有 条评论