что является вторым параметром в cv2.normalize () для - PullRequest
0 голосов
/ 03 мая 2018

Я хочу нормализовать изображение с помощью cv2.normalize(), как следует

import cv2
original_image = cv2.imread("/path/to/test.jpg")
normalized_image = cv2.normalize(original_image, alpha=0.0, beta=1.0, norm_type=cv2.NORM_MINMAX)

Это прекрасно работает с opencv2 (в Python). Но с opencv3 ошибка

TypeError: Обязательный аргумент 'dst' (позиция 2) не найден

выбрасывается и мне нужно передать другой параметр

arr = np.array([])
normalized_image = cv2.normalize(original_image, arr, alpha=0.0, beta=1.0, norm_type=cv2.NORM_MINMAX)

Согласно doc это, кажется, место назначения, но, что интересно, результат сохраняется в normalized_image, а arr равно [] после этого.

Так для чего этот второй параметр в opencv3 (Python)?

Ответы [ 3 ]

0 голосов
/ 25 августа 2018

Это также можно сделать:

import cv2
original_image = cv2.imread("/path/to/test.jpg")
normalized_image = cv2.normalize(original_image,None)

Массив хранится в normalized_image

0 голосов
/ 02 марта 2019

arr = np.array([])
hist = cv2.calcHist([image], [0, 1, 2], mask, self.bins,
                            [0, 180, 0, 256, 0, 256])
hist = cv2.normalize(hist,arr).flatten()

у меня работает

0 голосов
/ 03 мая 2018

Как вы можете найти здесь, в документе dst описывает изображение назначения для вашей операции нормализации. Кажется, что подпись функции была изменена. До того, как целевое изображение было возвращено, в opencv3 оно будет определено как параметр. Так что это будет работать с моей точки зрения (не проверено):

arr = np.array([])
cv2.normalize(original_image, normalized_image, arr, 
    alpha=0.0, beta=1.0, norm_type=cv2.NORM_MINMAX)
...