Как использовать OpenCV в Python? - PullRequest
30 голосов
/ 17 февраля 2011

Я только что установил 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.

Что я делаю не так?

ДОБАВЛЕНО

Как было рекомендовано здесь , я скопировал содержимое 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

ADDED 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,Прошло какое-то время, потому что я не понял, что существуют разные numpy установщики, соответствующие разным версиям Python.Некоторые подробности можно найти в моем ответе на мой собственный вопрос (см. Ниже).

Ответы [ 4 ]

15 голосов
/ 23 февраля 2011

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

  1. Установлена ​​новая версия python (версия 2.7).
  2. После этого я все еще не мог запустить OpenCV, потому что у меня были некоторые проблемы с библиотекой numpy.
  3. Я устал устанавливать numpy, но установщик не увидел мою новую версию Python.
  4. Я удалил старую версию Python, а также ссылки на старую версию в системе Path vatriable.
  5. После этого наглый установщик не смог завершить установку.
  6. Я понял, что мне нужно запустить еще один простой установщик, связанный с Python 2.7. Его можно найти здесь .
  7. Наконец-то все заработало. Я был в состоянии "импортировать резюме".
5 голосов
/ 20 февраля 2011

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

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

  1. Удаление 64-битного Python
  2. Установка 32-битного дистрибутива.

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

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

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

2 голосов
/ 26 июля 2013

У меня были проблемы с интерфейсом 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". Я на самом деле использую Spyder IDE, и она отлично работает. В интерпретаторе python мне удалось набрать «import cv».

0 голосов
/ 17 февраля 2011

Может быть, вам следует отредактировать переменную окружениящелкните правой кнопкой мыши на «Мой компьютер» или что-то вроде этого, нажмите на свойства.В окне свойств нажмите на вкладку «Дополнительно».Затем кнопка переменных среды.Изменить путь.

...