2016-04-13 84 views
1

我想在Ubuntu 14.04上安裝OpenCV 3.0 for Python,但是在許多安裝(以及StackOverflow頁面讀取)後,它仍然無法工作。無法安裝OpenCV Ubuntu(libopencv_core錯誤)

在Python(Python 2.7版)導入打字import cv2,當我得到這個錯誤:

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: libopencv_core.so.2.4: cannot open shared object file: No such file or directory 

我已經看到了這個錯誤可能是由於該文件/etc/ld.so.conf.d/opencv.conf,所以我裏面寫了一行/usr/local/opencv/但它沒有幫助(實際上不存在的文件夾opencv/usr/local/我的電腦上...

對於安裝我跟着這個網站上的說明:http://milq.github.io/install-opencv-ubuntu-debian/

我懷疑在cmake階段發生了錯誤,因爲我得到了像-- Performing Test HAVE_CXX_WMISSING_PROTOTYPES - Failed這樣的失敗。我不知道這意味着什麼,如果它是安裝的重要...

我有一個像

-- checking for module 'gstreamer-base-1.0'

-- package 'gstreamer-base-1.0' not found

其他錯誤,在我得到這個錯誤的make階段

[ 31%] Building CXX object modules/highgui/CMakeFiles/opencv_highgui.dir/qrc_window_QT.cpp.o 
In file included from /home/xavier/OpenCV/build/modules/highgui/qrc_window_QT.cpp:9:0: 
/home/xavier/OpenCV/build/modules/highgui/qrc_window_QT.cpp: In function ‘int qInitResources_window_QT()’: 
/home/xavier/OpenCV/build/modules/highgui/qrc_window_QT.cpp:1749:25: warning: no previous declaration for ‘int qInitResources_window_QT()’ [-Wmissing-declarations] 
int QT_MANGLE_NAMESPACE(qInitResources_window_QT)() 
^ 
/usr/include/qt5/QtCore/qglobal.h:100:36: note: in definition of macro ‘QT_MANGLE_NAMESPACE’ 
# define QT_MANGLE_NAMESPACE(name) name 
^ 
/home/xavier/OpenCV/build/modules/highgui/qrc_window_QT.cpp: In function ‘int qCleanupResources_window_QT()’: 
/home/xavier/OpenCV/build/modules/highgui/qrc_window_QT.cpp:1758:25: warning: no previous declaration for ‘int qCleanupResources_window_QT()’ [-Wmissing-declarations] 
int QT_MANGLE_NAMESPACE(qCleanupResources_window_QT)() 
^ 
/usr/include/qt5/QtCore/qglobal.h:100:36: note: in definition of macro ‘QT_MANGLE_NAMESPACE’ 
# define QT_MANGLE_NAMESPACE(name) name 
^ 
[ 31%] Generating opencl_kernels_superres.cpp, opencl_kernels_superres.hpp 

你知道什麼是錯的嗎?

+0

看來你已經安裝了一箇舊的OpenCV版本(2.4.something),與3.0衝突 – Miki

+0

是的,可能是這樣,但我試圖在安裝3.0版本之前刪除opencv(使用'sudo find/-name * opencv *「-exec rm -i {} \;''sudo make unistall')。但也許它不起作用。我需要做什麼? – fonfonx

+0

不知道在linux上; D。我只是給你一些可能的問題的指針。 – Miki

回答

2

我終於設法解決了我的問題。由於這可能會讓其他人感興趣,所以我在這裏繼續。

  1. 我刪除從我的電腦完全OpenCV的:

    • 在我寫sudo make install
    • sudo find/-name "*opencv*" -exec rm -i {} \;刪除含有 「OpenCV的」
    • sudo find/-name "*cv2.so*" -exec rm -i {} \;刪除包含的所有文件,所有文件的存儲庫sudo make unistall 「cv2.so」
    • conda uninstall opencv(如果需要)
  2. 我跟着this link安裝OpenCV2.4.10爲Python2.7:我做點5,6,7和12(其餘的是無用的,我想要的東西)。我改了一下cmake命令和我打

    cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_OPENGL=ON -D WITH_VTK=ON -D WITH_GTK=ON .. 
    
  3. 現在,如果在Python鍵入import cv2,當你得到像「無模塊名爲CV2」錯誤,用下面的命令

    export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH 
    
  4. 編輯 .bashrc文件

您將不得不重新加載.bashrc文件(source .bahsrc)以應用更改。

  1. 最後我重新啓動了我的電腦。它的工作!

最後,我不知道爲什麼它以前沒有工作,但似乎與這個版本的OpenCV我沒有遇到任何問題!

祝你好運!

+1

我發現''sudo find/-name「$ ANYTHING_WITH_WILDCARDS」-exec rm -i {} \;''有點令人不安。 – BlackJack

+0

我發現http://askubuntu.com/questions/564290/how-to-uninstall-opencv-2-4-9-completely-from-ubuntu。它工作得很好,幫助我解決了我的問題 – fonfonx

0

你沒有正確安裝它,這就是爲什麼你不能導入它。這是一個關於如何安裝它的指南,(它是一個.older版本,但命令相同)。 OpenCV 3.0 Trouble with Installation

+0

我會再試一次,但我已經按照這些說明... – fonfonx

+0

我得到了錯誤'ImportError:libopencv_nonfree.so.2.4:無法打開共享對象文件:Python 2上沒有這樣的文件或目錄'和'ImportError:libopencv_core .so.3.1:無法打開共享對象文件:在Python3上沒有這樣的文件或目錄... – fonfonx

+0

執行安裝指南的第一條命令時是否收到錯誤信息? – Nevado