python - 在Google map 图像(航空图像)中检测街道区域的简单方法

标签 python opencv image-processing

我试图在没有任何深度学习方法的情况下检测图像中的街道区域。
说我有这张图片:
enter image description here
我正在寻找任何简单的方法来检测图像的街道部分,如下所示:
enter image description here
现在我知道这可能不是很准确,准确度根本不是问题,我正在尝试不使用任何深度学习方法来实现这一点。

最佳答案

粗线可以给出直接的直线测量。但我不会瘦,它会给您您想要的。如下所示
enter image description here
您需要很多复杂的算法,例如深度语义分割模型。并以此为基础进行训练。
即使您不喜欢深度学习。传统算法(例如变异分析,SVM学习或adaboost)也非常复杂,您将无法轻松使用它。您需要对这些主题有更深入的了解。
如果您真的想要,可以从变分分析,主动轮廓模型,蛇能量开始提取道路开始。事实证明,这种变分分析可用于复杂场景,并提取特定模型,如下图所示。您的道路是空的低坡度区域,附近的所有建筑物树都是您不想要的高坡度响应。
enter image description here
我的建议是通过使用预先训练的模型并增加表面模型,使您的生活更轻松。下载,运行python脚本。就这样
您可以尝试一些开源实现,例如
https://github.com/ArkaJU/U-Net-Satellite
https://github.com/Paulymorphous/Road-Segmentation
https://github.com/avanetten/cresi
enter image description here
基于预测的掩码。然后您可以准确地获得生产,如下所示
enter image description here
这将是您正在寻找的结果
问候
盛海源

关于python - 在Google map 图像(航空图像)中检测街道区域的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62623836/

相关文章:

python - Tensorflow:如何平铺按特定顺序重复的张量?

python - 在 Python 中将 3D 32 位 float 组保存为 48 位整数 PNG 以匹配 Kitti Ground Truth 格式

java - 平移后更新android中的图像坐标

c++ - Visual Studio 2010 OpenCV 多线程垫不复制到另一个垫

matlab - 如何叠加具有柔化边缘的图像

python - 使用 OpenCV python 跟踪黄色对象

python - Django 中 urlpatterns 的 url() 和元组有什么区别?

python - 在 Python 脚本末尾生成 pcap 文件

c++ - 无法从 beaglebone 运行 OpenCV 代码

opencv - tf.image.resize_bilinear 与 cv2.resize