首先确保配置好OpenCV环境,包含头文件#include 并使用命名空间cv;通过imread读取图像,检查是否为空;用imshow显示图像,waitKey等待输入;可使用cvtColor转灰度、GaussianBlur模糊、Canny检测边缘等处理图像;最后用imwrite保存结果;编译时需链接OpenCV库,如g++ main.cpp -o main pkg-config --cflags --libs opencv4。

在C++中使用OpenCV读取和处理图像是计算机视觉开发的基础操作。要实现这些功能,需要正确配置OpenCV环境,并掌握核心API的使用方法。
包含头文件并链接库
开始前确保已安装并配置好OpenCV开发环境。在代码中引入必要的头文件:
#include使用命名空间简化代码:
using namespace cv;编译时需链接OpenCV库,例如用g++命令:
立即学习“C++免费学习笔记(深入)”;
g++ main.cpp -o main `pkg-config --cflags --libs opencv4`读取图像
使用imread()函数加载图像文件:
- 第一个参数是图像路径
- 第二个参数指定读取方式,如IMREAD_COLOR(彩色)、IMREAD_GRAYSCALE(灰度)
示例代码:
Mat img = imread("image.jpg", IMREAD_COLOR);
if (img.empty()) {
std::cout << "无法读取图像" << std::endl;
return -1;
}
显示与保存图像
使用imshow()显示图像,第一个参数为窗口名称:
imshow("原图", img);
waitKey(0); // 等待按键,0表示任意键关闭
处理完成后可用imwrite()保存结果:
imwrite("output.jpg", img);
基本图像处理操作
OpenCV提供了多种图像处理函数,常见操作包括:
- 转为灰度图:cvtColor(img, grayImg, COLOR_BGR2GRAY);
- 高斯模糊:GaussianBlur(img, blurredImg, Size(5,5), 0);
- 边缘检测:Canny(img, edges, 50, 150);
这些处理可串联使用,例如先去噪再检测边缘。
基本上就这些。只要掌握imread、imshow、imwrite和常用处理函数,就能完成大多数基础图像操作。注意检查图像是否成功加载,避免空指针异常。配置好环境后,实际编码并不复杂但容易忽略细节。











