2017-01-20 8 views
1

Я пытаюсь повернуть изображение с помощью процедуры ndimage.rotate из scipy модуля. Он отлично работает, но мой RGB изображение имеет значения пикселей больше, чем один после нанесения routine.See изображения после рутины здесь:Странные артефакты после вращения с scipy ndimage.rotate (значения выше 1.0)

The rotated image These values are above 1, maximum is 1.03607709928

Дополнительной информации о входе: Это от образа по умолчанию откуда я обрезаю эту меньшую часть. Первое значение - максимальное значение пикселя в изображении, затем форма и тип.

1,0 (1944, 2592, 3)

То же самое для обрезанного (вращения) iamge:

1,0 (228, 554, 3)

И для повернутого:

1.03607709928 (330, 587, 3)

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

rotated_rctgl = ndi.rotate(img[min_short:max_short, min_long:max_long], thetalst[ln_nbrs_of_rect[selected_r][0]] * rad_deg) 

Я ничего не нашел по этой теме, есть ли ошибка или я использую рутину неправильно? Может ли кто-нибудь помочь с этим, было бы очень интересно для меня! Приветствия!

+0

вы можете загрузить исходное изображение? –

ответ

2

Чтобы избежать перерегулирования в интерполяции, выполняемой rotate, используйте order=1.

(Такое же поведение было сообщено в SciPy issue on github.)

+0

Благодарим за этот ответ! – mamamamama