【目标检测】SAR图像舰船目标检测【含Matlab源码 3082期】_sar和光学飞机目标检测-程序员宅基地

技术标签: Matlab图像处理(初级版)  目标检测  

在这里插入图片描述

一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【目标检测】基于matlab SAR图像舰船目标检测【含Matlab源码 3082期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab图像处理(初级版)

备注:
点击上面蓝色字体付费专栏Matlab图像处理(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab图像处理(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

二、数字图像处理简介

图像处理基础教程链接
1 【基础教程】基于matlab图像处理(表示方法+数据结构+基本格式+类型转换+读取+点运算+代数运算)【含Matlab源码 834期】
2 【基础教程】基于matlab图像处理(读写+显示+运算+转换+变换+增强+滤波+分析+统计)【含Matlab源码 144期】
3 【基础教程】基于matlab图像增强+复原+分割【含Matlab源码 056期】

三、部分源代码

function sar_cfar_6(hObject,eventdata,handles,f)
%SAR图像CFAR目标检测算法,算法采用的是基于瑞利分布的双参数CFAR算法
% sar_cfar_4(hObject,eventdata,handles,f),hObject,eventdata,handles分别是
% 图形界面程序传递下来的对象,事件,句柄;在这里,对象和事件均未使用,只使用了
% 句柄,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(width,height);

%–2.确定保护区的边长
global proLength;
proLength = tMaxLength*2 + 1; %为方便计算,取为奇数

%–3.确定杂波区环形宽度
global cLength;
cLength = 1; %厚度一般为1个像素点

%–4.计算用于杂波区域的像素数
numPix = 2cLength(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’…
,proLength,cLength,numPix); %显示
% 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(P,mu,sigma) %得

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

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

%–2.CFAR检测

%这里将CFAR检测器划分为四个检测区,如下图所示
%
% |—————————————|
% |——————-1——————|
% | | | |
% | | | |
% | 3 | | 4 |
% | | | |
% | | | |
% | | | |
% |—————————————|
% |——————-2——————|
%遍历图像中的每个点
for i = (1+padLength):(f_size(1)+padLength)
for j = (1+padLength):(f_size(2)+padLength)
[csIndex1 csIndex2 csIndex3 csIndex4] = getEstSec(i,j,1);
%得到(i,j)处像素所对应的4个杂波估计区域,如上图所示
[u,delta] = cfarEstPra(csIndex1,csIndex2,csIndex3,csIndex4);
%由杂波区域得到均值和标准偏差
temp = (g(i,j)-u)/delta; %计算双参数CFAR检测判别式
%目标点判别
if temp > th
resultArray(i,j) = 1;
else resultArray(i,j) = 0;
end
end
end

四、运行结果

在这里插入图片描述
在这里插入图片描述

五、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]赵燕熙.基于时间和空间显著性运动目标检测方法研究[D].昆明理工大学

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_63266434/article/details/134733324

智能推荐

Windows的torch + Cuda + cuDNN_cuda必须安装在c盘吗-程序员宅基地

文章浏览阅读2k次。windows下的pytorch-gpu安装_cuda必须安装在c盘吗

java/jsp/ssm酒店客房管理系统的设计与实现【2024年毕设】-程序员宅基地

文章浏览阅读38次。springboot基于小程序的临沂大学非机动车车辆管理系统。开发软件:eclipse/myeclipse/idea。springboot基于微信小程序的线下剧本杀管理系统。springboot微信小程序的代驾系统的设计与实现。springboot一品萫茶馆管理系统的设计与实现。springboot交通违章处理系统的设计与实现。springboot洛阳地铁信息查询与管理系统。ssm基于微信小程序的多多母婴购物商城的设计与。springboot企业客户信息反馈平台。springboot校园篮球联赛管理系统。

【操作系统-Windows】使用“任务计划程序”延时启动程序_任务计划延时启动程序-程序员宅基地

文章浏览阅读1.1w次,点赞3次,收藏16次。第一步、打开任务方式一、控制面板中打开控制面板 >所有控制面板项 > 管理工具 ,任务计划程序方式二、运行中打开【Win+R】输入taskschd.msctaskschd.msc第二步、创建任务选中并右击【任务计划程序库】,点击【新文件夹】,命名为【Rsszy】。点击【操作】-【创建基本任务…】输入【名称】和【描述】,点击【下一步..._任务计划延时启动程序

【信息安全】数据安全与信息安全_信息安全的指标有什么-程序员宅基地

文章浏览阅读5.2k次,点赞2次,收藏26次。数据安全与信息安全的关系,是包含的关系,信息安全包括了数据安全与网络安全,数据安全主要是数据使用的安全。_信息安全的指标有什么

赛道A:“58 到家”家政服务订单分配问题_家政服务分配数学建模-程序员宅基地

文章浏览阅读828次。2022 年MathorCup 高校数学建模挑战赛——大数据竞赛赛道A:“58 到家”家政服务订单分配问题“58 到家”是“58 同城”旗下高品质、高效率的上门家政服务平台,平台向用户提供家政保洁、保姆、月嫂、搬家、维修等众多生活领域的服务。在家政保洁场景中,用户在平台下单购买服务后,平台会将订单分配给一个保洁阿姨,阿姨接到订单后按照用户指定的服务时间上门,进行保洁服务。_家政服务分配数学建模

如何为Java面试准备项目经验_java项目经验面试-程序员宅基地

文章浏览阅读2.9k次,点赞12次,收藏75次。如何为Java面试准备项目经验_java项目经验面试

随便推点

springboot校园二手交易平台的设计与实现 毕业设计 附源码260839_基于springboot二手市场论文-程序员宅基地

文章浏览阅读136次。用户管理模块:(1)用户注册登录:用户注册为会员并登录校园二手交易平台;用户对个人信息的增删改查,比如个人资料,密码修改。(2)用户查看商品:用户进行商品信息的阅览,通过发现喜欢的商品后可以购买+评论+收藏。(3)校园资讯:用户进行资讯的阅览,查看管理者发布的校园资讯信息。(4)留言板:用户在留言板这一菜单下对用户提交的查看、同时也可以发布、评论。(5)商品购买:用户对喜欢的商品可以加购,在购物车里面,当用户确定提交完毕后,将其提交给服务器后台系统,并生成订单。(6)我的订单:用户在提交订单后,_基于springboot二手市场论文

Root Cause org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean wi_root cause org.springframework.beans.factory.unsat-程序员宅基地

文章浏览阅读81次。字面意思是找不到你的某个名叫XXX的文件,但是,在确认了该bean已经在spring中被定义后依然出错,就很头疼了。后来才发现,因为我做的项目是SSM整合的联系,在web.xml中配置的spring.xml文件并不完整将web.xml中的配置信息修改正确后终于成功!..._root cause org.springframework.beans.factory.unsatisfieddependencyexception:

如何在WebGL中画图-程序员宅基地

文章浏览阅读597次。Original article: https://aralroca.com/blog/how-to-draw-gears-in-webgl 原始文章: https : //aralroca.com/blog/how-to-draw-gears-in-webgl In this article we continue what we started in “First steps in WebG..._webgl绘制图片

VS2015 经常不出现智能提示,代码颜色也没有了-程序员宅基地

文章浏览阅读2k次。重置下.开始菜单-->所有程序-->VisualStudio文件夹-->VisualStudioTools-->DeveloperCommandPromptforVS2012输入DOS命令:CDCommon7/IDE进入到该工具下的子文件夹中输入:devenv.exe/setup/resetuserdata/resetsett..._vs2015 .c打代码没有颜色和提示

Redis Cluster学习笔记_myself,master - 0 0 2 connected 5492-10922 [5492->-程序员宅基地

文章浏览阅读455次。Redis在3.0版正式引入了集群这个特性。Redis集群是一个分布式(distributed)、容错(fault-tolerant)的 Redis内存K/V服务, 集群可以使用的功能是普通单机 Redis 所能使用的功能的一个子集(subset),比如Redis集群并不支持处理多个keys的命令,因为这需要在不同的节点间移动数据,从而达不到像Redis那样的性能,在高负载的情况下可能会导致不可预_myself,master - 0 0 2 connected 5492-10922 [5492->-cb3a1c46679dfa5211a6d9843

报错:Torch not compiled with CUDA enabled看这一篇就足够了-程序员宅基地

文章浏览阅读8.6w次,点赞91次,收藏396次。报错:Torch not compiled with CUDA enabled看这一篇就足够了_torch not compiled with cuda enabled

推荐文章

热门文章

相关标签