Я борюсь с обработкой и, надеюсь, я смогу решить здесь.
Я работаю с дистанционным зондированием, примененным к лесному хозяйству, особенно работаю с данными LiDAR. Идея состоит в том, чтобы использовать Scikit-изображение для определения вершины дерева. Так как я новичок в Python, я считаю большим личным триумфом сделать следующее:
- Импортировать CHM (с matplotlib);
- Запустите гауссов фильтр (с пакетом scikit-image);
- Запустите фильтр максимума (с пакетом scikit-image);
- Запустите peak_local_max (с пакетом scikit-image);
- Показать CHM с локальными максимумами (с matplotlib);
Теперь моя проблема. Когда я импортирую с помощью matplot, изображение теряет свои географические координаты. Таким образом, координаты, которые у меня есть, являются просто базовыми координатами изображения (то есть 250 312). Что мне нужно, это получить значение пикселя под локальной точкой максимума на изображении (красные точки на изображении). Здесь, на форуме, я видел одного парня, спрашивающего то же самое ( Получить значение пикселя растра GDAL под точкой OGR без NumPy? ), Но у него уже были точки в шейп-файле. В моем случае точки были вычислены с помощью scikit-image (это массив с координатами каждой вершины дерева). Так что у меня нет шейп файла.
В заключение, в конце я хочу получить текстовый файл с координатами каждого локального максимума в географических координатах, например:
525412 62980123 1150 ...
источник
Беглый взгляд на matplotlib, я бы сказал, что вам нужно изменить масштаб оси после импорта.
источник
Пожалуйста, попробуйте следующий фрагмент кода. Это может быть использовано для считывания данных изображения из растра и записи обработанных данных в растр (файл .geotiff).
источник