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

相关推荐
余生爱静8 分钟前
ubuntu编译ijkplayer,支持rmvb以及mkv
linux·运维·ubuntu
白白白白纸呀1 小时前
C#核心技术---Linq
开发语言·windows·c#·.net·linq
码力全開1 小时前
C 语言奇幻之旅 - 第06篇:C 语言控制流语句
c语言·开发语言·数据库·windows·visualstudio·vim
m0_748239832 小时前
【MySQL】【已解决】Windows安装MySQL8.0时的报错解决方案
数据库·windows·mysql
爱吃土豆的程序员3 小时前
flowable mysql 表名大小写问题
linux·windows·mysql·flowable
2013crazy4 小时前
Python 基于 opencv 的人脸识别监控打卡系统(源码+部署)
开发语言·python·opencv·python 人脸识别·python 人脸识别打卡
jekc8684 小时前
Ubuntu更改内核
linux·运维·ubuntu
涛ing5 小时前
10. C语言 函数详解
linux·c语言·开发语言·c++·vscode·ubuntu·vim
码农在失业5 小时前
Chromium源码windows下载和编译
windows
KXue07036 小时前
【Linux 之一 】Linux常用命令汇总
linux·ubuntu·shell