资源简介
为了实现对合成孔径雷达(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
相关资源
- Pattern Recognition and Machine Learning(高清
- MATLAB 编程 第二版 Stephen J. Chapman 著
- 均值滤波和FFT频谱分析Matlab代码
- 《MATLAB扩展编程》代码
- HDB3码、AMI码的MATLAB实现
- 3点GPS定位MATLAB仿真
- MATLAB数字信号处理85个实用案例精讲入
- matlab从入门到精通pdf94795
- 欧拉放大论文及matlab代码
- 跳一跳辅助_matlab版本
- 全面详解LTE MATLAB建模、仿真与实现
- MIMO-OFDM无线通信技术及MATLAB实现_孙锴
- MATLAB Programming for Engineers 4th - Chapman
- matlab 各种谱分析对比
- 分数阶chen混沌matlab程序
- 基于粒子群算法的非合作博弈的matl
- MATLAB车流仿真 包括跟驰、延误
- matlab空间桁架计算程序
- 基于MATLAB的图像特征点匹配和筛选
- DMA-TVP-FAVAR
- GPS信号的码捕获matlab代码.7z
- 一维光子晶体MATLAB仿真代码吸收率折
- newmark法源程序
- 传统关联成像、计算鬼成像matlab
- pri传统分选算法
- 摆动滚子推杆盘形凸轮设计
- 医学图像重建作业matlab源码
- Matlab实现混沌系统的控制
- 检测疲劳驾驶
- Matlab锁相环仿真-Phase Locked Loop.rar
评论
共有 条评论