Linux Ubuntu12.04下安裝OpenCv2.4.10


參考 http://blog.sina.com.cn/s/blog_53b0956801010lfu.html

搗鼓了一個晚上了,OpenCv還沒裝好,本來以為看個類似的比如Ubuntu安裝OpenCv2.2或者其他的就能安裝好,結果發現...我太天真了。

網上使用Ubuntu12.04來裝OpenCv還是挺多的,各種版本組合教程,都沒能把我的Ubuntu12.04+OpenCv2.4.10 成功合體。

 

 

 

------------------------------------------------------------

建議不要用2.4.10,使用2.4.9就可以了。

 

 

 

 

灰心之極到OpenCv官網想下載個OpenCv2.4.0發現沒有....

只好假裝屢敗屢戰了。

  

  

  回到剛剛的現實...

 

以下是步驟:

  

一、更新軟件列表,升級
sudo apt-get update
sudo apt-get upgrade

二、安裝依賴包
sudo
apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev
libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev
libeigen2-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev
libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev libqt4-dev
libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev
libavcodec-dev libavformat-dev libswscale-dev

下載opencv安裝包

http://sourceforge.net/projects/opencvlibrary

最新版本已經到3.0了!!!  可是關我什么事....

 

三、解壓
tar xvzf opencv-2.4.10.tar.bz2
cd opencv-2.4.10

四、創建編譯目錄
mkdir
build
cd build

cmake生成make文件
cmake -D WITH_TBB=ON -D
BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D
INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON
..
檢查輸出:不能有error;FFMPEG : YES;Python, TBB, OpenGL, V4L, OpenGL and Qt are
detected。如果有問題要重新安裝對應的包再cmake

五、編譯(需要很長時間)
make

 

到了這一步就卡住了,輸出錯誤

 make
[  0%] Generating opencv_core_pch_dephelp.cxx
Scanning dependencies of target opencv_core_pch_dephelp
[  0%] Building CXX object modules/core/CMakeFiles/opencv_core_pch_dephelp.dir/opencv_core_pch_dephelp.cxx.o
Linking CXX static library ../../lib/libopencv_core_pch_dephelp.a
[  0%] Built target opencv_core_pch_dephelp
Scanning dependencies of target pch_Generate_opencv_core
[  0%] Generating precomp.hpp
[  0%] Generating precomp.hpp.gch/opencv_core_Release.gch
[  0%] Built target pch_Generate_opencv_core
Scanning dependencies of target opencv_core
[  0%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
/tmp/opencv-2.4.10/modules/core/src/system.cpp: In function ‘(static initializers for /tmp/opencv-2.4.10/modules/core/src/system.cpp)’:
/tmp/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an ‘asm’
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

 

  在網上查找了一下錯誤信息,沒什么收獲...

  突然想研讀一下這是個什么錯誤...看了半天覺得另尋出路吧。

 

繼續尋找

  發現一篇不錯的博文http://www.linuxidc.com/Linux/2014-04/100112.htm

  然后繼續發現我少裝了一個工具,於是

  sudo apt-get install cmake-curses-gui 

 

  接下來是繼續弄了

                                                                                                      

 

開始安裝 將從官網下載的源碼 opencv2.4.8.zip 復制到任意下,cd到該目錄,執行

unzip opencv2.4.8.zip 

cd opencv2.4.8 

mkdir release 

cd release  ccmake ../

 

進入ccmake后,按 c 就會彈出如下界面

Ubuntu 12.04 編譯安裝 OpenCV2.4.8 過程記錄

把 BUILD_JPEG 和 BUILD_PNG 這兩項改成了 ON ,其余全部都默認,鍵盤按c,然后按g,然后就回到命令行界面,

make 

 

比上次多出了很多.o文件,然后很順利的一直進行...

 

但是,

突然又出現

/tmp/opencv-2.4.10/modules/core/src/system.cpp: In function ‘(static initializers for /tmp/opencv-2.4.10/modules/core/src/system.cpp)’:
/tmp/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an ‘asm’
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

 

  郁悶之極...

  未完待續。。。

更新-------------------------------------------------------2014年11月30日

上官網下載了個2.4.9的版本http://sourceforge.net/projects/opencvlibrary

 

嗯,重新安裝了一遍發現OK了,按照第二個教程的步驟。

 

make

 

然后等了很久,無錯誤完成。

六、安裝

sudo make install

 

完成!

 

七、設置一下環境變量

sudo vim /etc/ld.so.conf.d/opencv.conf 

 

在這個新文件里插入opencv安裝的路徑 “/usr/local/lib”

 

sudo ldconfig

 

再測試一下

先重啟電腦,然后

cd /home/own/opencv-2.4.8/samples/c (注意要進入的是你自己安裝OpenCv的文件夾,也就是下載后解壓出來的文件夾里面) 
./build_all.sh  
./find_obj

 

一切正常。

心得:

 

雖然沒有從根本上解決問題,比如2.4.10還是沒有安裝成功,但是安裝成功了2.4.9。

有時候解決問題的辦法並不是死鑽牛角尖,也可以是另辟蹊徑而為之。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM