Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置)

这篇具有很好参考价值的文章主要介绍了Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.opencv配置使用问题

        opencv在cmake的时候有两个问题,ippicv长时间卡住下载失败,ffmpeg不会卡住但是也不会配置成功。所以这两个包只能手动下载安装。

        ippicv是什么

        OpenCV设计用于高效的计算,十分强调实时应用的开发。它由C++语言编写并进行了深度优化,从而可以享受多线程的优势,如果希望得到更多在英特尔架构上的自动优化,可以购买英特尔的集成性能基元(IPP)库,该库包含了许多算法领域的底层优化程序。在库安装完毕的情况下OpenCV在运行的时候会自动调用合适的IPP库。从OpenCV3.0开始,英特尔许可OpenCV研发团队和OpenCV社区拥有一个免费的IPP库的字库(称IPPICV),该子库默认集成在OpenCV中并在运算时发挥效用。

        所以ippicv主要是在英特尔架构上有优化加成,如果不是,cmake等待下载失败也是能用的。

        ffmpeg是什么

        opencv是计算机视觉的库,ffmpeg是一个处理媒体流(视频、音频)的开源软件。当然。如果你下载的是完整的ffmpeg的构建包,那么里面的源代码也可以直接拿来当作处理媒体流的API。opencv中嵌入ffmpeg是因为opencv处理媒体流时需要ffmpeg的编解码和一系列IO函数进行操作,最典型的地方就在于VideoWriter这个类,他需要调用ffmpeg的视频流IO函数才能将视频写入本地。

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

这是opencv支持的编码格式,最好是安装,不然很多格式视频就不能处理。

2.ippicv手动下载

2.1 根据opencv版本下载,opencv-3.4.1/3rdparty/ippicv/ippicv.cmake查看版本

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

 下载地址:https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20170822/ippicv

按版本切换分支。比如:ippicv_2017u3_lnx_intel64_general_20170822.tgz

 2.2 修改opencv-3.4.1/3rdparty/ippicv/ippicv.cmake文件的下载地址改为本地路径,47行 链接改成文件路径 "file:///home/downloads/"

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

        ippicv就配置好了。cmake时候就会读取本地文件。

3.ffmpeg下载,编译,安装

3.1  同样进入 opencv-3.4.1/3rdparty/ffmpeg/ffmpeg.cmake  查看版本

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

 下载地址:Branches · opencv/opencv_3rdparty · GitHub

 ffmpeg/master_20180220_src/sources/build/ffmpeg 里面的 Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

3.2 解压后就是可编译的源码,编译之前先下载安装所需要的库,避免一些编译或者使用的错误。

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

 3.3 进入解压目录下,配置configure文件,--prefix=/usr/local/ffmpeg 是设置ffmpeg安装目录

 ./configure --enable-shared --disable-static --disable-x86asm --prefix=/usr/local/ffmpeg

3.4 make编译源码 

make -j16

3.5 make install 安装 ffmpeg 到之前配置的安装目录。 

sudo make install

3.6 安装完目录

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

3.7 配置使用环境,

sudo vim /etc/ld.so.conf

/usr/local/ffmpeg

/usr/local/ffmpeg/lib

sudo ldconfig

sudo vim /etc/profile

export PATH="/usr/local/ffmpeg/bin:$PATH"

source /etc/profile

3.8 确认是否安装成功 输入 指令 ffmpeg

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

 4 ffmpeg 也可以直接在线安装

sudo apt-get install ffmpeg 

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

 5 opencv 下载,编译,安装

 5.1 下载地址 Releases - OpenCV  这里选择 opencv-3.4.1

解压后目录下新建一个build文件夹用于编译。

        编译之前先安装cmake和一些依赖库

        sudo apt-get cmake

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

        进入build文件夹 执行 cmake 编译配置文件, 生成opencv.pc文件 和 开启ffmpeg功能

cmake -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_FFMPEG=ON ..

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg

ffmpeg 已经开启。 

 5.2 make 编译源码

make -j16

5.3 make install 安装 

sudo make install

 opencv会安装到 /usr/local 目录下

5.4 添加环境

sudo vim /etc/ld.so.conf

/usr/local/lib

sudo ldconfig

6 Qt添加opencv 库和头文件

INCLUDEPATH += /usr/local/include/opencv\
                /usr/local/include/opencv2\

LIBS+= /usr/local/lib/libopencv_calib3d.so
LIBS+=/usr/local/lib/libopencv_core.so
LIBS+=/usr/local/lib/libopencv_dnn.so
LIBS+=/usr/local/lib/libopencv_features2d.so
LIBS+=/usr/local/lib/libopencv_flann.so
LIBS+=/usr/local/lib/libopencv_highgui.so
LIBS+=/usr/local/lib/libopencv_imgcodecs.so
LIBS+=/usr/local/lib/libopencv_imgproc.so
LIBS+=/usr/local/lib/libopencv_ml.so
LIBS+=/usr/local/lib/libopencv_objdetect.so
LIBS+=/usr/local/lib/libopencv_photo.so
LIBS+=/usr/local/lib/libopencv_shape.so
LIBS+=/usr/local/lib/libopencv_stitching.so
LIBS+=/usr/local/lib/libopencv_superres.so
LIBS+=/usr/local/lib/libopencv_videoio.so
LIBS+=/usr/local/lib/libopencv_video.so

7 opencv3.4 版本 打开视频文件报错问题

