cv2.resize
поддерживает отрицательные числа.
Пример:
import numpy as np
import cv2
a = np.full((5, 5, 3), -5, float))
b = cv2.resize(a, (10, 10))
print(b)
Результат:
[[[-5. -5. -5.]
[-5. -5. -5.]
[-5. -5. -5.]...
Возможно, у вас возникла проблема с использованием cv2.resize
из-за типа вашего изображения is int32
.
cv2.resize
не поддерживает тип int32
.
Следующий код вызывает исключение:
a = np.full((5, 5, 3), -5, np.int32)
b = cv2.resize(a, (10, 10))
Вы можете преобразовать изображение в тип np.int16
до изменения размера:
a = np.full((5, 5, 3), -5, np.int32)
b = cv2.resize(a.astype(np.int16), (10, 10))
Нет scipy.misc.resize
, есть scipy.mis c .imresize , но метод устарел:
imresize устарела! imresize устарела в SciPy 1.0.0 и будет удалена в 1.3.0. Вместо этого используйте Pillow
Похоже, что есть некоторый контроль над диапазоном, используя аргумент mode
.