我正在研究一个项目来检测航拍图像中的某些物体,作为其中的一部分,我正在尝试利用图像的高程数据 . 我正在使用数字高程模型(DEM),基本上是高程值矩阵 . 例如,当我试图检测树木时,我想搜索高于周围地形的树形区域 . 以下是DEM热图中树的示例:
https://i.stack.imgur.com/pIvlv.png
我希望能够找到比周围环境更高的小区域 .
我正在使用OpenCV和GDAL进行实际的图像处理 . 这些中的任何一个已经包含了我想要完成的技术吗?如果没有,你能指出我正确的方向吗?我所拥有的一些想法是通过每个像素并计算与其周围像素相关的变化率,这有望意味着具有高速率变化/陡峭斜率的像素将表示凸起区域的边缘 .
请注意,高程将从图像更改为图像,这需要适用于任何高程 . 所以地面可能在一幅图像中大约10米,而在另一幅图像中大约20米 .
1 回答
假设您可以将DEM信息放入2D Mat中,其中每个"pixel"都具有高程值,您可以通过应用 dilate 然后 substract 原始图像的结果来查找局部最大值 .
这里有一个相关帖子,其中包含以下代码示例:http://answers.opencv.org/question/28035/find-local-maximum-in-1d-2d-mat/