CMAKE OPENCV过程

本文提供了一步一步的指南,从下载CMake到配置并生成OpenCV2.0的Visual Studio工程文件,帮助开发者解决OpenCV版本升级后遇到的问题。

OpenCV1.0版本有windowslinux之分,笔者曾经一直使用Opencv1.0。这个版本在下载,安装之后,在 \OpenCV\_make文件夹下面已经存在了一个opencv.dsw的工程文件,直接用VC6,或者,Visual Studio就可以打开该工程,从而可以进行相应的编译工作;而对于OpenCV2.0及以后的版本而言,就没有类似的工程文件了。这个时候,就需要你自己利用CMake工具来生成一个Visual Studio的工程文件了;本文就是教你如何来完成这一步。

具体步骤如下:

(1)下载CMake工具,可以直接去CMake的主页上下载http://www.cmake.org/

(2)按照CMake,一切按默认设置,一路点击“下一步”即可;

(3)下载Opencv2.0(其它版本类似)

(4)打开Cmake工具,如下图所示:


(5)点击“Where is the source code”后面的那个“Browse Source...”按钮,选择OpenCV的安装路径;例如,笔者的Opencv2.0安装路径为C:\opencv2.0src\OpenCV2.0

(6)点击“Where to build the binaries”后面的那个“Browse Build...”按钮,选择CMake生成的工程文件所在的路径;例如,笔者选择的路径为:C:\opencv2.0src\OpenCV2.0VS2008

如下图所示:


(7)点击左下方的“Configure”按钮,选择编译平台,如笔者的机器上安装的是VS2008,因此,就选择Visual Studio 9 2008。如下图所示:


(8)点击“Finsh”按钮,出现如下画面:


(9)再次点击“Config”按钮,结果如下所示:


(10) 点击“Generate”按钮,结果如下:


(11)至此,就生成了你所需要的Visual Studio工程文件了;例如,笔者选择的工程文件所在的路径C:\opencv2.0src\OpenCV2.0VS2008就是如下的样子:


怎么样,看到OpenCV.sln工程了么?

在使用 CMake 配置 OpenCV 项目时,主要步骤包括设置构建环境、指定 OpenCV 路径、启用额外模块(如 `opencv_contrib`),以及生成可执行文件和链接库。以下是详细的配置流程: ### 设置最低 CMake 版本并定义项目 CMake 要求指定一个最低版本以确保兼容性,并且需要定义项目名称和源文件结构: ```cmake cmake_minimum_required(VERSION 3.8) project(MyOpenCVProject) ``` 此部分代码确保 CMake 版本不低于 3.8,并定义了一个名为 `MyOpenCVProject` 的项目 [^3]。 --- ### 查找并包含 OpenCV 包 接下来,需要查找已安装的 OpenCV 库,并将其头文件路径包含到项目中: ```cmake find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) ``` 该命令会自动检测系统中的 OpenCV 安装路径,并将头文件目录添加到编译器的搜索路径中 [^2]。 --- ### 设置 OpenCV_EXTRA_MODULES_PATH 启用 opencv_contrib 如果希望使用 `opencv_contrib` 模块,则需要在 CMake 配置过程中设置 `OPENCV_EXTRA_MODULES_PATH` 变量指向 `opencv_contrib` 的 `modules` 目录: ```cmake set(OPENCV_EXTRA_MODULES_PATH "C:/opencv_contrib/modules") ``` 这一步确保在构建 OpenCV 时可以包含额外的功能模块 [^1]。 --- ### 链接 OpenCV 库 最后,需要将目标可执行文件与 OpenCV 的库文件进行链接: ```cmake add_executable(MyOpenCVApp main.cpp) target_link_libraries(MyOpenCVApp ${OpenCV_LIBS}) ``` 上述代码创建了一个名为 `MyOpenCVApp` 的可执行文件,并将其链接到 OpenCV 的库上 [^2]。 此外,如果 OpenCV 是自定义安装或位于非标准路径下,还可以通过 `OpenCV_DIR` 显式指定其构建目录: ```cmake set(OpenCV_DIR "D:/opencv4.5.4/opencv/build") ``` 这种方式有助于 CMake 正确找到所需的库文件 [^3]。 --- ### 示例完整 CMakeLists.txt 文件 以下是一个完整的 `CMakeLists.txt` 示例,适用于包含 `opencv_contrib` 模块的项目: ```cmake cmake_minimum_required(VERSION 3.8) project(MyOpenCVProject) # 设置 OpenCV 和 contrib 模块路径 set(OpenCV_DIR "D:/opencv4.5.4/opencv/build") set(OPENCV_EXTRA_MODULES_PATH "C:/opencv_contrib/modules") # 查找并包含 OpenCV find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) # 添加可执行文件 add_executable(MyOpenCVApp main.cpp) # 链接 OpenCV 库 target_link_libraries(MyOpenCVApp ${OpenCV_LIBS}) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值