• 大小: 4.89MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-16
  • 语言: Matlab
  • 标签:

资源简介

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  遥感\

评论

共有 条评论

相关资源