CentOS上编译安装OpenCV-2.3.1与ffmpeg-2.1.2

已测试环境:

CentOS 6.3 32bit

CentOS 6.5 64bit

曾经在CentOS 6.3 32bit安装过OpenCV,参见CentOS 6.3中安装OpenCV2.3.1,如今换了64bit系统,大刀阔斧,重新来一遍。

检查并安装相关程序,确保gtk安装成功,否则无法显示图片

yum install gcc-c++              # g++编译

yum install gtk-devel            # 反正是gtk神马的,不一定就是gtk-devel,可以使用*gtk-devel*匹配

yum install gimp-devel

yum install gimp-devel-tools

yum install gimp-help-browser

yum install zlib-devel

yum install libtiff-devel        # tiff格式图片支持

yum install libjpeg-devel        # jpeg图片支持

yum install libpng-devel        # png图片支持

yum install gstreamer-devel      # 处理MP3、Ogg、MPEG1、MPEG2、AVI等格式的多媒体数据

yum install libavc1394-devel    # 1394音频接口的控制命令集

yum install libraw1394-devel

yum install libdc1394-devel

yum install jasper-devel

yum install jasper-utils

yum install cmake                # 方便编译构建OpenCV的工具

yum install swig

yum install python              # python环境支持

yum install libtool

yum install nasm                # 汇编工具

安装ffmpeg2.1.2

ffmpeg没有现成的用于CentOS的rpm包,因此需要使用源码编译安装,

./configure--enable-shared–disable-yasmmakemake install

此时,ffmpeg默认安装到/usr/local下面.

安装OpenCV-2.3.1

使用vi打开CMakeLists.txt文件,找到下面一行后将其注释(#)

set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS${CMAKE_CONFIGURATION_TYPES} )

# set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS${CMAKE_CONFIGURATION_TYPES} )

使用vi打开CMakeLists.txt文件,搜索关键字ffmpeg,找到对应位置,

if(EXISTS /usr/include/ffmpeg/libavformat/avformat.hOR HAVE_FFMPEG_SWSCALE)

确认上面的目录是/usr/include,如果在安装ffmpeg时,修改了路径,则作相应的修改,现在我们可以不动。

到opencv源代码主目录写下,依次执行

mkdir release

cd release

cmake ../

make

make install

等待安装结束,默认安装到位置/usr/local/。

测试

#include #include using namespace cv;int main( int argc, char** argv ){  Mat image;  image = imread(argv[1], 1 );  if( argc != 2 ||!image.data )    {      printf("No image data\n");      return -1;    }  namedWindow("Display Image", CV_WINDOW_AUTOSIZE );  imshow("Display Image", image );  waitKey(0);  return 0;}

编写Makefile,

SRC=DisplayImage.cpp

LIB=-L/usr/local/lib/

INC=-I/usr/local/include/opencv/

Test:$(SRC)

g++ -o Test $(LIB)$(INC) -lopencv_core -lopencv_highgui -lopencv_ml $^

执行make,没有错误。继续运行,./Test {ImagePathName},出现“不能链接到动态库”的错误,大致如下:

error while loading shared libraries: libopencv_core.so.2.3: cannot open shared object file: No such file or directory

解决办法:

cd /etc/ld.so.conf.d/  # 该文件夹下存放了各种动态链接库的路径信息

vim usr-lib.conf

添加如下信息(opencv的lib所在路径)

/usr/local/lib

保存文件后执行ldconfig命令即可。

重新运行,没问题,收工。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容