У меня есть два растровых изображения той же области и размеры x, y как массивы numpy. Изображение 1 представляет собой классификацию землепользования (например, с классами от 0 до 5), а изображение 2 представляет собой маску облачной тени (со значениями: 0 = без облаков, 255 = облачными областями/теневыми областями).
Я хочу объединить эти изображения. Либо возьмите/зацепите все 255 значений из изображения 2 и мозаики их на изображение 1. ИЛИ замените все значения 0 в изображении 2 на значения, найденные в определенном положении пикселя на изображении 1.Заменить области в растровом изображении со значениями из другого изображения в python
Я попытался сделать 2d массивы 1d и заменить значения 0, но затем не могли правильно преобразовать их обратно в 2d.
Что было бы самым простым или лучшим способом сделать этот растровый расчет полностью открытым исходным кодом в python ???
Это сработало! Большое спасибо. Что делать, если у моего img2 есть плавающие значения. У вас также есть идея, как интегрировать это? –
@ChristinAbel Вы можете использовать '<, >, <=, > =' для создания булевых массивов с поплавковыми значениями, например. замените 'img1 == 0' на' img1 <2' выше. Numpy также имеет ряд других элементарных логических функций, которые вы можете прочитать здесь: http://docs.scipy.org/doc/numpy/reference/routines.logic.html –
Я только что понял, что у меня сейчас есть целая другая проблема .. потому что у меня есть мои целые значения img1 - 2, 2d (x, y), но мой img2 изменился: плавающие значения, 3d (ndim, x, y). Каждое измерение массива представляет собой диапазон в моем растровом слое. ... так как img1 является облачной/теневой маской, она должна быть добавлена к каждому размеру/диапазону img2. Поэтому я хочу пропустить ndim, изменить каждый (x, y) массив и сохранить его как 3D-массив в конце снова ... –