Привязки Python для OpenCV MacPort - PullRequest
       15

Привязки Python для OpenCV MacPort

7 голосов
/ 10 сентября 2010

при использовании MacPorts при установке OpenCV, похоже, нигде не устанавливаются привязки python. Они включены, куда они идут?

Ответы [ 5 ]

10 голосов
/ 10 сентября 2010

Вы выбрали вариант + python26 для порта MacPorts ?

$ sudo port install opencv +python26
7 голосов
/ 06 марта 2011

Я испытал эту же проблему.Похоже, что привязки OpenCV Python созданы и установлены, но на них нет ссылок в каталоге «site-packages».Я нашел решение, добавив символическую ссылку на встроенный файл «cv.so» в каталоге «site-packages» пакета Python, установленного MacPorts.Эти инструкции проверены на установке с использованием Mac OS 10.6.6.Тематические пакеты MacPorts - это «python27» и «opencv».

Чтобы убедиться, что привязки Python действительно находятся на вашем диске, вам необходимо убедиться, что вы вызвали пакет opencv с вариантом python:

sudo port install opencv +python27

Общий объектный файл "cv.so" будет построен в следующем каталоге:

/opt/local/@@PYTHON_PKGD@@

Необходимо создать символическую ссылку в каталоге вашего сайта Python "site-packages".Вы можете найти путь к этому каталогу, выполнив следующие команды в интерпретаторе Python:

from distutils.sysconfig import get_python_lib
print get_python_lib()

Возвращаемый путь должен быть похож на следующий:

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Создать символическую ссылку наобщий объект ("cv.so") в этом каталоге:

ln -s /opt/local/@@PYTHON_PKGD@@/cv.so /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/cv.so

Теперь вы сможете импортировать модуль cv в ваш интерпретатор:

import cv

Возможно, ваши настройкинемного отличается, если вы используете другую версию Python или OpenCV;однако общая методология должна быть такой же, за исключением имен путей.Возможно, есть лучший способ сделать это, но эта методология, кажется, работает хорошо.

1 голос
/ 12 октября 2010

обязательно установите py26-numpy для поддержки основных функций, таких как cv.fromarray:

sudo port install py26-numpy

opencv будет компилироваться без всяких ошибок (это не строго зависимость).

sudo port install -v opencv +python26

там вы можете проверить, что привязка к numpy эффективна.

1 голос
/ 10 сентября 2010

Это должно быть установлено в

/Library/Python/2.6/site-packages

, если вы используете sudo port install ..

Каталоги 2.6, 2.5 .. будут зависеть от версии Python на пути.

Спасибо, Нед, исправляя вышесказанное - это Mac OS X.

Macports помещает все в:

/ opt / local / Library / Frameworks / Python.framework / Versions / Current / lib / python2.6 / site-packages

0 голосов
/ 03 января 2012

Вот что мне нужно было сделать:

ШАГ ПЕРВЫЙ

Используйте Macports для установки opencv.

ШАГ ВТОРОЙ

Поместите эти два файла где-нибудь на PYTHONPATH (например, в site-packages):

ТРЕТИЙ ШАГ

Создайте следующие программные ссылки (поскольку cv2.so ожидает, что dylibs будет в /usr/local, но MacPorts установит /opt/local):

cd /usr/local/lib/
ln -s /opt/local/lib/libopencv_core.2.3.dylib libopencv_core.2.3.dylib
ln -s /opt/local/lib/libopencv_flann.2.3.dylib libopencv_flann.2.3.dylib
ln -s /opt/local/lib/libopencv_imgproc.2.3.dylib libopencv_imgproc.2.3.dylib
ln -s /opt/local/lib/libopencv_video.2.3.dylib libopencv_video.2.3.dylib
ln -s /opt/local/lib/libopencv_ml.2.3.dylib libopencv_ml.2.3.dylib
ln -s /opt/local/lib/libopencv_features2d.2.3.dylib libopencv_features2d.2.3.dylib
ln -s /opt/local/lib/libopencv_highgui.2.3.dylib libopencv_highgui.2.3.dylib
ln -s /opt/local/lib/libopencv_calib3d.2.3.dylib libopencv_calib3d.2.3.dylib
ln -s /opt/local/lib/libopencv_objdetect.2.3.dylib libopencv_objdetect.2.3.dylib
ln -s /opt/local/lib/libopencv_legacy.2.3.dylib libopencv_legacy.2.3.dylib
ln -s /opt/local/lib/libopencv_contrib.2.3.dylib libopencv_contrib.2.3.dylib
...