我正在移植一個在Windows上開發的python + opencv應用程序到mac。如何在macos上使用opencv與python
在windows上,我在我的virtualenv站點包中安裝了cv2.pyd,並且運行良好。
我是新來的mac,我不明白它應該工作。我沒有找到opencv python綁定的任何二進制文件,似乎正確的是使用macport。
macport正在複製opts /.../ site-packages中的cv.py和cv2.so。
至此如何使用它?
我試圖手動將這兩個文件複製,但我得到一個錯誤
>>> import cv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv.py", line 1, in <module>
from cv2.cv import *
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so, 2): no suitable image found. Did find:
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so: mach-o, but wrong architecture
有什麼不對?
更新: 作爲提問者@Vortexfive:
$ file /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so
/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so: Mach-O 64-bit dynamically linked shared library x86_64
$ file /Library/Frameworks/Python.framework/Versions/2.6/bin/python
/Library/Frameworks/Python.framework/Versions/2.6/bin/python: Mach-O universal binary with 2 architectures
/Library/Frameworks/Python.framework/Versions/2.6/bin/python (for architecture ppc): Mach-O executable ppc
/Library/Frameworks/Python.framework/Versions/2.6/bin/python (for architecture i386): Mach-O executable i386
似乎存在不匹配。如何解決它?
你可以給'file /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/cv2.so'和'file'python''的輸出。這聽起來像是目標體系結構(i386,x86_64)的不匹配。 – Vortexfive
謝謝。看起來有一個不匹配。查看我的更新 – luc