centos 上 opencv4.5.0安装

本文介绍了在CentOS系统上安装OpenCV4.5.0的步骤,包括依赖安装、源码下载、编译配置、安装及测试。通过yum安装依赖,从官网或GitHub下载源码,使用cmake、make、make install进行编译安装,并处理Python的使用配置。
部署运行你感兴趣的模型镜像

原文:https://blog.hwg1998.com/blog/97

操作系统:Linux version 4.18.0-240.22.1.el8_3.x86_64
编译器:gcc version 8.3.1 20191121 (Red Hat 8.3.1-5)
cmake:3.11.4
make:GNU Make 4.2.1
opencv:4.5.0

####1. 依赖关系
这里有一个小窍门,就是直接运行./configure,看一下哪些模块是not found,然后想办法去安装相关的模块。
有的依赖是必须要有的,有的是可选的。以下是官网的必选的依赖

  • GCC 4.4.x or later
  • CMake 2.8.7 or higher
  • Git
  • GTK+2.x or higher, including headers (libgtk2.0-dev)
  • pkg-config
  • Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
  • ffmpeg or libav development packages: libavcodec-dev, libavformat-dev,libswscale-dev

可选的:

  • [optional] libtbb2 libtbb-dev
  • [optional] libdc1394 2.x
  • [optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev,libdc1394-22-dev
  • [optional] CUDA Toolkit 6.5 or higher

yum安装代码

 yum install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
 yum install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

####2. 下载源码

  • 方式1
    官网直接下载 -> opencv官网

  • 方式2
    官网的一般比较慢,想要随意的选择版本的话,建议直接去github下载

  • 方式3
    opencv从4.0版本开始,很多算法和模块都变为可选的了,因为版权的问题。要想编译完整功能的opencv就要下载外部模块的源码一起编译,我将4.5.0的源码和可选模块都放在了gitee上,而且有很多东西,国内configure的时候会很慢,因为cmake会下载很多资源,我将这些资源都缓存好了,一起放在仓库里了,以备不时只需,能帮到其他人更好。

####3. 编译安装
简单来说,就是以下几行代码:

cmake ../opencv_src/
make
make install
ldconfig

下面详细说一下每一步

  • cmake
    把下载的源文件和外部模块源文件解压放在同一个目录下,源码opencv_src ,外部模块源码 opencv_contrib,另外再新建一个同级文件夹build,进入build文件夹下进行configure
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules/ -DCMAKE_INSTALL_PREFIX=/usr/local/opencv-4.5.0 -DOPENCV_GENERATE_PKGCONFIG=ON  ../opencv_src/

第一个参数就是指定编译外部模块,如果想要编译特定的外部模块,就把path指向模块所在的路径就可以了。prefix指定要把opencv安装到哪里去。pkgconfig=on表示生成.pc文件。最后告诉cmake源码路径。
如果是从官网或者github下载的源码的话,可能这一步会比较耗时,耐心等待就好了。

configure完成之后大概是这个样子,然后就可以进行下一步了。

  • make
    这一步就是编译产生库文件和可执行的文件等等,比较耗时。
make -j4

耐心等待,有错误的话就去官网论坛看看,或者去github的那里看看,有没有人提出同样的问题。

  • make install
    这里是把头文件、库文件、可执行文件等等复制到目标路径下。
  • ldconfig
    pkg-config是一个帮助链接的工具,具体的请到官网自行了解。opencv所产生的pc文件一般是在 ${prefix}/lib(64)/pkgconfig/opencv(4).pc
    将它复制或者添加一个软链接到 /usr/lib(64)/pkgconfig目录下,然后执 行
ldconfig #更新pgk
pkg-config  opencv  --modversion   --cflags

如果有如下输出,则说明成功了

4.5.0
-I/usr/local/opencv-4.5.0/include/opencv4
  • python
    python要使用的话,需要将
    ${prefix}//lib/python3.6/site-packages/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so
    复制到python的site-packages目录下。找不到这个文件就搜索一下。

####4. 测试

	import numpy as np
	import cv2

	print(cv2.__version__)
	cap = cv2.VideoCapture(0)

	while(True):
		ret,frame = cap.read()
		cv2.imshow('frame',frame)
 		if cv2.waitKey(20) & 0xff == ord('q'):
 			break

	cap.release()
	cv2.destroyAllWindows()
	```
 运行这个python脚本,会在terminal打印opencv的版本,然后调用摄像头。q退出程序。
 ![](https://img-blog.csdnimg.cn/img_convert/ecc3ec8c39a42ea6fd0d3631c9a9cc8f.png)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值