Какой вид интерполяции лучше всего для изменения размера изображения?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Какой вид интерполяции лучше всего для изменения размера изображения?

Сообщение Anonymous »

У меня есть массив Numpy, который я хочу изменить размер, используя OpenCv.
его значения варьируются от 0 до 255. Если я предпочитаю использовать CV2.Inter_Cubic, я могу получить значения за пределами этого диапазона. Это нежелательно, поскольку предполагается, что измененный массив все еще представляет изображение. Другой состоит в том, чтобы использовать другой метод интерполяции.
Я понимаю, что использование Inter_area действительна для опускания изображения, но работает аналогично ближайшему соседу для повышения дискретизации, делая его менее чем оптимальным для моей цели. /> Пример для значений вне диапазона с использованием inter_cubic: < /p>

a = np.array( [ 0, 10, 20, 0, 5, 2, 255, 0, 255 ] ).reshape( ( 3, 3 ) )
[[ 0 10 20]
[ 0 5 2]
[255 0 255]]

b = cv2.resize( a.astype('float'), ( 4, 4 ), interpolation = cv2.INTER_CUBIC )
[[ 0. 5.42489886 15.43670964 21.29199219]
[ -28.01513672 -2.46422291 1.62949324 -19.30908203]
[ 91.88964844 25.07939219 24.75106835 91.19140625]
[ 273.30322266 68.20603609 68.13853455 273.15966797]]
< /code>

Редактировать: Как указал Берак, преобразование типа в float (от int64) позволяет обеспечивать значения вне исходного диапазона. Функция cv2.resize () не работает с типом «Int64» по умолчанию. Однако преобразование в 'uint8' будет автоматически насыщать значения [0..255]. < /P>

Кроме того, как указано Сауллокастро, еще один связанный ответ продемонстрировал интерполяцию Scipy, и что Defualt метод является кубической взаимодействием (с насыщением).>

Подробнее здесь: https://stackoverflow.com/questions/238 ... zing-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»