Подтвердить что ты не робот

Что такое замена cv2.cv в OpenCV3?

Я использую OpenCV3, а с привязками python отсутствует модуль cv2.cv:

In [1]: import cv2

In [2]: from cv2 import cv
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-15a6578c139c> in <module>()
----> 1 from cv2 import cv

ImportError: cannot import name cv

Однако у меня есть код устаревшей формы:

hsv_im = cv2.cvtColor(image, cv2.cv.CV_BGR2HSV)

При выполнении этого я получаю сообщение об ошибке:

In [7]: hsv_im = cv2.cvtColor(image, cv2.cv.CV_BGR2HSV)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-7-e784072551f2> in <module>()
----> 1 hsv_im = cv2.cvtColor(image, cv2.cv.CV_BGR2HSV)

AttributeError: 'module' object has no attribute 'cv'

Каков эквивалент этого кода в OpenCV3?


Похожие вопросы:

4b9b3361

Ответ 1

Из OpenCV 2.X OpenCV 3.0 несколько вещей изменено.

В частности:

  • cv2.cv не существует в OpenCV 3.0. Используйте просто cv2.
  • некоторые определяют изменения, например. CV_BGR2HSV теперь COLOR_BGR2HSV.

Итак, вам нужно изменить эту строку:

hsv_im = cv2.cvtColor(image, cv2.cv.CV_BGR2HSV)

в

hsv_im = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)

Ответ 2

При установке из whl вы можете обнаружить, что файл cv.py неверен (разрешите обратную совместимость). Поэтому создайте/отредактируйте файл cv.py в файле site_packages, где находится cv2.pyd, и добавьте/отредактируйте следующую строку:

#from cv2.cv import * #this may be original if you used the whl
import cv2 as cv