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

Как использовать OpenCV в Python?

Я только что установил OpenCV на мой компьютер с Windows 7. В результате я получаю новый каталог:

C:\OpenCV2.2\Python2.7\Lib\site-packages

В этом каталоге у меня есть два файла: cv.lib и cv.pyd.

Затем я пытаюсь использовать opencv из Python. Я делаю следующее:

import sys
sys.path.append('C:\OpenCV2.2\Python2.7\Lib\site-packages')
import cv

В результате я получаю следующее сообщение об ошибке:

File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.

Что я делаю неправильно?

ADDED

Как было рекомендовано здесь, я скопировал содержимое C:\OpenCV2.0\Python2.6\Lib\site-packages в C:\Python26\Lib\site-packages. Это не помогло.

ДОБАВЛЕНО 2

Мои переменные среды имеют следующие значения:

Path=C:\Program Files\MiKTex\miktex\bin;C:\OpenCV2.2\bin;C:\Python26;
PYTHONPATH=C:\OpenCV2.2\Python2.7\Lib\site-packages

Нужно ли что-то менять? Нужно ли что-то добавить?

ДОБАВЛЕНО 3

Я думаю, что мой вопрос общий: как использовать библиотеку? Возможно, мне нужно где-нибудь найти файл *.ddl? Тогда мне нужно использовать имя каталога, содержащего этот файл, в качестве значения для некоторых переменных среды? Или, может быть, мне нужно использовать sys.addpath? Мне также нужно знать, как способ вызова библиотеки связан с именем файла, который содержит библиотеку.

ДОБАВЛЕНО 4

Интересно, что когда я набираю import cv, я получаю:

ImportError: DLL load failed: The specified module could not be found.

Но когда я import opencv я получаю:

ImportError: No module named opencv

ДОБАВЛЕНО 5

Было высказано предположение, что я противоречивая версия Python. Более подробно, OpenCV пытается использовать Python2.7, и у меня был Python2.6. Итак, я установил Python 2.7. Это имеет значение. Теперь у меня нет старого сообщения об ошибке, но у меня есть новое:

ImportError: numpy.core.multiarray failed to import
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: numpy.core.multiarray failed to import

ДОБАВЛЕНО 6

Мне удалось решить проблему, установив NumPy. Прошло какое-то время, потому что я не понял, что существуют разные программы установки, соответствующие различным версиям Python. Некоторые подробности можно найти в моем ответе на мой собственный вопрос (см. Ниже).

4b9b3361

Ответ 1

Проблема решена. Выполнены следующие шаги:

  • Была установлена ​​новая версия python (версия 2.7).
  • После этого я все еще не смог запустить OpenCV, потому что у меня были некоторые проблемы с библиотекой numpy.
  • Я устал устанавливать numpy, но установщик не видел мою новую версию Python.
  • Я удалил старую версию Python, а также ссылки на старую версию в системе Path vatriable.
  • После этого установщик numpy не смог завершить установку.
  • Я понял, что мне нужно запустить еще один установщик numpy, который связан с Python 2.7. Здесь можно найти .
  • Наконец-то все сработало. Я смог "импортировать cv".

Ответ 2

Я подозреваю, что у вас такая же проблема, с которой я столкнулся. Если у вас 64-разрядная версия Python, она не может загружать 32-разрядные библиотеки DLL. В настоящее время OpenCV отправляет только 32-битные двоичные файлы. Если вам нужны 64-битные файлы .pyd и .dll, вы должны сами их скомпилировать. Есть несколько инструкций в OpenCV Wiki, но это не для слабонервных. Ожидайте иметь значительные инвестиции времени.

Самое простое решение:

  • Удалить 64-разрядный Python
  • Установите 32-разрядный дистрибутив.

В дистрибутив PythonXY входит pyopencv - хороший набор крючков OpenCV. Единственным ограничением является то, что он 32-битный, поэтому не планируйте обрабатывать данные гигапиксельной астрономии!;)

Если у вас должна быть 64-разрядная версия, следуйте этим инструкциям, чтобы получить OpenCV для компиляции с Visual Studio 2010. Там обсуждается stackoverflow, который описывает создание 64-разрядных приложений с помощью VC Express.

EDIT: OpenCV теперь поставляется с 64-битными двоичными файлами Python. Файлы .dll должны идти куда-то на вашем пути (я помещаю их в папку сценариев), а файлы .pyd входят в каталог вашего сайта.

Ответ 3

У меня возникли проблемы с взаимодействием OpenCV с Python, и я искал повсюду о помощи. Вот что сработало для меня. Я в основном следил за этим сообщением: http://opencvpython.blogspot.com/2012/05/install-opencv-in-windows-for-python.html. После загрузки и извлечения OpenCV 2.4.6 вы в основном получаете папку с названием "opencv" с кучей вещей в ней. Перейдите к build- > python- > 2.7. Внутри есть только один файл с именем "cv2.pyd". Я скопировал этот файл и вставил его в "python-2.7.5\Lib\site-packages". Я на самом деле использую IDE Spyder, и он отлично работает. В интерпретаторе python для меня работала запись в "import cv".

Ответ 4

Возможно, вы должны отредактировать переменную окружения
щелкните правой кнопкой мыши на "Мой компьютер" или что-то в этом роде, щелкните по свойствам.

В окне свойств нажмите вкладку "Дополнительно".
Затем, кнопка переменных среды.
Измените путь.