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读取图片并显示的功能。

相关推荐
YJlio12 小时前
VolumeID 学习笔记(13.10):卷序列号修改与资产标识管理实战
windows·笔记·学习
知识分享小能手13 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的Linux网络配置(14)
linux·学习·ubuntu
皇族崛起13 小时前
【视觉多模态】- scannet 数据的 Ubuntu 百度网盘全速下载
linux·ubuntu·3d建模·dubbo
OliverH-yishuihan15 小时前
在win10上借助WSL用VS2019开发跨平台项目实例
linux·c++·windows
南知意-17 小时前
GitHub 6K Star! 一款完全免费的音乐播放器,爽听VIP歌曲!
linux·windows·开源·github·开源软件·mac
好好学习啊天天向上17 小时前
最新:ubuntu上源码安装llvm,还没有成功
linux·运维·ubuntu
啵啵啵啵哲18 小时前
【输入法】Ubuntu 22.04 终极输入法方案:Fcitx5 + 雾凇拼音 (Flatpak版)
linux·运维·ubuntu
allanGold18 小时前
【virtualbox】【windows】已有虚拟机存储容量调整方法
windows·virtualbox
Y unes18 小时前
《uboot基础命令记录①》
linux·驱动开发·嵌入式硬件·mcu·ubuntu·uboot
小宇的天下18 小时前
Calibre eqDRC(方程化 DRC)核心技术解析与实战指南(14-1)
数据库·windows·microsoft