首先使用cv::imread()读取图像并检查是否为空,再通过cv::imshow()显示,结合cvtColor、GaussianBlur和Canny实现灰度化、降噪与边缘检测,最后用imwrite保存结果并调用destroyAllWindows()关闭窗口。

在C++中使用OpenCV读取和处理图像是视觉开发中的基础操作。只要配置好OpenCV环境,就可以通过简单的代码实现图像的加载、显示和基本变换。
读取和显示图像
使用cv::imread()函数可以读取本地图像文件,支持常见格式如JPEG、PNG等。读取后通过cv::imshow()显示窗口展示图像。
关键步骤包括:
- 调用imread(“路径”)加载图像,返回cv::Mat对象
- 检查Mat是否为空,确保文件路径正确
- 使用namedWindow()创建窗口,可选调整大小属性
- 调用imshow()显示图像
- 使用wtKey(0)等待按键关闭窗口
示例代码:
立即学习“”;
#include <opencv2/opencv.hpp> int main() { cv::Mat img = cv::imread("test.jpg"); if (img.empty()) { std::cout << "无法加载图像" << std::endl; return -1; } cv::namedWindow("图像", cv::WINDOW_AUTOSIZE); cv::imshow("图像", img); cv::waitKey(0); return 0; }
登录后复制
图像的基本处理操作
OpenCV提供了多种图像处理函数,可用于灰度化、高斯模糊、边缘检测等常见任务。
常用处理方法包括:
利用AI轻松变形、风格化和重绘任何图像
65 - 灰度转换:使用cv::cvtColor(img, gray, cv::COLOR_BGR2GRAY)
- 高斯模糊:调用cv::GaussianBlur(gray, blur, cv::Size(5,5), 1.5)降噪
- 边缘检测:使用cv::Canny(blurred, s, 50, 150)提取轮廓
这些操作通常按顺序组合使用,例如先转灰度再模糊,最后进行边缘识别,提升检测稳定性。
保存和释放资源
处理完成后,可用cv::imwrite(“输出.jpg”, result_mat)将结果保存到文件系统。
程序结束前应:
- 调用cv::destroyAllWindows()关闭所有显示窗口
- 确保Mat对象自动析构或手动释放(一般由RAII机制管理)
- 检查磁盘权限与路径有效性,避免保存失败
基本上就这些。只要掌握imread、imshow和常见滤波函数,就能完成大多数基础图像处理任务。注意包含正确的头文件并链接OpenCV库即可顺利编译运行。
以上就是C++如何使用OpenCV读取和处理图像_C++ OpenCV图像处理方法的详细内容,更多请关注php中文网其它相关文章!
相关标签:
微信扫一扫打赏
支付宝扫一扫打赏
