opencv(0)安裝
1、下載
下載網址:https://opencv.org/ 注意系統版本。
2、linux下依賴庫安裝
安裝opencv之前,需要安裝好opencv編譯的依賴包:
(1)cmake
在ubuntu環境下:apt-get install cmake
在centos環境下:
(2)安裝essential
在ubuntu環境下: apt-get install build-essential
在centos環境下:
安裝gcc-essential: yum install gcc gcc-c++ kernel-devel
安裝gfortran: yum install gcc-gfortran
可用 gcc -v 、g++ -v 和 fortran -v 檢視版本
(3) gtk2.0
在ubuntu環境下:apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
在centos環境下:
安裝git:yum install git
安裝gtk 圖形化介面庫:
安裝必要檔案包:yum install libgnomeui-devel
安裝必要元件:yum install gtk2 gtk2-devel gtk2-devel-docs
安裝可選元件:yum install gnome-devel gnome-devel-docs
gtk測試:
gtk測試用例 #include <gtk/gtk.h> int main(int argc, char *argv[]) { GtkWidget *windows; gtk_init(&argc,&argv); windows = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_widget_show(windows); gtk_main(); return 0; } gcc -o 1 1.c `pkg-config --libs --cflags gtk+-2.0` ./1 若出現對話方塊表示成功!
(4)pkg-config
安裝過程:
cd opt # 自己選目錄 mkdir pkg cd pkg wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz tar xvf pkg-config-0.29.2.tar.gz cd pkg-config-0.29.2 ./configure --prefix=/usr/local/pkg-config --with-internal-glib make make instal
版本檢視:
pkg-config --version
3、ffmpeg元件安裝
ffmpeg主要依賴的有 libavcodec-dev libavformat-dev libswscale-dev,這些庫都是FFmpeg 開源庫中的,可以通過以下兩種方法獲得:
(1)直接安裝ffmpeg-devel
安裝epel擴充套件源 :
yum -y install epel-release
安裝其他擴充套件源:
yum localinstall –nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum localinstall –nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
rpm –import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
安裝ffmpeg:
yum -y install ffmpeg ffmpeg-devel
測試安裝是否成功:
命令列輸入ffmpeg -version
(2)編譯原始碼ffmpeg
下載:
在官網上下載FFmpeg原始碼包,解壓
配置:
生成makefile:./configure --enable-libopencv --enable-swscale --enable-avresample--enable-gpl --enable-shared
編譯:
make –j12 (-j後面為編譯使用cpu核數)
安裝:
make install
新增ffmpeg到環境變數(備註:如果不執行,Opencv在cmake的時候不能找到對應的ffmpeg庫):
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
4、安裝opencv其他依賴項
yum install python-devel numpy
yum install libdc1394-devel
yum install libv4l-devel
yum install gstreamer-plugins-base-devel
5、編譯和安裝opencv
5.1 opencv原始碼編譯和安裝
cd opencv # 你自己的opencv解壓目錄 madir build cd build cmake -D WITH_TBB=ON -D WITH_EIGEN=ON .. cmake -D BUILD_DOCS=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF .. cmake -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF .. cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local .. make sudo make install
5.2 opencv配置與載入動態庫
(1)路徑新增和載入
在centos7 系統中,
cd /etc/ld.so.conf.d
新增opencv.conf
新增opencv編譯產生的lib庫路徑到opencv.conf中,如下命令:
/bin/bash -c 'echo "/opt/opencv/lib64" > /etc/ld.so.conf.d/opencv.conf'
載入 ldconfig
注意在其他linux系統中可能有區別,但是意在讓系統知道opencv lib庫的路徑,能夠完成動態載入。
(2)新增PATH
輸入命令gedit /etc/bashrc
在檔案末尾另起行加入PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
儲存退出
輸入source /etc/bashrc使配置生效
輸入updatedb更新資料庫
(3)pkg-config配置
預設的pkg搜尋連結路徑/usr/lib/pkgconfig,需要將opencv.pc拷貝到pkg的預設路徑下。
cp /opt/opencv/lib64/pkgconfig/opencv.pc /usr/lib/pkgconfig
6、opencv測試
cd ../samples/cpp/example_cmake
make
./opencv_example
出現下圖則安裝成功: