CMake创建OpenCV项目【C++的OpenCV 第二课】

一、CMake是什么?

1.1 基本概念

在这里插入图片描述
        百度百科-CMake
        CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。

1.2 CMake的优势

        1、在Linux和Windows之间移植时,无需更改任何内容
        2、可以轻松地与CMake(即Qt,ITK和VTK)的其他工具组合使用
        3、自动搜索正在构建的软件可能需要的程序、库和头文件的能力。这包括在搜索时考虑环境变量和 Window 的注册表设置的能力。
        4、在源代码树之外构建目录树的能力。这允许开发人员删除整个构建目录,而不必担心删除源文件。
        5、能够为自动生成的文件(例如QT的 moc() 或SWIG包装器生成器)创建复杂的自定义命令。这些命令用于在构建过程中生成新的源文件,这些文件又被编译到软件中。
        6、在配置时选择可选组件的能力。例如VTK的几个库是可选的,CMake 为用户提供了一种简单的方法来选择构建哪些库。
        7、在简单的文本文件自动生成工作区和项目的能力。这对于具有许多程序或测试用例的系统来说非常方便,每个程序或测试用例都需要一个单独的项目文件,通常是使用 IDE 创建一个乏味的手动过程。
        8、在静态和共享构建之间轻松切换的能力。CMake 知道如何在所有支持的平台上创建共享库和模块。处理复杂的特定于平台的链接器标志,并且许多 UNIX 系统都支持诸如共享库的内置运行时搜索路径之类的高级功能
        9、在大多数平台上自动生成文件依赖项并支持并行构建。

二、使用Cmake构建一个OpenCV程序

2.1 步骤

(a)编写一个简单的OpenCV示例代码

#include <iostream> 
#include <opencv2/opencv.hpp> // 包含opencv的库头文件

using namespace std;
using namespace cv;  //使用命名空间cv,包含空间中方法及属性

int main(int argc, char** argv )
{
    if ( argc != 2 ) // 命令行参数个数不是2个的时候
    {
        printf("使用指令: DisplayImage <Image_Path>\n"); // 提示:按照固定格式输入指定内容!
        return -1;
    }
    Mat img; //创建一个名称为img的图像容器(这个后边会介绍到)
    img = imread( argv[1], 1 ); //为该容器读取命令行中 DisplayImage 之后的参数(图片路径“<Image_Path>”)
    if ( !img.data ) //如果读取数据为空(没有读取到图片)
    {
        cout<<"没有图片数据!"<<endl;
        return -1;
    }
    namedWindow("检索到的图片", WINDOW_AUTOSIZE );//创建图片显示窗口
    imshow("Display Image", img);//显示图片
    waitKey(0); //延迟等待
    return 0;
}

(b)创建一个Cmake文件

cmake_minimum_required(VERSION 2.8) # 选择最匹配的最低的Cmake版本
project( DisplayImage ) # 创建的程序的名称(项目的名称)
find_package( OpenCV REQUIRED ) # 找到需求的库或者组件
include_directories( ${OpenCV_INCLUDE_DIRS} ) # 添加一个用于包含的文件去构建的文件夹
add_executable( DisplayImage DisplayImage.cpp ) # 添加参与编译的项目完整包
target_link_libraries( DisplayImage ${OpenCV_LIBS} ) # 链接的库

(c)生成可执行文件

cd <DisplayImage_directory> # 切换到项目路径当中
cmake . # 编译当前项目
make # 生成可执行文件(名称为Cmake文件中的project()中的名称)

(d)执行程序

./DisplayImage xxx.jpg #添加要显示的图片(图片路径),并且执行

自此,完成项目创建。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在VS Code中使用CMake配置OpenCV C++项目,可以按照以下步骤进行操作: 1. 确保已经安装了Visual Studio Code和CMake,并将它们添加到系统的环境变量中。 2. 创建一个新的文件夹作为您的项目文件夹,并在其中创建一个CMakeLists.txt文件。在CMakeLists.txt中,输入以下内容: ```cmake cmake_minimum_required(VERSION 3.0) project(YourProjectName) find_package(OpenCV REQUIRED) add_executable(YourExecutableName main.cpp) target_link_libraries(YourExecutableName ${OpenCV_LIBS}) ``` 这个CMakeLists.txt文件指定了项目的最低CMake版本、项目名称以及要使用的OpenCV库。 3. 在项目文件夹中创建一个main.cpp文件,并编写您的OpenCV C++代码。 4. 打开Visual Studio Code,选择“文件”->“打开文件夹”,并选择您的项目文件夹。 5. 安装CMake Tools插件。在Visual Studio Code的扩展面板中搜索"CMake Tools"并安装。 6. 在Visual Studio Code的底部状态栏,找到一个齿轮图标,点击它以打开CMake Tools。 7. 在CMake Tools的侧边栏中,选择您的项目文件夹并点击“配置”。 8. 在弹出的对话框中,选择一个构建目录(可以是您项目文件夹下的子文件夹),然后选择CMake工具链。 9. 在弹出的对话框中,输入以下参数并保存: - "cmake.configureOnOpen": false - "cmake.buildDirectory": "build" 这些参数将配置CMake Tools以在打开项目时不自动运行CMake,并将生成的文件放在名为"build"的文件夹中。 10. 回到CMake Tools的侧边栏,点击“配置”按钮,然后选择“生成”按钮。这将运行CMake生成您的项目。 11. 在CMake Tools的侧边栏中,点击“构建”按钮来编译您的项目。 12. 您可以在Visual Studio Code的终端中运行您的可执行文件,或者根据需要进行调试。 这样,您就可以在VS Code中使用CMake配置OpenCV C++项目了。记得根据您的具体项目情况修改CMakeLists.txt和main.cpp文件。祝您成功!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白piao

创作不易,支持一下!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值