编写图像处理应用程序以分析卫星图像

时间:2009-10-23 16:05:20

标签: image-processing gis training-data satellite-image

我必须开始研究卫星图像分析的应用,以确定一些人造结构。我想为此使用C或Java。

对于卫星我计划使用Google地图数据。

我在这里有三个问题:

  1. 除了Google Maps / earth之外,GIS数据的最佳来源是什么。
  2. 考虑到我将不得不使用第三方API来编写此类应用程序的最佳语言
  3. 是否有可用于识别人造结构的开放式图像处理引擎?
  4. 这是很多问题,但我希望这里更聪明的人可以帮助我。

5 个答案:

答案 0 :(得分:2)

具体来说,请查看Glovis:http://glovis.usgs.gov/

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

答案 1 :(得分:2)

过度处理的图像(如Google或Bing地图)是用于执行特征提取或特征识别的可怕的图像源。通常,您希望使用相机模型获得最未经处理的原始形式......当然,如果您无法访问此类数据,则必须使用您拥有的数据。

Google地图/地球图像的一个更重要的考虑因素是您可能违反其许可协议。我建议您在决定将其数据作为图像源之前进行检查。特别是,如果您绕过他们的API,则违反了他们的许可协议。

就图书馆和语言而言,有许多机器视觉库可用。我不能推荐一个,因为我只是他们的结果的下游消费者。我对这个问题的理解是,最大的问题是你如何建立“模型”以进行比较......即你如何给系统一个你所寻找的“例子”。

找到图书馆后,您就可以对该语言做出决定。通常,像Python或Matlab这样的高级语言用于这种原型设计。找到方法后,就可以转换为“更高性能”的语言 - 如有必要

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

我同意James Schek的观点。谷歌为您提供RGB图像 - 不是最有用的任务。大多数图像都会有一些额外的通道可能更适合您。不同的渠道显示不同的特征,水,城市区域,树叶类型等。例如,红外线可用于在凉爽的气候中挑选建筑物。如果您联系多个数据提供商,他们可能会建议在其数据中使用最佳渠道。

Ariel图像对于详细的世界数据库来说可能是巨大的,无数的terrabytes。仔细考虑您需要处理多少信息。如果你只做几平方英里的性能不是问题。如果您处理数千平方英里,性能就成了问题。处理数百万,性能是关键任务,必须从第一天开始考虑。

了解您需要处理的渠道数量,性能要求和数据的文件格式,请查看满足您所有要求的库。其中许多都是用C / C ++编写的,所以使用与它们互操作的语言都可以提供帮助

答案 4 :(得分:0)

看看这个演示: Finding Vegetation in a Multispectral Image MATLAB 中的图像处理工具箱的一部分。这与您分析卫星图像以找到特定模式的问题有关。

我相信这是一个很好的例子,你可以使用很少的代码轻松地用MATLAB实现这些。