Windows和Ubuntu系统下cmake和opencv的安装和使用

以下是在Windows和Ubuntu系统下分别安装CMake并使用C++配置OpenCV实现读取图片并显示功能的详细步骤:

Windows系统

1. 安装CMake
  1. 访问CMake官方网站(https://cmake.org/download/)。
  2. 根据你的Windows系统版本(32位或64位)下载对应的CMake安装程序(通常为.msi文件)。
  3. 双击下载的安装程序,按照安装向导的提示进行安装。在安装过程中,你可以选择默认的安装路径,也可以自定义安装路径。安装完成后,确保将CMake的安装目录添加到系统环境变量的"Path"中,以便在命令行中可以直接使用CMake命令。
2. 安装OpenCV
  1. 同样访问OpenCV官方网站(https://opencv.org/releases/),根据你的需求选择合适的版本下载。这里建议下载预编译好的Windows版本,通常是以.exe结尾的自解压文件。
  2. 下载完成后,双击运行该自解压文件,将其解压到你指定的目录,比如"C:\opencv"。
  3. 解压完成后,需要设置环境变量。在系统环境变量中添加"OPENCV_DIR"变量,其值设置为OpenCV的安装目录,例如"C:\opencv\build"。同时,将"%OPENCV_DIR%\bin"添加到系统环境变量的"Path"中,以便能够在程序中找到OpenCV的动态链接库。
3. 创建项目目录结构并编写代码
  1. 创建一个项目目录,例如"opencv_win_project",在该目录下创建以下子目录和文件:

    opencv_win_project/
    |-- CMakeLists.txt
    |-- main.cpp
    |-- images/
    |-- test.jpg (这里放置你要读取显示的图片,可自行替换文件名和图片内容)

  2. 在"main.cpp"文件中编写以下代码:

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    // 图片路径,根据实际情况修改
    std of string image_path = "images/test.jpg";
    cv::Mat image = cv::imread(image_path);

    if (image.empty()) {
        std::cerr << "Could not read the image: " << image_path << std::endl;
        return -1;
    }

    cv::namedWindow("Display Window", cv::WINDOW_NORMAL);
    cv::imshow("Display Window", image);

    cv::waitKey(0);

    return 0;
}
  1. 在"CMakeLists.txt"文件中编写以下内容:
cmake 复制代码
cmake_minimum_required(VERSION 3.10)

project(opencv_win_project)

# 查找OpenCV库
find_package(OpenCV REQUIRED)

# 添加可执行文件
add_executable(opencv_win_project main.cpp)

# 链接OpenCV库
target_link_libraries(opencv_win_project ${OpenCV_LIBS})
4. 构建并运行项目
  1. 打开命令提示符(CMD),进入到项目目录"opencv_win_project"。
  2. 执行以下命令创建一个构建目录并进入其中:
bash 复制代码
mkdir build
cd build
  1. 在构建目录中执行CMake命令来配置项目:
bash 复制代码
cmake..
  1. 执行"make"命令的Windows等效命令"mingw32-make"(前提是你已经安装了MinGW等类似的编译工具链)来编译项目:
bash 复制代码
mingw32-make
  1. 编译完成后,在构建目录下找到生成的可执行文件(这里应该是"opencv_win_project.exe"),双击该文件或者在命令提示符中执行该文件,即可看到弹出一个窗口显示指定的图片内容。

Ubuntu系统

1. 安装CMake
  1. 打开终端,执行以下命令更新软件包列表:
bash 复制代码
sudo apt-get update
  1. 然后执行以下命令安装CMake:
bash 复制代码
sudo apt-get install cmake
2. 安装OpenCV
  1. 执行以下命令更新软件包列表并安装OpenCV开发库:
bash 复制代码
sudo apt-get update
sudo apt-get install libopencv-dev
3. 创建项目目录结构并编写代码
  1. 创建一个项目目录,例如"opencv_ubuntu_project",在该目录下创建以下子目录和文件:

    opencv_ubuntu_project/
    |-- CMakeLists.txt
    |-- main.cpp
    |-- images/
    |-- test.jpg (这里放置你要读取显示的图片,可自行替换文件名和图片内容)

  2. 在"main.cpp"文件中编写以下代码:

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

int main() {
    // 图片路径,根据实际情况修改
    std::string image_path = "images/test.jpg";
    cv::Mat image = cv::imread(image_path);

    if (image.empty()) {
        std::cerr << "Could not read the image: " << image_path << std::endl;
        return -1;
    }

    cv::namedWindow("Display Window", cv::WINDOW_NORMAL);
    cv::imshow("Display Window", image);

    cv::waitKey(0);

    return 0;
}
  1. 在"CMakeLists.txt"文件中编写以下内容:
cmake 复制代码
cmake_minimum_required(VERSION 3.10)

project(opencv_ubuntu_project)

# 查找OpenCV库
find_package(OpenCV REQUIRED)

# 添加可执行文件
add_executable(opencv_ubuntu_project main.cpp)

# 链接OpenCV库
target_link_libraries(opencv_ubuntu_project ${OpenCV_LIBS})
4. 构建并运行项目
  1. 打开终端,进入到项目目录"opencv_ubuntu_project"。
  2. 执行以下命令创建一个构建目录并进入其中:
bash 复制代码
mkdir build
cd build
  1. 在构建目录中执行CMake命令来配置项目:
bash 复制代码
cmake..
  1. 执行"make"命令来编译项目:
bash 复制代码
make
  1. 编译完成后,在构建目录下找到生成的可执行文件(这里应该是"opencv_ubuntu_project"),在终端中执行该可执行文件:
bash 复制代码
./opencv_ubuntu_project

即可看到弹出一个窗口显示指定的图片内容。

希望以上步骤能帮助你在Windows和Ubuntu系统下顺利完成相关操作,实现使用C++配置OpenCV读取图片并显示的功能。

相关推荐
AndrewHZ3 分钟前
【图像处理基石】如何用OpenCV入门计算机视觉?
图像处理·深度学习·opencv·算法·计算机视觉·机器视觉·cv
了一梨8 小时前
在Ubuntu中配置适配泰山派的交叉编译环境
linux·c语言·ubuntu
远瞻。9 小时前
【环境配置】Ubuntu系统安装cuda
linux·运维·ubuntu
祎直向前10 小时前
重装Ubuntu之后重连VSCode
linux·vscode·ubuntu
社会零时工10 小时前
NVIDIA Jetson开发板使用记录——开发环境搭建
qt·opencv·nvidia
越来越无动于衷12 小时前
HTTP 文件服务器 Windows 开机自启动全维度总结
服务器·windows·http
GoWjw15 小时前
内存管理【3】
linux·服务器·c++·ubuntu
liulilittle16 小时前
C++ 并发双阶段队列设计原理与实现
linux·开发语言·c++·windows·算法·线程·并发
森G16 小时前
五、Linux字符设备驱动
linux·arm开发·c++·ubuntu
企鹅侠客17 小时前
Ubuntu本地部署AnythingLLM实现本地文档RAG
linux·运维·ubuntu·llm