• 大小: 3KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-08
  • 语言: Matlab
  • 标签: matlab  

资源简介

为了实现对合成孔径雷达(SAR)图像中舰船目标的实时检测,本文以双参数恒虚警(CFAR)算法为例,提出一种基于ARM+GPU架构的SAR图像舰船目标检测算法的实现方案。该方案在NVIDIA Jetson TK1开发板上的测试结果表明,与传统基于CPU 的SAR图像舰船检测算法相比,该方案能够达到数百倍的速度提升,有效解决了利用CPU平台进行舰船目标检测耗时长、效率低的问题。Jetson TK1作为嵌入式处理平台,相对于工作站或服务器,在功耗和便携性方面都具有明显的优势。

资源截图

代码片段和文件信息

function sar_cfar_6(hobjecteventdatahandlesf)
%SAR图像CFAR目标检测算法,算法采用的是基于瑞利分布的双参数CFAR算法
%   sar_cfar_4(hobjecteventdatahandlesf),hobjecteventdatahandles分别是
%   图形界面程序传递下来的对象,事件,句柄;在这里,对象和事件均未使用,只使用了
%   句柄,f为输入的SAR图像,此时,SAR图像已经由三维变成了一维
f=imread(‘G:\1.jpg‘);
figure;
imshow(f);

pf = 0.05;                          %人为设定的恒虚警率
% densGate = 0.01;              %密度滤波阈值
% rad = 1;                        %形态学滤波结构元素半径值

%--图像前期处理
f = double(f);
f_size = size(f);

%--交互的确定目标尺寸
% rect = getrect(handles.axes1);  
width = 5;
height = 10;
% 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));  %该阈值由认为确定的虚警概率求
                                                %得

%--------------------------------------------------------------------------
%        四、利用CFAR检测器,求解局部阈值,执行单个像素点的判断
%--------------------------------------------------------------------------

%--1.定义结果处理矩阵
global resultArray
resultArray = zeros(size(g));

%--2.CFAR检测

%这里将CFAR检测器划分为四个检测区,如下图所示
%
%          |—————————————|
%          |——————-1——————|
%          |   |                |   |
%          |   |                |   |
%          | 3 |                | 4 |
%          |   |                |   |
%          |   |                |   |
%          |   |             

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8775  2013-05-06 16:29  cfar.m

----------- ---------  ---------- -----  ----

                 8775                    1


评论

共有 条评论