[c,h] = contour(___);  % 返回等高线矩阵c和等高线对象h

c为等高线矩阵,返回为二行多列矩阵。每组中的第1列第1行顶部是等高线层级,第1列第2行是该

等高点的数据个数。组中的后续列是 (x, y) 坐标。第1行为 x 坐标,第2行为 y 坐标。

h为等高线对象,可以设置其属性,例如,线宽,颜色。

clabel(c,h,'fontsize',14);

此函数为等高线上显示其对应的数值。

[c,h] = contourf(___);  % 返回等高线矩阵c和等高线对象h

contourf与contour的唯一区别就是contourf的等高线图形使填充的。

如何从矩阵c中分离处数据?

函数如下:调用即可

function s=contourdata(c)
if nargin<1 || ~isfloat(c) || size(c,1)~=2 || size(c,2)<4error('CONTOURDATA:rhs',...'Input Must be the 2-by-N Contour Matrix C.')
endtol=1e-12;
k=1;     %记录有几条等高线
col=1;   %第几列while col<size(c,2); % while less than total columns in cs(k).level = c(1,col); s(k).number = c(2,col); idx=col+1:col+c(2,col);%例如2:16s(k).x = c(1,idx); s(k).y= c(2,idx); s(k).isopen = abs( diff( c(1,idx([1 end])) ) ) >tol || ...  %或abs( diff( c(2,idx([1 end])) ) ) >tol ; %diff差分函数   计算首位数值是否相同k=k+1;%等高线条数+1col=col+c(2,col)+1;
end

s(k)为结构体,包含以下:

s(k).level :第 k 行的等高线层级;s(k).number: 第 k 条线的坐标个数;

s(k).x: 第 k 行的 x 轴数据。 s(k).y:第 k 行的 y 轴数据。

s(k).isopen :如果第 k 个轮廓是开放的,则为1,如果是封闭的,则为0。

疑惑1:

当一条等高线的数据较多时,contour函数会将一条等高线分段处理,而且不是按顺序排列的。例如:分成2段,但是第2段拼接在第1段前面才是一个按顺序排列的完整的数据轮廓。我仿真时碰到过分成2、3、5段的,虽然可以根据规律将它们拼接在一起,但是觉得不具备普遍性。

疑惑2:

也可能出现分段中的其中一段的数据不是按顺序排列的,如x坐标:3,2,1,0,-1,-2,-3。此时需要将坐标数据反向处理。

疑惑3:

不知道这个函数提出的数据精度怎么样,因为我是用来提出隐函数的等高线的坐标数据的,所以需要知道其精度。网上没有关于这个讨论。不知道有没有大佬了解这个问题。

如果有人遇到了和我一样的问题,请留言进行讨论吧!

MATLAB-等高线函数contour以及提取轮廓数据相关推荐

  1. matlab contour3函数,matlab 等值线函数 contour

    contour是等高线绘制函数 我并没怎么用过这个函数,只是参照help将上面的英文翻译一下,如果有错误,请大家提出来. contour(Z)根据矩阵Z画出等高线,Z是以x,y为平面的高度.Z必须是一 ...

  2. matlab 不同函数间传递结构体数据_matlab 结构体struct函数使用方法

    1.struct函数直接定义 查阅文档是这样的:struct(field1,value1,field2,value2,.....) 上面这个格式很重要记住 field1和field2称为这个结构体的字 ...

  3. MATLAB plot函数,画线标记数据点(实线、虚线、改变颜色)

    数据点画圈: 实线: plot(time1,'o-'); 结果: 虚线: plot(time1,'--o'); 结果: 画线换颜色 plot(time1,'o--r'); 结果:

  4. matlab 等高线数值显示_「matlab等高线」matlab中contour 函数的用法(绘制等高线) - seo实验室...

    matlab等高线 原文 contour 矩阵的等高线图 全页折叠 语法 contour(Z) contour(Z,n) contour(Z,v) contour(X,Y,Z) contour(X,Y ...

  5. pythonopencv提取轮廓区域_Python + Opencv 实现轮廓提取,轮廓区域面积计算

    Python + Opencv2 实现轮廓提取,轮廓区域面积计算: 对图像处理时,会遇到这样一个场景:找到图像主体轮廓,这是其一,可能为了凸显轮廓,需要用指定的颜色进行标记:轮廓标记完可能任务还没有结 ...

  6. 《Matlab图像处理》part1 Snakes:Active Contour Models 主动轮廓模型

    <Matlab图像处理>part1 Snakes:Active Contour Models 主动轮廓模型 参考博客: 数字图像处理-图像分割:Snake主动轮廓模型 Matlab代码及运 ...

  7. matlab计算海洋浮力频率_水深数据+海岸线数据提取绘图(海洋科学)

    最近用matlab画的水深等值线图,在此分享一下~ 水深的数据很少(我找的时候),可能现在有两个:一个是海图(没用过),一个是ETOPO1的数据(ETOPO2和ETOPO5不推荐使用).下面介绍ETO ...

  8. 利用matlab对rosbag数据,通过matlab提取rosbag数据

    通过matlab提取rosbag数据 代码如下: 最近在做AGV导航实验,导航小车是基于ROS实现的,判断小车导航是否运行稳定,可以直接通过rviz直观看出来.但是如何通过数据定性地分析数据,这就需要 ...

  9. 【OpenCV函数】轮廓提取;轮廓绘制;轮廓面积;外接矩形

    FindContours 在二值图像中寻找轮廓  int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_cont ...

最新文章

  1. 朴素、Select、Poll和Epoll网络编程模型实现和分析——朴素模型
  2. javascript中常用的
  3. powerdesigner显示工具面板_10分钟看懂Photoshop 绘画(画笔面板1-3)
  4. html日历显示不完整,求html代码,显示日历和时间的代码
  5. [LeetCode] Missing Ranges 缺失区间
  6. 高中电子技术——电弧抑制电路
  7. VS2010对Excel操作---DLL向
  8. Python时间数据类型
  9. 放大器电路的大信号带宽,压摆率是瓶颈
  10. title和alt属性有什么作用?
  11. 计算机语言abs,Abs函数
  12. 心力哲学——艰难多变环境下快乐、自由与生存力的源泉(二)
  13. PDMan-2.1.0 正式发布:用心开源,免费的国产数据库建模工具
  14. Python 三维姿态估计+Unity3d 实现 3D 虚拟现实交互游戏
  15. Element UI中的图标
  16. 缺少空格:The JSP specification requires that an attribute name is preceded by whitespace
  17. SRAM、PSRAM、SPI FLASH初步认识
  18. java菜鸟1:jdk 安装
  19. 四六开seo快排系统源码关键词排名系统源码V4.0版本介绍
  20. 小学计算机合作教学设计,小学信息技术教学设计

热门文章

  1. 脉冲信号的频谱分布(通过示波器观察与验证占空比与各阶频率分量幅值的关系)
  2. 51单片机c语言定时器程序,51单片机定时器设置入门与程序解析
  3. 关于 ioctl 的 FIONREAD 參数
  4. USB转串口设备linux随笔
  5. CockroachDB安装及使用
  6. 开源数据库CockroachDB(二)
  7. 用python语言编写多边形图片区域映射成矩形区域的代码
  8. 解决:R6034 Runtime Error + CondaDependencyError
  9. 2019年才准备考一级消防工程师有用吗_好文推荐
  10. 使用postMessage传值遇到的问题