CvSize не существует? - PullRequest
       13

CvSize не существует?

7 голосов
/ 23 декабря 2010

Я установил официальные привязки Python для OpenCv и реализую некоторые стандартные функции учебника, чтобы просто привыкнуть к синтаксису Python.Однако я столкнулся с проблемой, что CvSize на самом деле не существует, даже если он задокументирован на сайте ...

Простая функция: blah = cv.CvSize(inp.width/2, inp.height/2) выдает ошибку 'module' object has no attribute 'CvSize'.Я импортировал с 'import cv'.

Есть ли эквивалентная структура?Нужно ли что-то еще?Спасибо.

Ответы [ 4 ]

7 голосов
/ 30 июня 2011

Кажется, что они решили в конечном итоге вообще избежать этой структуры.Вместо этого он просто использует кортеж Python (ширина, высота).

2 голосов
/ 05 февраля 2014

Чтобы добавить немного больше к ответу Натана Келлера, в более поздних версиях OpenCV некоторые базовые структуры просто реализованы как кортежи Python.

Например, в OpenCV 2.4:

Это (неверно, чтовыдаст ошибку)

image = cv.LoadImage(sys.argv[1]);
grayscale = cv.CreateImage(cvSize(image.width, image.height), 8, 1)

Вместо этого будет написано следующее:

image = cv.LoadImage(sys.argv[1]);
grayscale = cv.CreateImage((image.width, image.height), 8, 1)

Обратите внимание, как мы просто передаем кортеж напрямую.

0 голосов
/ 12 мая 2011

Правильный вызов - cv.cvSize (inp.width / 2, inp.height / 2).

Все функции в привязках python opencv начинаются с строчной буквы c даже в модуле highgui.

0 голосов
/ 23 декабря 2010

Возможно, документация неверна, и вы должны использовать cv.cvSize вместо cv.CvSize? Кроме того, выполните dir (cv), чтобы узнать доступные вам методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...