2016-06-27 60 views
3

我在帶有擴展SD卡(BeagleBone Black)的主板的Debian系統中使用python2.7編譯了opencv 3.0.0。構建opencv時,無法找到文件「cv2.so」

安裝opencv後,似乎沒有錯誤。 「Lib」文件夾中有很多生成的文件。

命名,如:

libopencv_core.so

libopencv_dataset.so

libopencv_imgproc.so ...

我找不到文件 「cv2.so」,甚至搜查文件系統。

我試了幾次,就是找不到'cv2.so'。

誰知道原因?由於

make config這檢查,似乎是正確的:

sudo cmake -D CMAKE_BUILD_TYPE=RELEASE \ 

-D CMAKE_INSTALL_PREFIX=/usr/local -D 

回答

1

檢查CMake的變量包括:

-D BUILD_NEW_PYTHON_SUPPORT=ON

-D BUILD_PYTHON_SUPPORT=ON

檢查CMake的顯示信息:

variables were not used by the project: BUILD_NEW_PYTHON_SUPPORT BUILD_PYTHON_SUPPORT

如果這兩個變量的所有未使用,OpenCV的不會產生cv2.so,意味着蟒模塊將不使用,即使成功地建立(沒有錯誤消息)。

我不知道爲什麼這些發生在python環境沒問題的時候。

4

確保您安裝了numpy。如果沒有numpy的,CMake的會說

-- Python 2: 
--  Interpreter:     /usr/bin/python2.7 (ver 2.7.12) 
--  Libraries:     NO 
--  numpy:      NO (Python wrappers can not be generated) 
--  packages path:    lib/python2.7/dist-packages 

安裝numpy的,它會說:

-- Python 2: 
--  Interpreter:     /usr/bin/python2.7 (ver 2.7.12) 
--  Libraries:     /usr/lib64/libpython2.7.so (ver 2.7.12) 
--  numpy:      /usr/local/lib/python2.7/dist-packages/numpy/core/include (ver 1.12.1) 
--  packages path:    lib/python2.7/dist-packages 
+0

我的cmake僅顯示在每個版本的Python解釋器,但犯規節目庫,也不numpy的,也不包路徑 – Kasparov92

+0

我還沒有看到numpy的或包路徑,直到我加入這個我cmake '-D PYTHON3_NUMPY_INCLUDE_DIRS =/path_to_python3.5/site-packages/numpy/core/include/-D PYTHON3_NUMPY_VERSION = 1.14.0' – dman

0

我想你可能會嘗試找到你下載的OpenCV目錄cv2.so

我遇到同樣的問題,最後發現它在

DIR ="./myopencv/opencv/build/lib"

當我嘗試解決問題時,我發現cv2.so可能是一些.so文件的集合。就好像你的版本是相匹配的,即使你從別人的電腦上得到它也沒問題。

1

對我來說,解決辦法是如下:

  1. 刪除CMakeCache.txt文件,如果它在構建 目錄存在。
  2. 添加以下標誌(如果缺少),以構建命令(您可能需要更改路徑,如果他們是不同系統上):

    -D PYTHON_INCLUDE_DIR=/usr/include/python2.7 
    -D PYTHON_LIBRARY=/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so 
    

整個構建命令工作對我來說是這樣的:

cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
-D CMAKE_INSTALL_PREFIX=/usr/local \ 
-D INSTALL_PYTHON_EXAMPLES=ON \ 
-D INSTALL_C_EXAMPLES=OFF \ 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \ 
-D PYTHON_EXECUTABLE=/usr/bin/python \ 
-D PYTHON_INCLUDE_DIR=/usr/include/python2.7 \ 
-D PYTHON_LIBRARY=/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so \ 
-D BUILD_EXAMPLES=ON .. 
相關問題