歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux非root下安裝OpenCV 2.4.1

因為程序在本地運行出現內存不足(mat類型create時,需要(15000+22000)*(33*321)*4=1,567,764,000bytes空間,15000和22000為正負樣本數量,33為樣本大小32加1,321=32*10+1,CV_32SC1類型數據每個像素占用4個bytes),這樣也就是差不多超過1.5G,當初腦殘裝了32位系統,現在表示無能為力分配這麼多內存。)所以需要在服務器上運行程序。由於服務器裝有舊版本OpenCV,我的程序需要新OpenCV庫裡的東西,所以只能在我的用戶下重裝一下。
 
大體流程 參考:http://www.linuxidc.com/Linux/2014-04/99752.htm
 
1.首先在終端運行下列命令進行必要的編譯環境安裝。
 sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg62-dev libtiff4-dev cmake libswscale-dev libjasper-dev
 
2.下載OpenCV-2.4.1
 # tar -jxvf OpenCV-2.4.1.tar.bz2
 # cd OpenCV-2.4.1
 
3.終端運行 
 # mkdir build
 # cd build
 # cmake ../(此處參考下面的命令可以修改make的目錄,默認是在/usr/local,但是非root用戶不能這樣,否則後面有make的時候可能失敗,因為需要把一些文件寫入/usr/local/下面,但是這個目錄一般用戶可能沒有write權限)
 
4.依次運行
 # make
 # make install
 
5.配置必要的庫
 # sudo gedit /etc/ld.so.conf.d/opencv.conf
 添加/usr/local/lib這句到文件中,文件或許是空的,不影響。
 # sudo ldconfig
 # sudo gedit /etc/bash.bashrc
 添加下面兩行到文件的末尾並保存。
 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
 export PKG_CONFIG_PATH
 
6.運行測試程序
 # mkdir opencv_samples
 # cp OpenCV-2.4.1/samples/c/* opencv_samples
 # cd opencv_samples/
 # chmod +x build_all.sh
 # ./build_all.sh
 # ./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

不過之前cmake在服務器上的都有,重點就是install的時候需要修改一下位置,不能默認裝在/usr/local/下,下面來自:http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. 不過上面有個地方需要修改: D跟CMAKE是連在一起的。

推薦閱讀

Ubuntu 12.04 安裝 OpenCV2.4.2 http://www.linuxidc.com/Linux/2012-09/70158.htm

CentOS下OpenCV無法讀取視頻文件 http://www.linuxidc.com/Linux/2011-07/39295.htm

Ubuntu 12.04下安裝OpenCV 2.4.5總結 http://www.linuxidc.com/Linux/2013-06/86704.htm

Ubuntu 10.04中安裝OpenCv2.1九步曲 http://www.linuxidc.com/Linux/2010-09/28678.htm

基於QT和OpenCV的人臉識別系統 http://www.linuxidc.com/Linux/2011-11/47806.htm

Copyright © Linux教程網 All Rights Reserved