在矩阵中查找较大数字的区域

Posted

技术标签:

【中文标题】在矩阵中查找较大数字的区域【英文标题】:Finding regions of higher numbers in a matrix 【发布时间】:2017-07-05 22:23:10 【问题描述】:

我正在开展一个项目来检测航拍图像中的某些物体,作为其中的一部分,我正在尝试利用图像的高程数据。我正在使用数字高程模型 (DEM),基本上是一个高程值矩阵。例如,当我尝试检测树木时,我想搜索高于其周围地形的树形区域。以下是 DEM 热图中的树示例:

https://i.stack.imgur.com/pIvlv.png

我希望能够找到比周围高的小区域。

我正在使用 OpenCV 和 GDAL 进行实际的图像处理。其中任何一个是否已经包含我想要完成的技术?如果没有,你能指出我正确的方向吗?我的一些想法是遍历每个像素并计算与其周围像素相关的变化率,这可能意味着具有高变化率/陡坡的像素表示凸起区域的边缘。

请注意,高程会因图像而异,这需要适用于任何高程。因此,在一张图片中,地面可能在 10 米左右,但在另一张图片中可能是 20 米。

【问题讨论】:

我的直觉告诉我你正在寻找 haar 级联:docs.opencv.org/2.4/modules/objdetect/doc/… 【参考方案1】:

假设您可以将 DEM 信息放入 2D Mat 中,其中每个“像素”都有高程值,您可以通过应用 dilate 然后 substract 找到局部最大值原始图像的结果。

在http://answers.opencv.org/question/28035/find-local-maximum-in-1d-2d-mat/中有一篇相关的代码示例

【讨论】:

以上是关于在矩阵中查找较大数字的区域的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试 - 查找单入口空闲区域(JavaScript) | 机试题+算法思路+考点+代码解析 2023

查找给定数字的下一个较大的字谜

在杨氏矩阵中查找一个数字是否存在

华为OD机试 - 查找单入口空闲区域(Java & JS & Python)

JS——编程题

华为机试真题 C++ 实现最大矩阵和