史蒂夫在图像处理与matlab

图像处理概念,算法和matlab

Upslope地区 - 高原处理

[注意:在我最初写过这篇文章后,我发现了该方法的问题,所以我不再使用它。我重新审视了一个高原问题后来的帖子。-

今天,我将继续在DEM中考虑Plateaus以及它们用于计算像素流量的意思。这是我的DEM阵列的非常小部分,刚才西北北池塘

a = [120 118 123;120 118 125;119 119 126]
a = 120 118 123 120 118 125 119 119 126

中心像素没有下坡邻居,所以我叫它高原像素。无论是一个非常小的高原;我们无法计算它的像素流方向,并且当我们绕过计算上升式区域时会导致问题。

用于处理强韧化的图像处理中使用的一种技术被称为较低的完整转型。一种较低的完整形象是没有下坡邻居的唯一像素是属于区域最小值的像素。粗略地说,通过提升高原像素来实现较低的完整变换。从高原边缘进一步的像素升高。当然,从高原上升起的像素也需要升高,以便它们保持上坡。我已经读过了这个技术,但从未实施过它。(有关更多信息,我推荐P. Soille,形态学图像分析:原理和应用,第2版,Springer,2003,PP。222-226。)

我将使用不同的技术,一个基于图像处理工具箱功能中的算法罗弗里。该函数通过平滑地从该区域周围的像素平滑地插值来填充特定区域中的像素。它通过求解基于填充输出的稀疏线性系统来求解稀疏线性系统,填充区域中的每个像素等于其北,东,南方和西邻的平均值。(这是一种有趣的方法。也许这将是未来的博客话题。)

这是来自的例子(略微修改)罗弗里文档:

我= imread('八..);imshow(i)c = [222 272 300 270 221 194 222];r = [21 21 75 121 121 75];抓住绘图(C,R,'r''行宽'4)
j = roifill(i,c,r);imshow(j)

这是什么罗弗里从DEM的小片段对我们来说是这样的:

面具=真(3,3);b = roifill(a,mask)
B = 120.0000 118.0000 123.0000 120.0000 120.5000 125.0000 119.0000 119.0000 126.0000

您可以看到中心像素已被一个新值替换,并且中心像素现在具有下坡邻居。

这是一个略大的例子,两个中心像素没有下坡邻居:

A2 =池塘(15:17,19:22)
A2 = 116 116 116 120 117 115 115 117 119 115 115 115 116 116 116 116

和产出的罗弗里

mask2 = true(3,4);B2 = Roifill(A2,Mask2)
B2 = 116 116 116 120 117 116 116 115 115 115 116 116 116

嗯,两个中心像素现在有下坡邻居,但等待!(1,2)像素不再有一个下坡邻居!好的,是时候'fess。我真的没有预料到这将是一个问题。我必须给这个想法。我的第一反应是:它会好的,因为我们可以使用原始的,未修改的DEM值来计算非预装像素的像素流。我们只需要修改的DEM值来计算高原像素的像素流。但我会睡在它上面。

假设我可以成功地解决这个问题,我们可以使用罗弗里计算Midplateau像素的像素流方向。但是,它不会有助于我们是区域最大值或区域最小值的一部分的高原像素。我会弄清楚下周该怎么办。




发布MATLAB®7.4

|
  • 打印
  • 发电子邮件

注释

要发表评论,请点击这里登录您的MathWorks帐户或创建新的。