用MATLAB进行图像处理

图像处理概念,算法和MATLAB

美国大陆分水岭的定位,第4部分-海洋面具

欢迎来到我的第四部分系列计算美国大陆的分界线。之前我们研究了数据导入和显示、分水岭变换和标签矩阵,以及不同类型的最小值。

今天我们将使用一些二值图像处理来创建一个“海洋蒙版”。让我们从重新审视我们一直在使用的DEM(数字高程模型)中的一些像素值开始。

S =负载(“continental_divide”);Dem = s.dem_crop;Display_range = [-500 3000];display_range imshow(民主党,“InitialMagnification”“健康”

与海洋相关的像素值是什么?你可能期望它们是0。毕竟,海洋在海平面上!但是在DEM的左上角有几个值不是0:

民主党(1:5,1:5)
Ans = -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500 -500

海洋像素一直到海岸都等于-500吗?当我想仔细检查像素值时,我经常使用像素区域工具.下面是该工具的屏幕截图,显示了加利福尼亚海岸的像素值:

因此-500值似乎被用作海洋标记值。但我宁愿不去猜。在浏览了一番之后在线报告关于这个数据集,我在11节:“每个贴图中海洋的值为-500,而陆地的值在-500和最小值之间都没有。”

我们可以使用一个简单的关系运算符来形成一个海洋掩模图像。

Ocean_mask = dem == -500;imshow (ocean_mask“InitialMagnification”“健康”

我预期的ocean_mask只有两个相连的组成部分,对应于太平洋和大西洋。但我很惊讶:

Ocean_mask_labeled = bwlabel(ocean_mask);max (ocean_mask_labeled (:))
Ans = 835

哦。超过800个标记区域,而不是两个。让我们放大墨西哥湾的海岸,看看发生了什么。

轴([3700 4300 2500 2800])

你可以看到有一些“海洋”像素与海洋的其他部分完全不相关。我们如何仅识别DEM左右两侧海洋像素点的连接分量?一种方法是使用bwselect.这个函数可以找到所有“连接”到给定种子像素集的前景像素。在这里,我将使用它来查找连接到左上方和右上方组件的所有“海洋”像素。

[M, N] = size(dem);ocean_mask = bwselect(ocean_mask, [1 N], [1 1]);

这是沿着墨西哥湾的同样的放大视图。

imshow (ocean_mask“InitialMagnification”“健康”)轴([3800 4400 2550 2750])

你可以看到内部的“海洋像素”已经被移除。让我们将这张图像添加到大陆分水岭mat文件中。

保存continental_divideocean_mask附加

下次我们将使用一种叫做最小值实施修改DEM,使其只包含两个区域最小值,每个海洋一个。

关于本系列

本系列探讨了计算美国大陆分水岭位置的问题。分水岭将北美大陆的大西洋和太平洋集水盆地分开。

作为一个算法开发问题,计算除法可以让我们探索数据导入和可视化、操作二值图像掩码、标签矩阵、区域最小值和分水岭变换等方面。

  • 第1部分——介绍。数据导入和显示。multibandreadimshow
  • 第2部分-分水岭变换。分水岭label2rgb
  • 第3部分-区域最小值。imerodeimregionalmin
  • 第4部分-海洋面具。二值图像处理,bwselect
  • 第6部分-计算和可视化分割。分水岭label2rgbbwboundaries
  • 第7部分-把它们放在一起。一个脚本可以完成从数据导入到计算和除法可视化的所有工作。

数据来源:GLOBE任务小组和其他人(Hastings, David A, Paula K. Dunbar, Gerald M. Elphingstone, Mark Bootz, Hiroshi Murakami, Hiroshi Maruyama, Hiroshi Masaharu, Peter Holland, John Payne, Nevin A. Bryant, Thomas L. Logan, j.p。穆勒,君特施赖尔,约翰S.麦克唐纳)主编。,1999年。全球陆地一公里基准高程(GLOBE)数字高程模型1.0版。美国国家海洋和大气管理局,国家地球物理数据中心,美国科罗拉多州博尔德大街325号,80305-3328。http://www.ngdc.noaa.gov/mgg/topo/globe.html)和唯读光碟。




使用MATLAB®7.8发布

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。