【发布时间】:2017-11-09 22:38:55
【问题描述】:
我想在每个离散点获得一个近似“高度”的 n*m 矩阵。输入是来自地图的等高线图片(见下面的链接),每条等高线代表高度增加或减少 5m。
我的想法:
- 我将图片作为逻辑 png 导入到名为
A的矩阵中,这意味着矩阵中的每条等高线都是由 '1' 组成的连接条,其他所有内容都只是 0。 - 我最初的想法是从矩阵的左上角开始,将该高度设置为零,声明一个新的矩阵“高度”,然后通过每次遇到一个“增加 5 米”来计算
height(:,1)1' 在A矩阵中。知道整个第一个冒号,我现在每行从左边开始,每次遇到“1”时增加 5 m。 - 但是我很快意识到这行不通,因为算法无法理解它是应该增加还是减少高度,即我们是在上坡还是下坡。
- 如果我能以某种方式从等高线的强度近似梯度,即使上坡总是可能成为下坡,反之亦然,但我可以手动确定这两种情况下哪一个是正确的。
【问题讨论】:
-
在您的想法之前,您的数据!你只有一个图像吗?或者你有某种格式的曲线吗?什么格式?
-
输入数据只是一个图像,它代表了一些未知表面的水平曲线,鉴于我知道每条水平曲线之间的高度差,我想对其进行近似。
-
所需的输出格式是什么?它是否需要是一个网格,或者它可以是例如。三角形网格?
-
另外,那是您的原始图像,jpg 吗?还是你有一个png?因为 jpg 有图像伪影
-
你的图片有问题:没有办法知道一条线是高还是低,你只需要每次猜测,因此有成千上万种可能的解决方案跨度>
标签: matlab image-processing contour