Image processing 编写用于卫星图像分析的图像处理应用程序

Image processing 编写用于卫星图像分析的图像处理应用程序,image-processing,gis,training-data,satellite-image,Image Processing,Gis,Training Data,Satellite Image,我必须开始应用卫星图像分析来识别一些人造结构。我想用C或Java来实现这一点 对于卫星,我计划使用谷歌地图数据 我这里有三个问题: 除了谷歌地图/地球外,什么是最好的GIS数据源 考虑到我将不得不使用第三方API,编写这样一个应用程序的最佳语言 是否有一个可用于识别人造结构的开放式图像处理引擎 这是很多问题,但我希望这里的聪明人能在这里帮助我。你可能会发现(美国地质调查局)网站很有帮助。它们提供GIS信息和广泛的数据集。具体来说,请查看Glovis: 你可以浏览地球,从几个不同的卫星和传感器下载

我必须开始应用卫星图像分析来识别一些人造结构。我想用C或Java来实现这一点

对于卫星,我计划使用谷歌地图数据

我这里有三个问题:

  • 除了谷歌地图/地球外,什么是最好的GIS数据源
  • 考虑到我将不得不使用第三方API,编写这样一个应用程序的最佳语言
  • 是否有一个可用于识别人造结构的开放式图像处理引擎

  • 这是很多问题,但我希望这里的聪明人能在这里帮助我。

    你可能会发现(美国地质调查局)网站很有帮助。它们提供GIS信息和广泛的数据集。

    具体来说,请查看Glovis:


    你可以浏览地球,从几个不同的卫星和传感器下载地图。即使你必须经历一个虚假的“订购”过程,图像也是免费的。

    过度处理的图像,如谷歌或必应地图,是执行特征提取或特征识别的可怕图像来源。通常,您希望相机模型具有最未经处理的原始形状。。。当然,如果你不能访问这类数据,那么你就必须使用现有的数据

    谷歌地图/地球图像的一个更重要的考虑因素是,您可能会违反他们的许可协议。我建议你在决定把他们的数据作为你的图像来源之前先检查一下。特别是,如果您绕过他们的API,您就违反了他们的许可协议

    至于库和语言,有几十个机器视觉库可用。我不能推荐一个而不是另一个,因为我只是他们结果的下游消费者。我对这个问题的理解是,最大的问题是如何构建“模型”来与。。。i、 你如何给系统一个你想要的“例子”

    一旦你找到了一个库,你就可以决定使用哪种语言了。一般来说,类似Python或Matlab的高级语言用于此类原型设计。一旦找到了一个方法,就可以转换为“更高性能”的语言——如果需要的话


    就个人而言,我可能会使用Python,因为(1)它是免费提供的,(2)在科学和研究领域有一个重要的社区,(3)可以与多种语言和平台进行互操作。

    我同意James Schek的观点。谷歌给你的RGB图像-不是最有帮助的你的任务。大多数图像都会有几个额外的频道,可能更适合你。不同的通道显示不同的特征、水、城市区域、树叶类型等。例如,红外通道可用于在凉爽气候下识别建筑物。如果您联系多家数据提供商,他们可能会推荐在其数据中使用的最佳频道

    对于一个详细的世界数据库来说,Ariel图像可以是巨大的、大量的terrabytes。仔细考虑需要处理多少信息。如果你只做了几平方英里,那么性能就不是问题。如果要处理数千平方英里的面积,性能就会成为一个问题。处理数以百万计的数据时,性能是至关重要的,从第一天起就必须加以考虑

    了解需要处理的通道数量、性能要求和数据的文件格式,查找满足所有要求的库。其中许多都是用C/C++编写的,因此使用一种能够与它们进行互操作的语言可能会很有帮助

    看看这个演示: ,是MATLAB中图像处理工具箱的一部分。这与你分析卫星图像以找到特定模式的问题有关

    我相信这是一个很好的例子,可以很容易地用MATLAB实现,只需很少的代码