Centos下编译Opencv

本文所述测试环境

OS:CentOS 7.2 操作系统下的GNOME Desktop模式

OpenCV: 3.4

一、安装第三方依赖库

yum install -y wget

yum install -y unzip

yum install -y gcc

yum install -y cmake

yum install -y zlib-devel

yum install -y bzip2-devel

yum install -y  openssl-devel

yum install -y  ncurses-devel

yum install -y  sqlite-devel

yum install -y gtk*

yum install -y python

yum install -y numpy

yum install -y gcc gcc-c++ gtk+-devel libjpeg-devel libtiff-devel jasper-devel libpng-devel zlib-devel cmake

yum install -y git gtk2-devel pkgconfig numpy python python-pip python-devel gstreamer-plugins-base-devel libv4l ffmpeg-devel mplayer mencoder flvtool2

yum install -y libdc1394

二、下载Opencv

opencv可以通过在线的方式直接下载,下载命令如下:

wget https://github.com/opencv/opencv/archive/refs/heads/3.4.zip

有时考虑到网络不文档可能会下载不成功,也可以本地下载后拷贝到Centos系统下。

三、编译Opencv

1)新建一个空文件夹,把OpenCV的压缩包拷贝到该文件夹下,然后解压并重命名解压后的文件夹,命令如下:

unzip opencv-3.4.zip

mv opencv-3.4 opencv

2)新建一个编译目录build,并执行编译命令,命令如下:

mkdir build

cd ./build

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=./ ../opencv

make -j4

make install

说明:=后面的./表示当前build文件夹目录,../opencv是解压后重命名的opencv源代码目录

make -j4:既然IO不是瓶颈,那CPU就应该是一个影响编译速度的重要因素了。用make -j带一个参数,可以把项目在进行并行编译,比如在一台双核的机器上,完全可以用make -j4,让make最多允许4个编译命令同时执行,这样可以更有效的利用CPU资源。配置的核素越多,j后面的数字可以相对越大,但也不能太大,要不然会出现编译卡死的现象。

3)创建连接文件

正确编译完成后,在build文件夹下的lib目录下生成cv2.so的文件,执行如下两条关联命令:

ln ./lib/cv2.so /usr/lib/python2.7/site-packages/

ln ./lib/cv2.so /usr/lib64/python2.7/site-packages/

会在/usr/lib/python2.7/和/usr/lib64/python2.7/两个目录下看到cv2.so的文件,则完成关联。

四、配置全局引用路径

在编译完成opencv后进行开发阶段,很多配置的都是编译后的绝对路径,后期如果移动编译后的目录,在开发代码中配置的opencv的路径也要跟着改动,因此在编译后配置全局路径就显得很有必要了。要不然在开发阶段CMakeLists.txt里面配置

include_directories( ${OpenCV_INCLUDE_DIRS} )在编译是会提示找不到opencv路径的错误。目录如下:把编译后的build目录下的内容拷贝到/usr/local/下并命名为opencv,命令如下:

cp -rf ./build /usr/local/opencv

通过以上几步则完成了opencv的编译及开发配置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值