我想获得一个n * m矩阵,每个离散点都有一个近似的“高度” . 输入是来自 Map 的轮廓的图片(参见下面的链接),每个轮廓线表示高度增加或减少5米 .
我的想法:
-
我将图片作为逻辑png导入到一个名为
A
的矩阵中,这意味着矩阵中的每条轮廓线都是'1'的连接条,其他一切都只是0 . -
我最初的想法是从矩阵的左上角开始,将高度设置为零,声明一个新的矩阵'height'并开始计算
height(:,1)
,每次我们在A
矩阵中遇到'1'时加上5米 . 知道我现在每行的第一个整个行,从左边开始,每次遇到'1'时加5米 . -
我很快意识到这不起作用,因为算法无法理解它是否应该增加或减去高度,即如果我们正在上坡或下坡 .
-
如果我能以某种方式逼近轮廓线强度的渐变,即使上坡总是可能是下坡,反之亦然,但我可以手动决定这两种情况的真实性 .
图片:
1 回答
WORK IN PROGRESS
缺失:用邻居的数字1(或-1)标记每个相邻区域(不知道怎么做)
缺失:插入平坦区域 . 一旦知道高度,这应该是可行的 . 可以将骨架图像中的像素设置为高度,并使用
griddata
插入其余部分,这将很慢,但仍然可行 .免责声明:尚未完整答案,请随时编辑或重复使用此答案中的代码以进一步解决问题!