21xrx.com
2024-11-22 04:13:44 Friday
登录
文章检索 我的文章 写文章
CMake构建OpenCV示例工程
2023-10-10 13:19:42 深夜i     --     --
CMake OpenCV 示例工程 构建

CMake是一个跨平台的构建工具,可以用于生成Makefile或其他构建文件来编译和构建软件项目。在本文中,我们将使用CMake来构建一个OpenCV示例工程。

首先,我们需要确保已经安装了CMake和OpenCV。如果没有安装,可以从官方网站下载并按照说明进行安装。

接下来,我们创建一个新的文件夹来作为我们的工程目录。在该目录下,我们创建一个CMakeLists.txt文件,用于配置CMake的构建规则。

打开CMakeLists.txt文件,我们首先指定工程的最低版本要求。例如,我们可以写入以下内容:


cmake_minimum_required(VERSION 3.10)

然后,我们使用project命令指定工程的名称。例如,我们可以写入以下内容:


project(opencv_example)

接下来,我们使用find_package命令来查找OpenCV库。例如,我们可以写入以下内容:


find_package(OpenCV REQUIRED)

然后,我们可以设置包含目录和链接库。例如,我们可以写入以下内容:


include_directories(${OpenCV_INCLUDE_DIRS})

link_directories(${OpenCV_LIBRARY_DIRS})

接下来,我们可以定义我们的可执行文件或库。例如,我们可以写入以下内容:


add_executable(opencv_example main.cpp)

然后,我们可以链接OpenCV库。例如,我们可以写入以下内容:


target_link_libraries(opencv_example ${OpenCV_LIBRARIES})

最后,我们可以使用install命令来安装我们的可执行文件或库。例如,我们可以写入以下内容:


install(TARGETS opencv_example DESTINATION bin)

至此,我们的CMakeLists.txt文件已经配置完成。保存并关闭文件。

现在,我们需要创建一个main.cpp文件作为我们示例工程的源代码。在该文件中,我们可以编写一些使用OpenCV的代码来演示其功能。例如,我们可以写入以下内容:


#include <opencv2/opencv.hpp>

int main() {

  cv::Mat image = cv::imread("image.jpg");

  if (!image.empty()) {

    cv::imshow("Image", image);

    cv::waitKey(0);

  }

  return 0;

}

在main.cpp文件被创建后,我们需要将其放入我们的工程目录中。

接下来,我们进入命令行界面,并切换到我们的工程目录。然后,我们可以输入以下指令来执行CMake构建工程:


cmake .

make

如果一切顺利,CMake将会生成Makefile,并通过Makefile来编译我们的工程。如果编译成功,我们会得到一个名为opencv_example的可执行文件。

最后,我们可以运行这个可执行文件来验证我们的工程是否正确。例如,我们可以输入以下指令:


./opencv_example

如果一切顺利,我们会看到一个名为"Image"的窗口,并显示一个名为"image.jpg"的图片。

至此,我们使用CMake成功构建了一个基于OpenCV的示例工程。使用CMake可以帮助我们更轻松地管理和构建复杂的软件项目,特别是涉及到多个平台和依赖库的情况。希望本文对您有所帮助!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复