Пример удвоения размера изображения
Существует два способа изменить размер изображения.Новый размер может быть указан:
Вручную;
height, width = src.shape[:2]
dst = cv2.resize(src, (2*width, 2*height), interpolation = cv2.INTER_CUBIC)
По коэффициенту масштабирования.
dst = cv2.resize(src, None, fx = 2, fy = 2, interpolation = cv2.INTER_CUBIC)
, где fx - коэффициент масштабирования по горизонтальной оси и fy по вертикальной оси.
Чтобы уменьшить изображение, оно обычно будет выглядеть лучше с интерполяцией INTER_AREA, тогда как для увеличения изображения оно обычно будет выглядеть лучше с INTER_CUBIC (медленно) или INTER_LINEAR (быстрее, но все еще выглядит хорошо).
Пример уменьшенного изображения до максимальной высоты / ширины (с сохранением соотношения сторон)
import cv2
img = cv2.imread('YOUR_PATH_TO_IMG')
height, width = img.shape[:2]
max_height = 300
max_width = 300
# only shrink if img is bigger than required
if max_height < height or max_width < width:
# get scaling factor
scaling_factor = max_height / float(height)
if max_width/float(width) < scaling_factor:
scaling_factor = max_width / float(width)
# resize image
img = cv2.resize(img, None, fx=scaling_factor, fy=scaling_factor, interpolation=cv2.INTER_AREA)
cv2.imshow("Shrinked image", img)
key = cv2.waitKey()
Использование кода с cv2
import cv2 as cv
im = cv.imread(path)
height, width = im.shape[:2]
thumbnail = cv.resize(im, (width/10, height/10), interpolation = cv.INTER_AREA)
cv.imshow('exampleshq', thumbnail)
cv.waitKey(0)
cv.destroyAllWindows()