Извлечение растровых ячеек из изображений на основе значения RGB с использованием ArcGIS Desktop?


9

У меня есть аэрофотоснимок (формат: IMAGINE Image), который достаточно подробный, чтобы увидеть пожарные гидранты и шейп-файл пожарных гидрантов, который был оцифрован на основе некоторых данных CAD. Мой проект заключается в проверке местоположения шейп-файла пожарного гидранта путем выборочной проверки изображений. Можно ли извлечь значения RGB из изображений, которые соответствуют значениям RGB пожарных гидрантов?

Пожарный гидрант (красный):

Пожарный гидрант

Я смотрю, чтобы выбрать значения ячеек (которые я записал), которые похожи на значения ячеек пожарного гидранта, а затем извлечь эти ячейки (либо растровый файл этих ячеек, либо шейп-файл, который отображает расположение похожих ячеек). Я предполагаю, что в изображениях очень мало функций, имеющих схожие красноватые значения RGB.

Посмотрев на Ответ Аррона и поигравшись с подходом под наблюдением и без надзора (см. Мой комментарий ниже), я не смог заставить инструмент выполнять именно то, что хотел, пока я не начал слишком смотреть на вывод растровых данных из Классификации максимального правдоподобия орудие труда. Я не уверен, что именно символ растров должен символизировать, но просто взглянул на значение ячейки уровня 14, но он охватил все пожарные гидранты.

Выходной растр: растровый вывод расположение пожарных гидрантов: расположение пожарных гидрантов

Следующим моим шагом будет использование инструмента Растр в полигон, который преобразует растровый контур пожарного гидранта в полигон. Я запускаю инструмент прямо сейчас, и за прошедший час он достиг только 11%. Область, в которой я работаю, велика и составляет 1x1 милю, поэтому я понимаю, что это может занять некоторое время, если много маленьких растровых ячеек преобразуется в многоугольник. Есть ли какие-либо предложения по запуску некоторых инструментов для очистки некоторых данных, чтобы ускорить процесс преобразования растра в многоугольник? У меня может не быть необходимости запускать этот инструмент, поскольку растровый след сделал такую ​​хорошую работу по сбору пожарных гидрантов, но я заинтересован в ускорении процесса, поскольку я предвижу, что он будет использоваться в других приложениях в будущем.


Вы имеете в виду извлечение, подобное инструменту Извлечение значений в точки в Spatial Analyst? Или вы хотите больше функциональности?
Балток

1
Я искал больше функциональности, чем это. Этот инструмент добавляет значения изображения к точке, под которой он попадает. Чтобы получить наглядное представление, я загрузил изображение в dropbox: [Link] ( dropbox.com/s/z0fyc9euy99chw1/FireHydrant.png ) Я думаю, мне следовало быть немного яснее. Я смотрю, чтобы выбрать значения ячеек (которые я записал), которые похожи на значения ячеек пожарного гидранта, а затем извлечь эти ячейки (либо растровый файл этих ячеек, либо шейп-файл, который отображает расположение похожих ячеек). Дай мне знать, если тебе понадобится, чтобы я что-нибудь еще прояснил.
Sethdd

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

1
Я предполагаю, что в изображениях очень мало функций, имеющих схожие красноватые значения RGB. Если бы выбраны функции, отличные от пожарных гидрантов, я был бы в порядке с этим. Я также попытался извлечь по атрибутам, но ничего не было извлечено с использованием доминирующего красного значения RGB. Проблема может возникнуть из-за невозможности ввода всех трех значений RGB в построитель запросов, поскольку красный цвет нуждается в двух других значениях. Единственные опции, которые мне нужно выбрать в построителе запросов, это ObjectID, Value и Count, поэтому я не знаю, как создать запрос со всеми 3 значениями RGB.
Sethdd

Хорошая точка зрения. Не уверен в этом случае, как извлечь только эти клетки. Надеюсь, в
игру вступит

Ответы:


9

