以下是在Windows和Ubuntu系统下分别安装CMake并使用C++配置OpenCV实现读取图片并显示功能的详细步骤:
Windows系统
1. 安装CMake
- 访问CMake官方网站(https://cmake.org/download/)。
- 根据你的Windows系统版本(32位或64位)下载对应的CMake安装程序(通常为.msi文件)。
- 双击下载的安装程序,按照安装向导的提示进行安装。在安装过程中,你可以选择默认的安装路径,也可以自定义安装路径。安装完成后,确保将CMake的安装目录添加到系统环境变量的"Path"中,以便在命令行中可以直接使用CMake命令。
2. 安装OpenCV
- 同样访问OpenCV官方网站(https://opencv.org/releases/),根据你的需求选择合适的版本下载。这里建议下载预编译好的Windows版本,通常是以.exe结尾的自解压文件。
- 下载完成后,双击运行该自解压文件,将其解压到你指定的目录,比如"C:\opencv"。
- 解压完成后,需要设置环境变量。在系统环境变量中添加"OPENCV_DIR"变量,其值设置为OpenCV的安装目录,例如"C:\opencv\build"。同时,将"%OPENCV_DIR%\bin"添加到系统环境变量的"Path"中,以便能够在程序中找到OpenCV的动态链接库。
3. 创建项目目录结构并编写代码
-
创建一个项目目录,例如"opencv_win_project",在该目录下创建以下子目录和文件:
opencv_win_project/
|-- CMakeLists.txt
|-- main.cpp
|-- images/
|-- test.jpg (这里放置你要读取显示的图片,可自行替换文件名和图片内容) -
在"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;
}
- 在"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. 构建并运行项目
- 打开命令提示符(CMD),进入到项目目录"opencv_win_project"。
- 执行以下命令创建一个构建目录并进入其中:
bash
mkdir build
cd build
- 在构建目录中执行CMake命令来配置项目:
bash
cmake..
- 执行"make"命令的Windows等效命令"mingw32-make"(前提是你已经安装了MinGW等类似的编译工具链)来编译项目:
bash
mingw32-make
- 编译完成后,在构建目录下找到生成的可执行文件(这里应该是"opencv_win_project.exe"),双击该文件或者在命令提示符中执行该文件,即可看到弹出一个窗口显示指定的图片内容。
Ubuntu系统
1. 安装CMake
- 打开终端,执行以下命令更新软件包列表:
bash
sudo apt-get update
- 然后执行以下命令安装CMake:
bash
sudo apt-get install cmake
2. 安装OpenCV
- 执行以下命令更新软件包列表并安装OpenCV开发库:
bash
sudo apt-get update
sudo apt-get install libopencv-dev
3. 创建项目目录结构并编写代码
-
创建一个项目目录,例如"opencv_ubuntu_project",在该目录下创建以下子目录和文件:
opencv_ubuntu_project/
|-- CMakeLists.txt
|-- main.cpp
|-- images/
|-- test.jpg (这里放置你要读取显示的图片,可自行替换文件名和图片内容) -
在"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;
}
- 在"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. 构建并运行项目
- 打开终端,进入到项目目录"opencv_ubuntu_project"。
- 执行以下命令创建一个构建目录并进入其中:
bash
mkdir build
cd build
- 在构建目录中执行CMake命令来配置项目:
bash
cmake..
- 执行"make"命令来编译项目:
bash
make
- 编译完成后,在构建目录下找到生成的可执行文件(这里应该是"opencv_ubuntu_project"),在终端中执行该可执行文件:
bash
./opencv_ubuntu_project
即可看到弹出一个窗口显示指定的图片内容。
希望以上步骤能帮助你在Windows和Ubuntu系统下顺利完成相关操作,实现使用C++配置OpenCV读取图片并显示的功能。