前言
为了安装支持视频处理的opencv折腾了好多天,记录一下最终成功的安装过程,虽然以后不大会再装了。
特别声明,如果只是想简单使用opencv处理图像,可以直接使用conda install opencv-python
即可,不需要使用编译这种方法。
安装FFmpeg
|
|
这样基本成功安装,可以通过ffmpeg -version
并测试ffmpeg指令查看是否安装成功。
这边本来尝试了源码编译方法,但在后续opencv安装过程中始终找不到ffmpeg,原因不明。源码编译方法可以参考以下两个地址,其中也说明了一些ffmpeg的依赖。
安装OpenCV的其他依赖
该步骤参考centos7下opencv3的安装以及Install OpenCV-Python in Ubuntu。
首先,cmake 是必须安装好的。在Centos下可以使用yum进行安装,可按自己的需求选择性安装,我这边是除了Camera support (libv4l) 之外都安装了。
|
|
安装OpenCV3.3.0
该步骤主要参考了Video Analysis(1):安装Ubuntu-ffmpeg-opencv
1、下载OpenCV
可以选择直接从github下载tar.gz包,解压文件,或者从其他途径下载皆可。
2、新建文件夹进行编译,避免污染环境
|
|
3、cmake配置
这边需要注意下cmake配置,特别是要装在Anaconda目录中,这边参考文章自行修改。
|
|
额外说明,如果需要安装CUDA9.0,需要额外修改一些内容,按照OpenCV3.3+CUDA9.0+Cmake3.9 环境搭建进行配置。
并且要在cmake中增加一项配置 -D CUDA_GENERATION=Pascal
,其中Pascal为版本,根据自己的GPU在NVIDA官网 (https://developer.nvidia.com/cuda-gpus#collapse2) 查找对应版本进行修改。
参考博客:
4、编译
|
|
5、测试
测试import cv2
以及视频处理cv2.VideoCapture
方法,没问题就成功了!
这里还遇到一个问题是:ImportError: /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0: undefined symbol: hb_buffer_set_cluster_level
根据stackoverflow上的回答Error importing cv2 in python3, Anaconda执行命令conda install -c asmeurer pango
后解决了问题。
最后
感谢各种博客,结束了反复重复编译的苦难历程。/(ㄒoㄒ)/~~