QT 5.12.4 + OpenCV 4.1.0 + ffmpeg开发环境搭建

1.目标

在windows环境下,搭建基于QT的OpenCV、FFmpeg开发环境

2.准备

2.1 FFmpeg软件
2.2 QT 5.12.3软件
2.3 OpenCV 4.1.0编译好的源码
说明:
	FFmpeg和QT软件是从其官网下载的;
	Opencv 4.1.0是从QQ群好友那获取的,
	Opencv包含contrib,使用mingw 64位编译器编译的;需配置环境变量,后续会具体说明;
软件打包下载链接:
链接:https://pan.baidu.com/s/1K5x9TT7D8HeNOI2U44_UDA  提取码:cmi9 

复制这段内容后打开百度网盘手机App,操作更方便哦

3.步骤

3.1 安装QT软件并配置环境变量

QT软件安装过程略过;
注意:将qt安装路径下的bin文件夹的路径,添加到环境变量中;有两个bin文件路径,建议都添加。

3.2 配置QT的OpenCV、FFmpeg环境

3.2.1 文件准备

1.新建一个qt工程,新建过程略;
并在工程根目录下新建两个文件夹:opencv和ffmpeg;
2.将编译好的opencv文件夹,拷贝到新建工程的根目录下;
3.在新建工程根目录下新建文件夹:ffmpeg,在ffmpeg下新建include和lib文件夹;
4.将ffmpeg-4.0.2-win64-dev文件夹下的include文件夹下的所有文件,复制到刚才新建的ffmpeg的include文件夹下;
5.将ffmpeg-4.0.2-win64-dev下lib文件加下,所有的*dll.a文件复制到刚才新建的ffmpeg的lib文件夹下;

3.2.2 配置.pro文件,即头文件路径和库

INCLUDEPATH += ../opencv/include \
            += ../ffmpeg/include
LIBS += ../opencv/lib/libopencv_*.a \
        ../ffmpeg/lib/libavcodec.dll.a \
        ../ffmpeg/lib/libavfilter.dll.a \
        ../ffmpeg/lib/libavformat.dll.a \
        ../ffmpeg/lib/libavutil.dll.a \
        ../ffmpeg/lib/libswscale.dll.a
注意:
	1.配置使用../代表当前工程的根目录;
	2.将项目根目录下opencv下的bin文件夹的路径,添加到环境变量-路径下;
	  后续复制工程文件后,只更改opencv的bin文件路径到环境变量-路径下即可;

3.3 实例测试

添加ffmpeg头文件!

extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libavdevice/avdevice.h>
#include <libavformat/version.h>
#include <libavutil/time.h>
#include <libavutil/mathematics.h>

}

添加opencv头文件

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

测试程序:

	Mat img = imread("F:\\Learn\\Opencv\\3D\\Camera\\2.jpg",1);
    namedWindow("first_image",WINDOW_AUTOSIZE);
    imshow("first_image",img);

    qDebug()<< avcodec_configuration();

     unsigned version = avcodec_version();

     QString ch = QString::number(version,10);

     qDebug()<< "version:"<<version;

   	 waitKey(0);
     destroyAllWindows();

正常会显示一张图片,图片需要自己根据实际项目添加,并打印ffmpeg的版本信息;

注意:需要将ffmpeg-4.0.2-win64-shared-bin文件夹下的所有dll文件,复制到该新建工程生成的EXE所在目录下,否则会报“程序异常退出”;

4.说明

1.本来想Cmake自己编译OpenCV源码,但每次到43%都会显示directx.cpp中某些变量找不到,换了Cmake版本也不行,最终作罢,在网上找的别人编译好的;
2.如果遇到编译QT项目,出现“程序异常结束”的问题,可以考虑没有添加环境变量的原因;
	可以尝试添加qt的各类bin和lib,以及opencv的bin的路径,然后重启电脑试下,只要添加头文件和库正确,一般都能解决。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值