[学习OpenCV攻略][016][RedHat下安装OpenCV]

安装环境

操作系统:

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

 

参考文档

http://www.linuxidc.com/Linux/2015-02/112942.htm

http://download.csdn.net/detail/u014043433/7816177

http://blog.csdn.net/xizhibei/article/details/7015494

posted @ 2016-04-08 19:59  盛夏夜  阅读(1661)  评论(1编辑  收藏  举报