Обобщение растра - буферы в растрах, расширение пикселей?


12

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

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

Ответы:


13

QGIS предоставляет интерфейс для GRASS GIS, которая начала свою жизнь как растровая ГИС и поэтому должна предоставить некоторые эффективные инструменты для решения этой проблемы. Ссылаясь на страницы справочника растровых команд, мы можем найти следующие решения:

r.buffer - прямая буферизация белых клеток.

r.cost - может вычислять расстояния до белых клеток. Затем сравните, чтобы выбрать ячейки на короткие расстояния.

r.grow - локальная морфологическая операция, разработанная специально для расширения белых клеток в их непосредственных соседей.

r.mfilter - общий фокусный фильтр. Различные фокальные статистические данные, такие как максимальное, среднее, сумма, медиана и стандартное отклонение, могут обнаружить присутствие белых клеток в локальных окрестностях. Затем сравните, чтобы выбрать такие ячейки.

r.neighbors - еще более общий фокусный фильтр, который можно использовать аналогично r.mfilter.

r.resample - повторная выборка на более грубую сетку является одним из способов расширения белых клеток. Результат будет несколько «блочным».

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

Мы должны ожидать, что r.buffer, r.grow и, возможно, r.mfilter будут использовать наиболее эффективный код. (Я не проверял это, чтобы узнать.)


1

Я бы сказал, что это возможно. Я просто не уверен, что вы можете сделать это с QGIS, так как я не знаю это достаточно хорошо. Может ли QGIS вести статистику соседства? Если предположить, что черные пиксели равны нулю, а белые пиксели равны 1, тогда статистическая функция соседства 3x3, вычисляющая максимум ячеек, приведет к значению «1» для смежных пикселей белой границы. Затем вы можете выделить эти пиксели во второй процедуре (или запустить статистику соседства во второй раз для второй строки пикселей).

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.