遥感图像识别算法学习
Posted 徐医泰迪工作室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了遥感图像识别算法学习相关的知识,希望对你有一定的参考价值。
正文共:1393字 ,预估阅读时间:4 分钟
-
遥感图像识别算法学习
背景介绍
2021年2月21日,《中共中央国务院关于全面推进乡村振兴加快农业农村现代化的意见》,即2021年中央一号文件发布。文件指出,要坚持把解决好“三农”问题作为全党工作重中之重,把全面推进乡村振兴作为实现中华民族伟大复兴的一项重大任务,举全党全社会之力加快农业农村现代化,反映出我国对农业问题的重视。而耕地的数量和质量是保持农业可持续发展的关键,利用卫星遥感影像可以识别并提取耕地,并对耕地进行遥感制图,准确的耕地分布能够为国家决策部门提供重要支撑。由于目前高精度的耕地信息提取主要还是依靠人工解译,耗费大量人力、财力且效率较低,因此,遥感图像的耕地识别算法研究将对耕地遥感制图提供重要帮助。
实现目标
本文选用mathorcup挑战赛官方提供的遥感图数据,利用MATLAB软件,基于贝叶斯分类算法进行遥感图像阈值分割,尽可能准确高效的将耕地提取出来(白色为耕地部分)。原图像如上:
图像处理基础知识
图像处理(imageProcessing)利用计算机对图像进行分析,以达到所需的结果。主要包括图像采样、图像增强、图像复原、图像编码与压缩和图像分割。图像阈值分割是一种广泛应用的分割技术,利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域(目标区域和背景区域)的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。图像阈值分割结果图像如下:
代码
向下滑动阅览
%基于贝叶斯分类算法的图像阈值分割
clear
clc;
I = imread('E:\\test.png'); %读取遥感图像
Im=rgb2gray(I); %原始图像转换为灰度图像
figure(1); %子图1显示
imshow(I);
title('遥感图像')
whos('I');
disp('原始图像大小:') %查看原始图像大小
[x,y]=size(Im); % 求出图像大小
b=double(Im); %图像类型存储转换,将图像矩阵转换为双精度类型
max=double(max(Im)) % 求出图像中最大的灰度
min=double(min(Im)) % 最小的灰度
T=double((max+min))/2; % T赋初值,为最大值和最小值的平均值
count=double(0);% 记录几次循环
while 1 % 迭代最佳阈值分割算法
count=count+1;
S0=0.0; n0=0.0; %为计算灰度大于阈值的元素的灰度总值、个数赋值
S1=0.0; n1=0.0; %为计算灰度小于阈值的元素的灰度总值、个数赋值
for i=1:x
for j=1:y
if double(Im(i,j))>=T
S1=S1+double(Im(i,j)); %大于阈域值图像点灰度值累加
n1=n1+1; %大于阈域值图像点个数累加
else
S0=S0+double(Im(i,j)); %小于阈域值图像点灰度值累加
n0=n0+1; %小于阀域值图像点个数累加
end
end
end
T0=S0/n0; %求小于阀域值均值
T1=S1/n1; %求大于阀域值均值
if abs(T-((T0+T1)/2))<0.1 %迭代至前后两次阀域值相差几乎为0时 停止迭代
break;
else
T=(T0+T1)/2; %在阈值T下,迭代阈值的计算过程
end
end
count %显示运行次数T
i1=im2bw(Im,T/255); % 图像在最佳阈值下二值化
figure(2);
imshow(i1)
title('遥感图像阈值分割结果') ;
|
|
|
|
文案&代码:姜观华(徐州医科大学公共卫生学院研究生一年级)
指导老师:温宗良(徐州医科大学管理学院)
排版:姚心怡(徐州医科大学管理学院研究生一年级)
审稿:朱雁(徐州医科大学医学信息与工程学院)
如对文中内容有疑问,欢迎交流。PS:部分资料来自网络
如有需求,可以联系
温宗良(wenzl@xzhmu.edu.cn)
姚心怡(1848923822@qq.com)
徐医泰迪智能双创工作室出品
以上是关于遥感图像识别算法学习的主要内容,如果未能解决你的问题,请参考以下文章