在matlab中读入shp文件很简单,一个函数shaperead就可以了,但输出为shp文件就稍微麻烦一些了。shp文件实际上就是一个struct,因此得到处理结果后,要先将数据变成struct结构,然后调用shapewrite函数就可以了。

clc;clear;close all;
[pic, R] = geotiffread('boston.tif'); %读取tif图像
gray=rgb2gray(pic);
bw=im2bw(gray,0.1); %阈值分割
bw=1-bw;
bw1 = bwareaopen(bw,30000); %删除面积小于500000的区域
bw2=imfill(bw1,'holes');  %填充孔洞
figure(1),imshow(bw2);
bw3=bwboundaries(bw2);  %得到边缘轮廓,一个轮廓为一个Line
num=size(bw3,1); %行数
STR = 'struct(''Geometry'',values ,''X'', values,''Y'', values,''ID'',values)';
values = cell(num, 1);  %为结构体赋初值
S = eval(STR);
clear values;
for i=1:numdata=bw3{i,1};   %得到轮廓线的坐标,一个N*2的矩阵,此坐标为本地图像坐标S(i).Geometry='Line';S(i).ID=i;[x,y]=pix2map(R,data(:,1),data(:,2)); %将本地图像坐标转换为地理坐标S(i).X=[x;NaN]';S(i).Y=[y;NaN]';
end
figure(2),axis off;
mapshow('boston.tif');   %绘制遥感影像
mapshow([S.X], [S.Y],'Color','r');  %绘制轮廓线
shapewrite(S,'water.shp');  %输出shp文件,会生成后缀名为shp,shx和dbf的三个文件

在matlab中将处理结果输出为shp文件相关推荐

  1. matlab对遥感影像投影转换,在matlab中实现遥感影像和shp文件的结合显示

    clc;close all;clear; road=shaperead('boston_roads.shp'); %读取shape文件 figure, mapshow('boston.tif'); % ...

  2. [ArcGIS] 表格输出为shp时日期时间列只保留日期而时间被截掉

    1.首先将存有GPS数据的表格加载到ArcGIS中, 2.然后右击表格-->Display XY Data,生成矢量数据. 查看dataall_csv&Events的属性表,可以看到此时 ...

  3. matlab读取二进制文件字符串,matlab读取内容为二进制的TXT文件

    本方法同样适合读取十六进制和二进制以外的其他进制文件, txt使用一个最简单的命令就可以读取 textread 这是一个十分有用,简便的函数(对于fopen fscanf而言) 读取二进制txt文件: ...

  4. matlab 文件输出到text文件总结

    matlab中将数据保存为txt或dat格式四种方案 --胡 总结网上各种资源,列出以下的四种方法(以txt为例). 第一种方法:save(最简单基本的) 具体的命令是:用save *.txt -as ...

  5. Matlab中将数据保存为txt或dat格式四种方法

    转载于 Tsingke 老师的文章--Matlab中将数据保存为txt或dat格式四种方案 - Tsingke - 博客园.                                       ...

  6. matlab将数据输出到excel中,matlab将数据保存为excel表格-怎样将MATLAB中的数据输出到excel中...

    怎样将MATLAB中的数据输出到excel中? xlswrite()函数可以将matlab中数据保存到excel中,请面例子: >> data = magic(5) % 示例数据 data ...

  7. matlab中的图片输出和设定

    看到一篇关于用Matlab输出任意品质图件的方法,分享给大家 1.在matlab 中图片的输出非常重要,鉴于发文章和写报告的考虑,才发现要像orgin一样设置图片是必要的. 主要是利用的EDIT里面的 ...

  8. MATLAB图像处理—imfindcircles的输出变量含义

    MATLAB图像处理-imfindcircles的输出变量含义 1.centers - Coordinates of circle centers(圆心坐标) centers输出的是两列矩阵(two- ...

  9. matlab矩阵输出txt文件中,matlab怎么把矩阵输出到txt

    1.matlab如何输出这样的矩阵到txt 带有非数值字符的输出,除了上面同学提到的自定义输出格式以外,还可以将其看成字符串进行输出.如下: clear clc %构造A矩阵 A = 1:9; A = ...

最新文章

  1. hadloop大数据平台论文_企业大数据平台建设过程中的问题和建议
  2. Win10 UWP开发系列:解决Win10不同版本的Style差异导致的兼容性问题
  3. Springboot注册Listener
  4. mysql增加最大连接数_mysql最大连接数怎么设置
  5. 网络安全系列之三十九 在Linux中配置访问控制列表ACL
  6. 项目管理学习总结(6)——产品经理常用的工具有哪些?
  7. linux系统监控、诊断工具摘录top IO wait lsof
  8. 企业生存与发展的前提是安全
  9. Android studio 或java打开txt文件
  10. 毕业之后才知道的——知网查重原理以及降重举例
  11. l13Nginx创建负载均衡
  12. Strut2简单使用
  13. python一种基于电脑mac地址的加密算法
  14. 传真百科:电子传真邮件客户端
  15. 用代码实现一场烟花盛宴,提前祝大家2022新春快乐
  16. Spring定时任务(计划任务)
  17. [Java学习之路篇] 设计原则与设计模式
  18. WINDBG使用教程
  19. 关于cat file,cat file EOF
  20. javascript用js简单的实现电子时钟

热门文章

  1. SQLServer之创建AFETER DELETE触发器
  2. Deconvolution与Upsampling的区别
  3. 输出stage.displayState等于null原因
  4. 专家系统中的推理机比较
  5. cuDNN 5对RNN模型的性能优化
  6. libsvm Minist Hog 手写体识别
  7. AngularJS优缺点、使用场景
  8. C++设计模式——适配器模式(对象适配器、类适配器)
  9. colpick-jQuery颜色选择器使用说明
  10. string 类的实现