首先需配置opencv环境,包括下载、编译及在ide中设置头文件与链接库。接着使用cv::imread()读取图像,支持JPEG、PNG等格式,可指定灰度模式加载。通过cv::imshow()显示图像并用cv::waitKey()控制窗口停留时间,处理后调用cv::imwrite()保存结果。常用处理操作有灰度转换、调整大小、高斯模糊和边缘检测,均基于cv::Mat结构实现。掌握这些基础步骤后可进一步学习高级视觉功能,注意检查图像是否成功加载及库文件正确链接。

在C++中使用OpenCV读取和处理图像是计算机视觉开发的基础操作。只要配置好OpenCV环境,就可以通过几行代码完成图像的加载、显示和基本变换。下面介绍具体步骤和常用方法。
准备工作:安装与配置OpenCV
要使用OpenCV,首先需要正确安装并配置开发环境:
- 下载OpenCV库(推荐从官网或gitHub获取最新版本)
- 使用CMake编译源码生成静态/动态库
- 在IDE(如visual studio、CLion)中配置头文件路径和链接库
- 确保项目能调用opencv_core、opencv_imgproc、opencv_imgcodecs和opencv_highgui等模块
读取图像:imread函数的使用
使用cv::imread()函数可以加载本地图像文件:
示例代码:
立即学习“C++免费学习笔记(深入)”;
#include <opencv2/opencv.hpp> #include <iostream> int main() { cv::Mat image = cv::imread("test.jpg"); // 读取图像 if (image.empty()) { std::cout << "无法加载图像!" << std::endl; return -1; } std::cout << "图像大小:" << image.cols << "x" << image.rows << std::endl; return 0; }
支持的格式包括JPEG、PNG、BMP等常见类型。imread第二个参数可指定加载方式,例如cv::IMREAD_GRAYSCALE以灰度模式读取。
显示与保存图像
使用cv::imshow()可以在窗口中显示图像,配合cv::waitKey()控制显示时间:
cv::imshow("原图", image); cv::waitKey(0); // 等待按键,0表示无限等待
处理完成后可用cv::imwrite()保存结果:
cv::imwrite("output.jpg", image);
基本图像处理操作
OpenCV提供了丰富的图像处理函数,以下是一些常用操作:
- 转为灰度图:cv::cvtColor(image, grayImage, cv::COLOR_BGR2GRAY)
- 调整大小:cv::resize(image, resizedImage, cv::Size(640, 480))
- 高斯模糊:cv::GaussianBlur(image, blurredImage, cv::Size(5,5), 1.5)
- 边缘检测:cv::Canny(image, edgeImage, 50, 150)
这些操作都基于cv::Mat数据结构,处理后可链式调用其他函数进行复杂分析。
基本上就这些核心内容。掌握图像读取、显示和基础变换后,就可以进一步学习特征提取、目标识别等高级功能。整个流程不复杂但容易忽略细节,比如检查图像是否为空、正确链接库文件等。