Error: OpenCV(3.4.1) Error: Assertion failed (chunk.m_size <= 0xFFFF) in  
cv::AVIReadContainer::readFrame, file D:\Build\OpenCV\opencv-  
3.4.1\modules\videoio\src\container_avi.cpp, line 514

问题原因:源码文件modules/videoio/src/container_avi.cpp中 514行设置的视频容量上限值小了,我们设置一个更大的值。

CV_Assert(chunk.m_size <= 0xFFFF);改成CV_Assert(chunk.m_size <= 67108864);

67108864 这个值是opencv 高版本中官方设置的值,但是低版本中官方并没有修复。
然后重新编译 -》重新安装

Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置),qt,opencv,ffmpeg文章来源地址https://www.toymoban.com/news/detail-673363.html

到了这里,关于Linux下Qt配置opencv环境(ippicv,ffmpeg手动配置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录Qt和opencv 新环境配置过程

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 提示:这里可以添加本文要记录的大概内容: 为外出干项目做一些环境准备工作,需要重新配置电脑环境,那首先装的肯定就是Qt了,以前安装都没做记录,这次就记录一下吧,希望对大家有用。 提示

    2024年01月21日
    浏览(43)
  • Ubuntu 配置OpenCV 环境并在Qt下运行

    之前发过一篇Ubuntu20.04配置OpenCV3.4.14的文章,由于理解有限,其实配置方法不是很好,比如直接将OpenCV直接编译到了/usr/local/路径下,这样做会导致文件夹混乱,最好的方法是自建新一个文件夹并以编译的OpenCV+版本号命名,这样可以方便控制管理。后来和其他同学也讨论了一

    2024年02月16日
    浏览(39)
  • 2. windows系统下在QT中配置OPenCV开发环境

    1. 说明: 在Windows系统中配置相对简单,不需要对下载的源码进行编译,在官网上下载的OPenCV可以直接使用,本文系统版本为win10,opencv是最新版本4.7.0。 效果展示: 2. 配置步骤: 2.1 下载OPenCV压缩包 打开opencv的官网OPenCV下载地址,可以在其页面内下载到最新的压缩包,如下

    2024年02月09日
    浏览(54)
  • 【QT+ffmpeg】QT+ffmpeg 环境搭建

    1.qt下载地址 download.qt.io/archive/ 2. win10sdk 下载 https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/ 安装 debug工具路径 qtcreater会自动识别 调试器选择

    2024年02月12日
    浏览(38)
  • Linux配置QT Creator环境:ubuntu中安装QT Creator环境

      目前市面上很多公司使用QT Creator进行界面开发,基本都会选择在Linux环境进行,优点不仅是市场所需,更是方便后期代码的移植,相较于Windows系统,Linux系统移植性非常好。故此篇文章,介绍如何在Linux环境中安装QT Creator环境(注:本作者以QT Creator 5.14.2进行介绍,大家

    2024年02月13日
    浏览(46)
  • Linux中Qt5.9环境配置

    偷懒不想从头开始搞编译环境,直接拷贝了一个Ubuntu虚拟机过来,但是里面的Qt编译器有问题需要重新配置,做个笔记方便后续查阅。 1、项目直接运行qmake,报错: error: Unknown module(s) in QT: serialbus serialport 先安装serialport: 安装完成后再执行qmake: 果然少了一个,然后再解决

    2024年03月15日
    浏览(30)
  • 在Linux的Ubuntu系统下安装QT及相关环境配置

           从官网下载QT的安装包,在本地安装。本次使用的是Ubuntu18.06以及QT5.14.2,下文皆使用此版本作为示例。        首先安装QT,具体操作如下:  1、使用cd命令: cd /home/(usr)/download ,切换至安装包所在的目录下。 2、使用命令: sudo chmod +x qt-opensource-linux-x64-5.14.2.run ,获

    2024年02月07日
    浏览(41)
  • Qt5.12.6配置Android Arm开发环境(Linux)

    1.安装jdk 2.安装android studio 3.安装sdk 与ndk  设置代理  安装SDK工具  安装SDK Platform 安装QT   选择JDK 1.8安装路径,SDK与NDK路径  如出现Platform SDK或者Platform Build Tools未安装,点击Update Installed  配置成功后可看到ARMv7与AMD-v8a kits Qt Version也可看到ARMv7与AMD-v8a   如果 有安装了CMake,也

    2024年01月21日
    浏览(51)
  • Linux-Arm环境下配置编译qt-everywhere及交叉编译环境

    最近在搞交叉编译的事,手上拿了个同事的香橙派玩交叉编译,现在来到了第一步,就是先在arm上配置qt的开发环境。当然了Qt没有直接提供qt on arm,而是需要自行在arm环境下编译一个qt环境出来,所以这里需要使用到qt提供的qt everywhere套件在板载系统上编译 移植Qt到ARM平台及

    2024年04月11日
    浏览(52)
  • [QT]+[Cmake]+[openCV]配置环境报错:mingw32-make: *** [Makefile:165: all] Error 2等问题的解决办法

    当前作者各软件的版本:QT5.14.2 + CMAKE 3.29.0 +openCV 4.5.4 Qt配置OpenCV教程,亲测已试过(详细版)_qt opencv-CSDN博客 配置的时候主要参考了以上文章 出现的第一个问题是在cmake configure的时候卡在 FFMPEG: Downloading ffmpeg_version.cmake from https://raw.githubusercontent.com/opencv/opencv_3rdparty/7dd0d4

    2024年04月26日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包