安裝環境html
操做系統:vim
Red Hat Enterprise Linux Server 6.3函數
相關軟件:工具
ffmpeg-0.8.15.tar.bz二、cmake-3.5.1.tar.gz、OpenCV-2.3.1a.tar.bz2post
下載地址:學習
FFmpeg:測試
https://ffmpeg.org/releases/ffmpeg-0.8.15.tar.bz2ui
CMake:url
https://cmake.org/files/v3.5/cmake-3.5.1.tar.gzspa
OpenCV:
http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2
安裝過程
FFmpeg安裝
說明:
FFmpeg是一套能夠用來記錄、轉換數字音頻、視頻,並能將其轉化爲流的開源計算機程序。爲OpenCV編譯視頻相關庫提供支持。注意FFmpeg須要與OpenCV匹配。OpenCV-2.3.1版本及其之前的版本須要使用ffmpeg-0.7.x版本及其之前版本進行編譯。
步驟:
1.解壓
tar xvf ffmpeg-0.8.15.tar.bz2
cd ffmpeg-0.8.15
2.配置
./configure --enable-shared --prefix=/usr //生成Makefile,安裝位置/usr
若是配置中遇到錯誤yasm/nasm not found or too old.請先下載並安裝yasm
下載地址:
http://yasm.tortall.net/Download.html
安裝步驟:
tar xvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix=/usr //生成Makefile,安裝位置/usr
make
make install
3.編譯
make //經過Makefile編譯源代碼
4.安裝
make install //文件安裝在/usr/路徑下
5.測試
ffmpeg //執行ffmpeg命令顯示ffmpeg版本號和幫助信息表示安裝成功
CMake安裝
說明:
CMake是一個跨平臺的安裝(編譯)工具,能夠用簡單的語句來描述全部平臺的安裝(編譯過程)。用它來產生OpenCV編譯時用到的Makefile文件。
步驟:
1.解壓
tar xvf cmake-3.5.1.tar.gz
cd cmake-3.5.1
2.配置
./configure --prefix=/usr //生成Makefile,安裝位置/usr
3.編譯
make //經過Makefile編譯源代碼
4.安裝
make install //文件安裝在/usr/路徑下
5.測試
cmake //執行cmake命令顯示cmake版本號和幫助信息表示安裝成功
OpenCV安裝
說明:
OpenCV是一個基於BSD許可(開源)發行的跨平臺計算機視覺庫。編譯和運行調用OpenCV庫函數的程序時須要用到OpenCV庫和頭文件。
1.解壓
tar xvf OpenCV-2.3.1a.tar.bz2
cd OpenCV-2.3.1
2.配置
cmake -DWITH_FFMPEG=ON -DCMAKE_INSTALL_PREFIX=/usr //生成Makefile,支持播放視頻,安裝位置/usr
ccmake . //命令查看相關編譯選項是否配置成功
3.編譯
make //經過Makefile編譯源代碼
4.安裝
make install //文件安裝在/usr/路徑下
5.配置(默認狀況下不須要設置)
vim /etc/ld.so.conf.d/opencv.conf //建立pkg-config配置文件
/usr/lib (/usr/local/lib) //添加配置文件/usr/lib/pkgconfig/opencv.pc位置
(
下面配置library,打開/etc/ld.so.conf.d/opencv.conf,在末尾加入/usr/local/lib (有多是個空文件,不要緊)
而後
sudo ldconfig
)
ldconfig //生效配置
6.測試
cd samples/c/ //進入樣本程序中編譯程序
g++ `pkg-config --libs --cflags opencv` facedetect.cpp -o facedetect
/*
編譯源文件,g++表示編譯cpp程序,`pkg-config --libs --cflags opencv`表示編譯連接庫和頭文件,經過/usr/lib/pkgconfig/opencv.pc能夠查看文件位置
*/
./facedetect lena.jpg //運行編譯好的程序,識別出人臉表示安裝成功
下面代碼用來測試播放視頻和攝像頭,編譯程序。運行./ceamer打開攝像頭表示攝像頭正常工做。運行./ceamer movie.avi打開視頻表示播放器正常工做。運行程序時按Esc退出。
ceamer.cpp
#include <cv.h> #include <highgui.h> int main(int argc, char** argv){ CvCapture* capture; IplImage* frame; if(argc == 1){ capture = cvCreateCameraCapture(0); }else{ capture = cvCreateFileCapture(argv[1]); } cvNamedWindow("hello", CV_WINDOW_AUTOSIZE); while(1){ frame = cvQueryFrame(capture); if(!frame){ break; } cvShowImage("hello", frame); char c = cvWaitKey(33); if(c == 27){ break; } } cvReleaseCapture(&capture); cvDestroyWindow("hello"); return 0; }