2009-10-23 3 views
3

Мне нужно приступить к работе над приложением для анализа спутниковых изображений, чтобы идентифицировать какую-то созданную человеком структуру. Я хотел бы использовать для этого C или Java.Написание приложения для обработки изображений для анализа спутниковых снимков

Для спутника я планирую использовать данные Google Maps.

У меня есть три вопроса:

  1. Что является лучшим источником для ГИС данных, кроме Google Maps/земли.
  2. Лучший язык для написания такого приложения, учитывая, что мне придется использовать сторонние API
  3. Есть ли доступный механизм обработки изображений, который идентифицирует созданные человеком структуры?

Это много вопросов, но я надеюсь, что более умные ребята здесь могут помочь мне здесь.

ответ

2

Слишком обработанные изображения, такие как карты Google или Bing, являются ужасным источником изображений для выполнения выделения признаков или распознавания признаков. Обычно вам нужна самая необработанная, необработанная форма с камерами ... конечно, если у вас нет доступа к этим данным, тогда вам нужно работать с тем, что у вас есть.

Более важным аспектом изображений Google Maps/Earth является то, что вы можете столкнуться с их лицензионным соглашением. Я предлагаю вам проверить его, прежде чем принимать решение о своих данных в качестве источника изображений. В частности, если вы обходите их API, вы нарушили их лицензионное соглашение.

Что касается библиотек и langauges, существуют десятки библиотек машинного зрения. Я не могу порекомендовать один за другим, поскольку я был только потоковым потребителем их результатов. Мое понимание проблемы заключается в том, что самая большая проблема заключается в том, как вы строите «модели» для сравнения с ... например, как вы даете системе «пример» того, что вы ищете.

Как только вы нашли библиотеку, вы можете принять решение на этом языке. Как правило, для такого рода прототипов используется язык высокого уровня, такой как Python или Matlab. Как только метод был найден, выполняется преобразование на язык с более высокой производительностью - , если необходимо.

Лично я мог бы использовать Python, потому что (1) он свободно доступен, (2) имеет значительное сообщество в научном и исследовательском мирах и (3) может взаимодействовать с широким спектром языков и платформ.

1

Вы можете найти полезный веб-сайт USGS (United States Geological Survey). Они обеспечивают как информацию ГИС, так и широкий набор наборов данных.

2

В частности, проверить Glovis: http://glovis.usgs.gov/

Вы можете просматривать землю и загружать карты из нескольких различных спутников и сенсоров. Несмотря на то, что вам нужно пройти фиктивный процесс «заказа», изображения бесплатны.

1

Я согласен с Джеймсом Шекем. Google дает вам изображения RGB - не самая полезная для вашей задачи. У большинства изображений будет несколько дополнительных каналов, которые могут быть вам лучше подобраны. Различные каналы показывают различные особенности, воду, городские районы, типы листвы и т. Д. Например, инфракрасный канал может использоваться для выделения зданий в прохладном климате. Если вы обратитесь к нескольким провайдерам данных, они смогут рекомендовать лучшие каналы для использования в своих данных.

Изображения Ariel могут быть огромными, многочисленными террабайтами для подробной базы данных мира. Внимательно рассмотрите, сколько информации вам нужно обработать. Если вы делаете только несколько квадратных миль, это не проблема. Если вы обрабатываете тысячи квадратных миль, производительность становится проблемой. Обработка миллионов, производительность критически важна и должна учитываться с первого дня.

Зная количество каналов, необходимых для обработки, требования к производительности и формат файлов, просмотрите библиотеки, соответствующие всем вашим требованиям. Многие из них написаны на C/C++ так, используя язык, который interops с ними и может быть полезным

0

Взгляните на этой демонстрации: Finding Vegetation in a Multispectral Image , часть Image Processing Toolbox в MATLAB. Это связано с вашей проблемой анализа спутниковых изображений, чтобы найти конкретные шаблоны.

Я считаю, что это отличный пример того, что вы легко можете достичь с помощью MATLAB, используя очень маленький код.

Смежные вопросы