ubuntu 编译opencv 读视频

本文介绍了在Ubuntu系统中如何编译OpenCV并集成FFmpeg,以实现读取视频的功能。首先,通过安装依赖项和ffmpeg来准备环境,然后在opencv源码中进行配置和编译,确保FFMPEG支持设置正确,并解决可能出现的版本不匹配问题,以确保capture.isOpened()能成功返回true。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu 编译opencv 读视频

1. 安装ffmpeg

① 安装依赖项:apt install libavformat-dev libavcodec-dev  libswscale-dev libswresample-dev libavutil-dev  libsdl1.2-dev

② apt-get install ffmpeg

这时候ffmpeg应该安装到了/usr/bin

③ 添加环境变量

vim ~/.bashrc

最后一行添加: export PATH=$PATH:/usr/bin

这时候就可以在终端查看ffmpeg版本:ffmpeg -version

注:留意下libavcodec.so、libavutil.so 的版本号,要和opencv 配置的时候一致

2. 源码编译opencv

① 下载解压opencv源码

② mkdir build & cd build

③ cmake -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=ON -D BUILD_opencv_world=ON ..

注意查看:FFMPEG 为YES,且avcodec的版本与libavcodec.so一致,以此类推。。。

④ make -j8

⑤ make install

⑥ ldconfig

可能出现的问题:

问题:capture.isOpened()一直返回false

原因:ffmpeg的依赖库libavcodec.so等的版本与opencv配置的avcodec等的版本不一致,比如ver 57 对上了 ver58

FFMPEG:                      YES
      avcodec:                   YES (ver 56.60.100)
      avformat:                  YES (ver 56.40.101)
      avutil:                    YES (ver 54.31.100)
      swscale:                   YES (ver 3.1.101)
      avresample:                YES (ver 2.1.0)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值