利用Matlab从图像中提取数据
科技信息○IT论坛○SCIENCE&TECHNOLOGYINFORMATION2010年第11期
利用Matlab从图像中提取数据
王淑娟张玉叶
(中国人民解放军海军航空工程学院青岛分院
【摘法。
【关键词】Matlab;图像处理
山东青岛266041)
要】Matlab软件提供的图像处理功能能够从图像中提取数据,本文以读取图像数据为例,阐述了利用matlab从图像中提取数据的方
ExtractedDataFromImagebyMatlabWANGShu-juanZHAGNYu-ye
(QingdaoBranchofNAEA,QingdaoShandong,266041)
【Abstract】DatacanbeextractedfromimagebythefunctionofimageprocessingwhichsuppliedbyMatlab.Thearticleexplainsthemethodofextractingdatafromimageusingmatlabwiththeexampleofreadingimagedata.
【Keywords】Matlab;Imageprocessing
0引言3图像数据提取
随着卫星遥感的发展,所获取的海洋数据也越来越丰富。这些卫星观测数据绝大部分可以从相应的网站上下载,或者通过向相应卫星管理机构索取数据光盘获得。这些数据的格式有二进制格式的,有ASCII码格式的,还有图像格式的。对于二进制格式和ASCII码格式的数据,提供数据的网站或光盘里会附有说明文档或者读取程序,而图像格式的一般只是在网页上供浏览,一般网站都不会提供软件来从图像中提取数据,而Mathworks公司的Matlab软件提供的图像处理功能可以帮助我们方便的处理这些图片。
下面以图1为例,叙述如何从中提取SST数据。图1为2003年1月1日东中国海的SST等值线图,从美国海军研究实验室Stennis空间中心网站获得。
1Matlab图像处理的文件格式
图像文件格式的种类比较多,常见的有JPEG,TIFF,BMP,PNG,GIF等,这些图像文件格式Matlab都支持。在Matlab中,一幅图像可能包含一个数据矩阵或者包含一个颜色映射表矩阵,Matlab中有四种基本的图像类型:索引图像,RGB图像,灰度图像,二进制图像。Matlab中图像文件信息查询的函数是imfinfo,调用格式为info=imfinfo(‘filename’),其中的ColorType项就表示图像类型。
索引图像包含一个数据矩阵和一个颜色映射表矩阵,其中颜色映射表矩阵是一个三列,若干行的矩阵,其每一个元素的值均为区间[0,1]之间的双精度浮点型数据,从第一列到第三列分别表示红色,绿色和蓝色的颜色值。索引图像是从像素值到颜色映射表值的直接映射,像素的颜色由数据矩阵作为索引指向颜色映射表矩阵进行索引。数据矩阵与颜色映射表矩阵之间的关系取决于图像数据矩阵的类型。如果图像数据矩阵是双精度类型的,则值1指向颜色映射表矩阵的第一行;如果图像矩阵是8位或16位无符号整形的,则值0指向颜色映射表矩阵的第一行。Matlab中用来加载图像的函数为imread,对于索引图片,其调用格式为
图12003年1月1日东中国海SST
(引自NavalResearchLaboratoryStenniSpaceCenterhttp://www7300.nrlssc.navy.mil/altimetry/images/arc_html/arc.ecs_Jan_1_2003.html)
3.1
[x,map]=imread(‘filename’)。
RGB图像,又称真彩图像,它由一个m×n×3的数据矩阵组成,其中m×n是像素点的个数,矩阵包括图像中每个像素的红,绿,蓝值,像素的颜色由该像素在数据矩阵中对应位置上的红,绿,蓝的灰度值的组合来确定。在Matlab中,对于RGB图像的,imread函数的调用格式
判断图像的类型
首先判断图像的类型,调用imfinfo函数,info=imfinfo(‘sst.gif’),输出结果为
x=imread(‘filename’)。
灰度图像包含一个数据矩阵,该矩阵中的元素分别代表了图像中相应像素的灰度值。对于灰度图像的,imread函数的调用格式x=
imread(‘filename’)。
二进制图像包含一个数据矩阵,图像中每个像素对应0或1值。对于二进制图像的,imread函数的调用格式x=imread(‘filename’)。
2获取图像
美国海军研究实验室Stennis空间中心网站nrlssc.navy.mil/altimetry/)提供全球数个海区的每日的SSH和SST数据所绘成的等值线图,以及JASON-1所测得的海表面风速图。这些图片一般都有几年的时间序列,有比较高的利用价值。可以利用下载软件导入地址列表,对这些图片进行批量下载。
Filename:'sst.gif'
FileModDate:'06-Jan-200307:00:17'FileSize:45835Format:'GIF'FormatVersion:'87a'
Width:621Height:862BitDepth:7
ColorType:'indexed'FormatSignature:'GIF87a'BackgroundColor:0AspectRatio:0
ColorTable:[128x3double]Interlaced:'no'
其中ColorType的值为indexed,表示这是索引图片。按照索引图片读取方法读入图片,[x,map]=imread(‘sst.gif’),得到两个矩阵,x数据矩阵,大小为862×621,表明该图像由862×621个像素点组成。x
中每个
49
2010年第11期SCIENCE&TECHNOLOGYINFORMATION○IT论坛○科技信息
元素的值就是对应像素点的颜色索引值。提取数据的基本思想就是用所求点的颜色索引值与色标(ColorBar)中各点的颜色的索引值对比,索引值相同的点温度相同,由此可以确定所求点的温度值。3.2确定各像素点对应的经纬度
在获取数据的时候,需要确定各像素点对应的经纬度。因此在Matlab中将图片中心所示的陆地和海区以外的区域“裁”去,“裁剪”的程序如下:
%读入图片
[data,map]=imread('sst.gif');[x,y]=size(data);%确定左边界fori=1:xforj=1:y
if(data(i,j)~=1)&&(data(i,j)~=0)%1,0分别表示黑,白,与颜色映射表有关
left=j;breakendendend
%确定上边界fori=1:x
if(data(i,left)~=1)&&(data(i,left)~=0)up=i;breakendend
%确定右边界real=0i=x/2
%跳过色标forj=y:-1:1
if(real==1&&data(i,j)==1)break
elseif(data(i,j)~=0)real=1;temp=j;endend
forj=temp:-1:1
if(data(i,j)~=1)&&(data(i,j)~=0)right=j;breakendend
%确定下边界j=(y-1)/2fori=x:-1:1
if(data(i,j)~=1)&&(data(i,j)~=0)bottom=i;
breakendend
data=data(up:bottom,left:right)image(data)colormap(map)
图2是“裁剪”后得到的图片,横坐标和纵坐标单位都是像素,与图1中所标的经纬度对比就可确定各像素点的经纬度了。用同样的方法可以将色标”裁剪”出来,然后将色标中各种颜色的索引值和对应的温度值分别存到数组ref和value中。最后将data中的各个元素的值与ref中颜色索引值对比,确定各个元素对应的温度。3.3提取数据
%获取温度
图22003年1月1日东中国海的SST数据
fori=1:xforj=1:yfork=1:60
ifdata(i,j)==ref(k)
temp_data(i,j)=value(k);data(i,j)=100;endendendendfori=1:xforj=1:y
ifdata(i,j)~=100
temp_data(i,j)=99;%该点是陆地或无值endendend3.4
保存数据
最后将数据写入文件。%写入文件%写入文件
f_id=fopen('sst.dat','w');fori=1:xforj=1:y
fprintf(f_id,'%2i',temp_data(i,j));endend
这样,就从该图片中提取出了2003年1月1日东中国海的SST数据。
4结束语
Matlab软件提供的图像处理功能能够从图像中提取数据,常见的图像文件格式如JPEG,TIFF,BMP,PNG,GIF等图像文件格式Matlab都支持。
对得到的数据可以作进一步的处理,从而得到 …… 此处隐藏:2331字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教学研究]2012西拉科学校团少队工作总结
- [教学研究]建筑工程公司档案管理制度
- [教学研究]小学数学人教版六年级上册圆的周长和面
- [教学研究]ERP电子行业解决方案
- [教学研究]钢支撑租赁合同范本
- [教学研究]预应力自动张拉系统用户手册Rev1.0
- [教学研究]MOOC课程:金瓶梅人物写真(每章节课后
- [教学研究]追加被执行人申请书(适用追加夫妻关系)
- [教学研究]2014年驾考科目一考试最新题库766
- [教学研究]2013-2014学年度九年级物理第15章《电
- [教学研究]新版中日交流标准日本语初级下26课-客
- [教学研究]小导管注浆施工作业指导书
- [教学研究]一般财务人员能力及人岗匹配评估表
- [教学研究]打1.2.页 小学一年级暑假口算100以内加
- [教学研究]学习贯彻《中国共产党党和国家机关基层
- [教学研究]2012年呼和浩特市中考试卷_35412
- [教学研究]最简易的电线电缆购销合同范本
- [教学研究]如何开展安全标准化建设
- [教学研究]工作分析与人岗匹配
- [教学研究]2016-2017学年高中历史第七单元现代中
- 山东省义务教育必修地方课程小学三年级
- 台湾宜兰大学互联网交换技术课程 01_In
- 思想品德:第一课《我知我家》课件(人
- SAR合成孔径雷达图像点目标仿真报告(附
- 利辛县“十三五”规划研究报告
- 2015-2020年中国手机APP行业市场发展趋
- 广告策略、创意表现、媒体方案
- 企业如何申请专利的的几点思考
- 《中国教育简史》网上作业
- 高中历史第二单元西方人文精神的起源及
- 年终晚会必备_精彩的主持稿_精心整理_
- 信息工程专业自荐书
- 2019高考历史人教版一轮练习:第十二单
- JAVA俱乐部管理系统软件需求规格说明书
- 2016-2021年中国小型板料折弯机行业市
- (人教新课标)六上_比的基本性质课件PPT
- 辽宁省公务员考试网申论备考技巧:名言
- 神经阻滞麻醉知情同意书
- 施工企业信息填报、审核和发布的相关事
- 初一(七年级)英语完形填空100篇




