OpenCV Python изменить размер с одной константой - PullRequest
0 голосов
/ 05 июля 2018

Я хочу изменить размер моего изображения с новой длиной одного края, используя метод cv2.resize().

Например, мое изображение имеет размер 300x400, и я хочу увеличить свою высоту с 400 до 500, но я должен написать новый размер только одного края (всего 500), другой край должен автоматически увеличиться. Что такое последовательность?

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Я знаю, что вы запрашиваете только cv2.resize, но вы можете использовать библиотеку imutils , которая выполняет для вас часть кода отношения.

import imutils
resized = imutils.resize(img, width=newwidth)

Внутри imutils:

dim = None
(h, w) = image.shape[:2]

# check to see if the width is None
if width is None:
    # calculate the ratio of the height and construct the
    # dimensions
    r = height / float(h)
    dim = (int(w * r), height)

# otherwise, the height is None
else:
    # calculate the ratio of the width and construct the
    # dimensions
    r = width / float(w)
    dim = (width, int(h * r))

# resize the image
resized = cv2.resize(image, dim, interpolation=inter)
0 голосов
/ 05 июля 2018

Вы можете изменить размер с помощью параметров fx и fy функции resize.

img = cv2.resize(img, (0,0), fx=500/400, fy=500/400)
...