编译opencv

1582900034614

0.添加环境变量

1
2
3
4
C:\Qt\Qt5.10.1\5.10.1\mingw53_32\bin
C:\Qt\Qt5.10.1\5.10.1\mingw53_32\lib
C:\Qt\Qt5.10.1\Tools\mingw530_32\bin
C:\Program Files\CMake\bin

1.cmake-gui选择源码目录与编译生成目录

2.选择advanced

3.选择编译器

img

img

3.1 执行configure操作

cmake工具会下载ffmpeg.dll库,由于服务器在国外下载很慢,经常下不下来。

3.2.第三方库拷贝

cmake工具点击stop,停止configure.

在build目录下的3rdparty目录中新建ffmpeg文件,将

opencv_ffmpeg.dll

opencv_ffmpeg_64.dll

两个库拷贝到这里。

4.参数修改

1
2
3
4
5
6
7
#设置参数
CMAKE_MAKE_PROGRAM设置为你的mingw32-make地址
CMAKE_INSTALL_PREFIX设置install地址,编译生成的文件存放的地址。
#点选
ENABLE_CXX11
WITH_QT
WITH_OPENGL

4.3

选择Qt库地址

1582900463446

4.4 再测点击configure,此时界面没有红色提醒。点击Generate按钮,生成makefile文件,成功后,底下会提示Generating done;

5.在build按住shift并且点击右键,打开命令窗口。

执行mingw32-make.exe进行编译。

编译完成运行mingw32-make.exe install,这样在指定目录下会生成bin、lib、include。

图像转换

OpenCV3.0以后,图像采用Mat格式进行存储,Qt中图像存储采用的是QImage类,因此,如果需要再Qt中显示OpenCV处理过程中的图像,需要将Mat类对象表示的图像转换为QImage类对象表示的图像。同时,由Mat格式采用BGR的存储顺序,而QImage格式采用的是RGB存储顺序,因此,转换过程分为两步:

  1)存储格式转换:BGR --> RGB;
  2)类型转换:Mat类 ---> QImage;