1. 程式人生 > >RedHat下安裝OpenCV]

RedHat下安裝OpenCV]

-- 工具 pan download 情況下 ffmpeg安裝 跨平臺 源文件 server

安裝環境

操作系統:

Red Hat Enterprise Linux Server 6.3

相關軟件:

ffmpeg-0.8.15.tar.bz2、cmake-3.5.1.tar.gz、OpenCV-2.3.1a.tar.bz2

下載地址:

FFmpeg:

https://ffmpeg.org/releases/ffmpeg-0.8.15.tar.bz2

CMake:

https://cmake.org/files/v3.5/cmake-3.5.1.tar.gz

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/lib/pkgconfig/opencv.pc位置

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;
}

RedHat下安裝OpenCV]