Ваши пожарные гидранты будут иметь уникальную спектральную сигнатуру, поэтому я буду использовать контролируемую классификацию максимального правдоподобия для классификации вашего растра. Альтернативой является запуск алгоритма ISODATA для неконтролируемого подхода . Попробуйте следующий (частичный) рабочий процесс:

  1. Открытая неконтролируемая классификация Iso кластеров в ArcGIS
  2. Введите ВСЕ 3 полосы (т.е. R, G, B) в GUI (см. В приложении)
  3. Получив классифицированный растр, найдите гидрант в растре и используйте вкладку «Идентификация» для определения значений пикселей, составляющих гидрант (например, значений пикселей с 10 по 14).
  4. Реклассифицируйте свое изображение так, чтобы все пиксели, которые включают гидранты, были классифицированы как «1», а все остальные значения «0». Это создаст двоичный растр.
  5. Теперь отображайте только 1 красным цветом, а 0 - прозрачным. Вы должны быть в состоянии визуально оценить различия сейчас.

В качестве альтернативы, для количественного подхода, запустите Raster to Polygon, чтобы расположить полигоны вокруг вашего гидранта (т.е. 1) пикселей. Теперь вы можете запустить множество статистики для ваших исходных и производных полигонов.

Имейте в виду, что у вас будет больше контроля над классами, если вы используете контролируемую классификацию максимального правдоподобия

РЕДАКТИРОВАТЬ:

Также попробуйте использовать 4-полосные CIR-изображения высокого разрешения, доступные в Earth Explorer . Ближний ИК (4-й) диапазон даст вам гораздо больший контраст между гидрантами и зелеными газонами, окружающими их. Скорее всего, это городской район, поэтому вы можете получить изображения с очень высоким разрешением для интересующей вас области.

введите описание изображения здесь


Это именно то, что я искал! Я играл с этим инструментом (без присмотра), пытаясь варьировать размеры классов, и пришел к выводу, что 40 предложили мне лучшие результаты. Недостатком является то, что значения пикселей для пожарного гидранта не ранжируются последовательно (то есть 10-14). Я должен выбрать несколько значений в диапазоне от 3 до 39. Поскольку я смотрю на такой широкий диапазон, бесполезно видеть только пожарные гидранты, поскольку он не отражает суть того, чем является пожарный гидрант, а другой. Я чувствую, что это потому, что образы недостаточно подробны, чтобы получить уникальную подпись.
Sethdd

@ После этого я отредактировал пост, добавив в него дополнительную информацию / идеи.
Аарон

Спасибо Аррон за дополнительную информацию. Я посмотрел на Earth Explorer и, к сожалению, их изображения не в высоком разрешении для нужного мне места. Я внес изменение в свой оригинальный пост, который объясняет некоторый успех, который у меня был.
Sethdd

Я размышлял прошлой ночью и задавался вопросом, можно ли будет выбрать диапазон значений RGB. Я смотрю на диапазон значений RGB каждой полосы для различных оттенков красного на пожарном гидранте и обнаружил, что диапазон: R: 152-208 G: 67-182 B: 77-179 Затем я внес в каждую полосу и символизировал уникальный диапазон значений, который указан выше. Я думаю, что если я смогу экспортировать диапазон значений из каждой полосы путем переклассификации (каждая ячейка = 1), тогда я смогу использовать растровый калькулятор, чтобы добавить каждый выходной растр и оставить только ячейки со значением 3, так как это будет моей особенностью.
Sethdd

Я проверил Earth Explorer и не смог найти изображения 2009 года, которые вы упомянули. Кстати, место моего учебного сайта находится в Перте Амбой, штат Нью-Джерси. Я знаю, что у OGIS есть образы 2007 года, которые были пересмотрены в 2009 году. Может быть, это то, на что вы ссылаетесь? Я проверил этот конкретный набор данных и изображения, которые у меня есть, гораздо более подробно. Я не знаю масштаб, но это намного лучше, чем все, что я смог бы найти.
Sethdd
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.