2010-02-03 46 views
6

我無法獲取要運行的示例Python程序。當執行Python命令「from opencv import cv」時,我得到消息「ImportError:No module named _cv」。 site-packages目錄中有一個陳舊的_cv.pyd,但是在任何地方都沒有_cv.py。請參閱下面的步驟5。OpenCV 2.0和Python

MS Windows XP中,VC++ 2008,Python 2.6中,OpenCV的2.0

這就是我所做的。

  1. 下載並運行適用於OpenCV2.0的MS Windows安裝程序。
  2. 下載和安裝CMake的
  3. 下載並安裝痛飲
  4. 然CMake的。在CMake GUI中取消選中「ENABLE_OPENMP」後,我可以使用INSTALL.vcproj和BUILD_ALL.vcproj構建OpenCV。我不知道有什麼區別,所以我在這兩個項目文件下都創建了一切。 C示例程序運行良好。
  5. 將OpenCV2.0/Python2.6/lib/site-packages的內容複製到我安裝的Python2.6/lib/site-packages目錄中。我注意到它包含一箇舊的_cv.pyd和一箇舊的libcv.dll.a。
+2

從版本2.0開始,OpenCV實際上帶有兩套獨立的Python綁定。默認是「新」Python綁定;使用CMake時,默認禁用舊的SWIG綁定。由於新的綁定是不完整的,舊的綁定是痛苦的使用,這是一個相當混亂,我不會感到驚訝,如果你繼續有這個問題之外的問題。 – ezod 2010-02-03 21:12:02

+2

爲什麼,爲什麼Python的力量爲什麼會不斷打破一切?每個新版本都是一場噩夢。想象一下,如果每個星期二的Windows操作系統補丁出來,你必須說服你的所有軟件供應商創建新的版本,然後你必須安裝新的版本,並改變你的所有程序與它們綁定。 – 2010-02-03 21:24:10

+1

是Python 2.6還是Python 3.0的「新」綁定? – 2010-02-03 21:25:33

回答

3

在步驟1(安裝程序)之後,將C:\OpenCV2.0\Python2.6\Lib\site-packages的內容複製到C:\Python26\Lib\site-packages(假定爲標準安裝路徑)。 就是這樣。

如果你已經安裝了一個攝像頭,你可以嘗試在C:\OpenCV2.0\samples\python

的camshift.demo已被廢棄的東西(C:\OpenCV2.0\samples\swig_python)正如有人寫以上不此刻工作。 OpenCV人正在努力。這是完整的圖片:

31/03/10 (hopefully) Next OpenCV Official Release: 2.1.0 is due March 31st, 2010. link://opencv.willowgarage.com/wiki/Welcome/Introduction#Announcements

04/03/10 [james]rewriting samples for new Python 5:36 PM Mar 4th
via API link://twitter.com/opencvlibrary

12/31/09 We've gotten more serious about OpenCV's software engineering. We now have a full C++ and Python interface. link://opencv.willowgarage.com/wiki/OpenCV%20Monthly

9/30/09 Several (actually, most) SWIG-based Python samples do not work correctly now. The reason is this problem is being investigated and the intermediate update of the OpenCV Python package will be released as soon as the problem is sorted out. link://opencv.willowgarage.com/wiki/OpenCV%20Monthly

+0

這方面有沒有進展? – 2010-05-18 18:55:40

+0

適用於2.2。謝謝。 – Wok 2010-12-14 22:29:16

4

您應該使用python dist utils安裝opencv。這可以通過將OpenCV的目錄,然後輸入來完成:

python setup.py install 

編輯:

的OpenCV採用的distutils,但有些是間接的。在UNIX安裝線沿線的更多:

configure 
make -j 8 
make install 

對於Windows,最簡單的方法可能是下載安裝程序,就像對Linux最簡單的方法是使用軟件包管理器安裝應用程序。你不能僅僅將OpenCV複製到python路徑中,而是讓它工作,因爲它依賴於需要編譯的大量C庫。

我會想象Windows安裝程序會安裝二進制文件(而不是需要編譯所有內容,並且它可能不好使用安裝程序並自行編譯所有內容)。無論如何,請勿複製自己的文件,或者進行安裝,或者使用安裝程序。

祝你好運OpenCV,我希望你喜歡使用它!

+0

試過了。 Setup.py在OpenCV目錄中的任何位置都不存在。 – 2010-02-03 21:19:34

+1

OpenCV 2.0的Windows安裝程序需要從源代碼進行編譯。只有幾個示例程序以可執行形式提供,而這些程序是MinGW,而不是VC++。你必須編譯所有的圖書館。我也曾與此打架。我失去了如何處理Python鉤子。我想我會過着沒有他們的生活。 – 2010-02-04 01:18:00

1

正如羅傑已經解釋的那樣,這種情況在一段時間裏相當混亂。原因是opencv從一個C語言實現轉移到了opencv2中的混合C和C++實現。這會導致所有包裝的頭痛,包括Python的包裝。所以請不要抱怨python傢伙「繼續打破事情」,因爲他們沒有。 (順便說一下,Python中唯一的主要不兼容性在2到3之間,這是廣告)。

好消息是,有人試圖通過包裝opencv2來解決這個問題。我還沒有廣泛使用它,但現在看起來非常好。 http://code.google.com/p/pyopencv/ 它現在在python2中工作,但它已經與python3兼容99%。

PS在回覆到stackoverflow問題時,保留進度日誌並不是一種好的方式:在解決問題時添加回復。