在c++中使用opencv读取和显示图片需包含头文件并配置环境;2. 用cv::imread()读取图像,检查是否为空;3. 用cv::imshow()显示图像,并调用cv::waitKey(0)防止窗口闪退。

在C++中使用OpenCV读取和显示图片是一个基础但重要的操作,适用于图像处理、计算机视觉等项目。下面介绍实现这一功能的基本步骤和代码示例。
包含必要的头文件
要使用OpenCV的功能,需要包含相应的头文件:
- #include <opencv2/opencv.hpp> —— 包含OpenCV所有常用模块
确保已正确配置OpenCV开发环境(如通过CMake或visual studio链接库)。
读取图片
使用 cv::imread() 函数读取图像文件。该函数返回一个 cv::Mat 对象:
立即学习“C++免费学习笔记(深入)”;
- 参数为图像路径,支持常见格式如.jpg、.png等
- 可选参数指定读取方式,如灰度(IMREAD_GRAYSCALE)或彩色(IMREAD_COLOR)
示例代码:
cv::Mat image = cv::imread("example.jpg"); if (image.empty()) { std::cout << "无法加载图片,请检查路径!" << std::endl; return -1; }
显示图片
使用 cv::imshow() 在窗口中显示图像:
- 第一个参数是窗口名称
- 第二个参数是要显示的Mat对象
调用 cv::waitKey() 等待用户按键,防止窗口闪退:
cv::imshow("图片显示", image); cv::waitKey(0); // 等待任意键按下,0表示无限等待
完整示例代码
将上述步骤整合成一个完整程序:
#include <iostream> #include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("example.jpg"); if (img.empty()) { std::cout << "图片读取失败!" << std::endl; return -1; } cv::imshow("原图", img); cv::waitKey(0); return 0; }
确保图片路径正确,推荐使用绝对路径或把图片放在可执行文件同目录下。
基本上就这些,不复杂但容易忽略细节,比如路径错误或未调用waitKey导致窗口关闭。


