Upslope地区 - 高原检测
在我的以前的Upslope区域帖子,我在马萨诸塞州米尔福德北池塘周围展示了这款像素流的图表:
请注意,池塘中的像素没有箭头。事实上,Pixelflow.M-File I以前所显示的M-File I无法计算这些像素的像素流动方向或大小,因为它们处于平坦区域,或者高原。进一步来说,Pixelflow.返回流动方向南对于没有下坡邻居的任何像素。
有一个简单的方法来找到所有这些像素使用形态侵蚀。平面结构单元的侵蚀等效于局部最小算子。如果一个像素及其邻居的最小值等于这个像素本身,那么我们就称它为平台像素。
s = load('upslope_sample_dem');池塘= s.Zm(140:280, 160:230);Plateaus = imerosion (pond, ones(3,3)) == pond;imshow(高原、'InitialMagnification'那'合身') 标题('Plateaus')
我想将Plateaus分为三种类型:
- 水平的水平,但没有上坡邻居;这些都被称为区域最大值
- 高山的平原但没有下坡邻居;这些都被称为区域最小值
- Plateaus与上坡和下坡邻居
图像处理工具箱具有查找区域最大值和区域最小值的函数:
max_plateaus = imregionalmax(池塘);imshow(max_plateaus,'InitialMagnification'那'合身') 标题('Max Plateaus')
min_plateaus = imregionalmin(池塘);imshow(min_plateaus,'InitialMagnification'那'合身') 标题('闵PLATEAUS')
现在,我们可以通过使用逻辑运算符来识别高原上的像素,包括相邻的上坡和下坡:
mid_plateaus = plateaus&〜(max_plateaus | min_plateaus);imshow(mid_plateaus,'InitialMagnification'那'合身') 标题('MID PLATEAUS')
下次我将努力计算这些不同种类的高原像素的流动方向的过程。
- 类别:
- Upslope地区
评论
要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。