• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Matlab对夜间灯光数据图像的读取和统计 - wanghua+

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Matlab对夜间灯光数据图像的读取和统计

 1 %统计多幅影像的亮值像元个数(TLP)和灰度亮值总数(TDN)
 2 clear;
 3 file_path=\'D:\D\guo\线性校正DMSP\\'; %存放文件夹位置
 4 img_list=dir(strcat(file_path,\'*.tif\'));
 5 img_num=length(img_list); %图像个数
 6 a=importdata(\'D:\D\guo\线性校正DMSP\F142000.tif\'); %读取一个栅格数据
 7 [m,n]=size(a);     %获取数据行列号
 8 datasum=zeros(m*n,img_num);   %存放多幅影像的二维数组
 9 k=1;
10 for i=1:img_num
11     file_name=img_list(i).name; %图像的名称
12     data=importdata(strcat(file_path,file_name));
13     data=reshape(data,[],1);
14     datasum(:,k)=data;
15     k=k+1;
16 end
17 b=datasum>0; %大于0像素数组
18 TLP=sum(b); %大于0的像素个数
19 TDN=sum(datasum.*b);%大于0的像素和
View Cod

 

1、通过dir函数提取指定的文件夹下面的多幅".tif"格式的图像。

img_list=dir(strcat(file_path,\'*.tif\'));其中‘*’为通配符,没有’*‘将会读到到一个影像图列表。

2、读取影像importdata函数只能是读取当前目录下的文件,一般选择imread函数。imraed函数可以读取任务目录下的文件,只要你文件路径名正确。

a=importdata(\'D:\D\guo\线性校正DMSP\F142000.tif\')

3、将多个栅格数据的像元值转换为数组形式,方便后面的数值统计。

data=reshape(data,[],1);通过reshape函数进行转换为一列是数值。

在matlab里面尽量少用循环,多用数组,向量进行统计分析,这样将大大提高运行的速度。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
matlab之指派问题(整数规划)发布时间:2022-07-18
下一篇:
Matlab笔记发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap