2014-02-15 1 views
2

Я потратил около 15 часов на то, чтобы получить Opencv 2.4.8 для работы с Python 2.7.5 в моей среде Windows 7 Cygwin-64.Как сделать Opencv 2.4.8 с Python 2.7.5 работать на Windows7 Cygwin64?

После некоторого struggle, я, наконец, смог получить работу Opencv с C++, но я все еще не могу назвать Opencv из Python.

Это то, что я получаю при попытке импортировать модуль CV2:

$ python 
Python 2.7.5 (default, Oct 2 2013, 22:34:09) 
[GCC 4.8.1] on cygwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import cv2 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named cv2 
>>> 

Во время установки (с CMake-GUI) из OpenCV, все элементы конфигурации относительно Python были правильно определены.

Я добавил путь к opencv/bin к моей PATH.

Я скопировал файл cv2.pyd из дистрибутива opencv в папку сайта сайта Python, но безрезультатно.

Я попытался установить PYTHONPATH, чтобы указать каталог сайтов, но это не помогает.

Мне кажется, что Python не знает о модуле cv2.

Любые указатели на то, что попробовать дальше, будут очень признательны. Кроме того, если кто-то может дать некоторое представление о том, как Python в целом находит внешние не-Python-модули, помимо размещения соответствующего .pyd-файла в библиотеке сайтов-пакетов, было бы полезно для дальнейшего устранения проблем.

TIA.

+1

попробуйте установщик для 64-битного питона найдено [здесь] (http://www.lfd.uci.edu/~gohlke/pythonlibs/) – M4rtini

+0

thx. будет изучать это. – Pryderide

+0

Вы не можете использовать 'cv2.pyd' (или что-нибудь еще, созданное для Windows Python) с помощью Python Cygwin; они несовместимы. Для создания OpenCV для Cygwin требуется [несколько патчей] (https://sourceforge.net/p/cygwin-ports/opencv/ci/master/tree/), но бинарные пакеты доступны из [Ports] (http: // cygwinports. орг /). – Yaakov

ответ

0

Проблема решена! Теперь я могу запустить Python с OpenCV.

@ Яаков поставил меня на правильном пути: однажды я понял, что cv2.pyd - это всего лишь dll, остальное легко получилось: поскольку я создал OpenCV из источников, я начал подозревать, что может быть только что cv2.dll был создан в этом процессе. Действительно, в каталоге lib области OpenCV есть каталог lib.

После того, как этот файл был скопирован в каталог моего сайта python, все началось нормально.

Дополнительная информация here.

Смежные вопросы