在矩阵中查找更高数字的区域

时间:2017-07-05 22:23:10

标签: c++ opencv image-processing matrix gdal

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

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

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

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

请注意,高程将从图像更改为图像,这需要适用于任何高程。所以地面可能在一幅图像中大约10米,而在另一幅图像中大约20米。

1 个答案:

答案 0 :(得分:0)

假设您可以将DEM信息放入2D Mat中,其中每个"像素"具有高程值,您可以通过应用扩展然后减去原始图像中的结果来查找局部最大值。

enter image description here

http://answers.opencv.org/question/28035/find-local-maximum-in-1d-2d-mat/

中有代码示例的相关帖子