cmake + windows 编译 opencv 自带示例

目录

  • cmake + windows 编译 opencv 自带示例
    • 准备
    • 编译步骤
    • 运行 `lkdemo`(改进的Lucas-Kanade光流算法)
    • 参考

cmake + windows 编译 opencv 自带示例

准备

我的 OpenCV 的源码在很久以前就已经编译好了(编译过程可参考链接1跟4),只是在最近需要参考一下源码中自带的示例(samples)的运行效果,于是就鼓捣了一下。

编译后的opencv 目录结构

+---opencv
|	+---build
|	|	+---...
|	+---buildFile
|	|	+---...
|	+---sampleSolutions		# 为编译的示例创建的文件夹
|	|	+---...
|	+---samples				# 示例源码所在文件夹
|	|	+---...

编译步骤

  1. 使用 cmake-gui 编译 samples 源码,源码与构建的二进制码路径如下,路径设置好后,configure 一次,再 configure 一次,然后 generate。
    cmake + windows 编译 opencv 自带示例_第1张图片
  2. 可能会出现的错误,我在编译 samples 示例时出现了 find package 错误,这其实是我没有配置 opencv 环境变量,即将 opencv 执行文件的路径 build—>x64—>vc15—>bin添加到环境变量中。
    cmake + windows 编译 opencv 自带示例_第2张图片
    所以,解决办法是修改 \sample\CMakeLists.txt。添加如下指令,
    cmake + windows 编译 opencv 自带示例_第3张图片
+---opencv
|	+---...
|	|	+---...
|	|	+---...
|	+---samples				# 示例源码所在文件夹
|	|	+---...
|	|	+---CMakeLists.txt	# 修改这个文件
  1. 编译完成后的 \opencv\sampleSolutions文件结构
    cmake + windows 编译 opencv 自带示例_第4张图片
    双击启动vs2019,并右键生成解决项目(Debug + x64 模式),我的samples一个有208个项目
    cmake + windows 编译 opencv 自带示例_第5张图片

运行 lkdemo(改进的Lucas-Kanade光流算法)

cmake + windows 编译 opencv 自带示例_第6张图片
如果想用 IDE 运行项目(ctrl+F5),需要对代码进行调整,如图取消 63 行的注释,并输入.avi文件的路径(相对或绝对路径都可以,不需要像*链接1*中那样修改代码)
cmake + windows 编译 opencv 自带示例_第7张图片
如果想用.exe运行程序,则在目录中打开命令窗口

+---opencv
|	+---...
|	|	+---...
|	|	+---...
|	|	+---...
|	+---sampleSolutions						# 为编译的示例创建的文件夹
|	|	+---cpp
|	|	|	+---Debug
|	|	|	|	+---example_cpp_lkdemo.exe	# 需要执行的 .exe
|	|	+---...
|	|	+---...
|	+---...
|	|	+---...

在这里插入图片描述
运行时窗口提示
cmake + windows 编译 opencv 自带示例_第8张图片
运行效果,使用按键r开启追踪效果
cmake + windows 编译 opencv 自带示例_第9张图片

参考

  1. 链接: 学习OpenCV的学习笔记系列(二)源码编译及自带样例工程.
  2. 链接: 使用CMake构建OpenCV项目.
  3. 链接: cmake + opencv + vs2019 学习笔记 1 (TODO).
  4. 链接: OpenCV3.4.0sample编译(vs2017+win1064位).
  5. 链接: windows 下OpenCV的安装部署详细教程.

你可能感兴趣的:(opencv,cpp)