首先检查图像是否成功加载,使用cv::imread读取图片并判断返回的Mat对象是否为空,若为空则输出错误信息;接着通过cv::imshow显示图像,需配合cv::waitKey确保窗口正常渲染。

在C++中使用OpenCV读取和显示图片是一个基础但重要的操作,适用于图像处理、计算机视觉等项目。要完成这个任务,需要正确配置OpenCV环境,并掌握核心函数的使用。
包含必要的头文件
使用OpenCV前,需引入相关头文件:
#include :包含OpenCV所有常用模块。 常用子模块如imgcodecs、highgui、imgproc会自动包含。
读取图片:cv::imread
使用cv::imread函数从文件加载图像:
函数原型:cv::Mat cv::imread(const std::string& filename, int flags) 第一个参数是图片路径,支持绝对或相对路径。 第二个参数指定读取方式,如: cv::IMREAD_COLOR:以三通道彩色图读取(默认)。 cv::IMREAD_GRAYSCALE:转为灰度图。 cv::IMREAD_UNCHANGED:保留透明通道(如PNG)。 返回值为cv::Mat类型,若路径错误或文件不存在,返回空矩阵(.empty() 为 true)。
示例代码:
立即学习“C++免费学习笔记(深入)”;
cv::Mat image = cv::imread("example.jpg", cv::IMREAD_COLOR);if (image.empty()) { std::cerr << "无法读取图片,请检查路径!" << std::endl; return -1;}
显示图片:cv::imshow 和 cv::waitKey
使用cv::imshow在窗口中显示图像:
函数原型:void cv::imshow(const std::string& winname, cv::InputArray mat) 第一个参数是窗口名称,可自定义。 第二个参数是要显示的Mat对象。
显示后需调用cv::waitKey等待按键事件,否则窗口可能闪退:
cv::waitKey(0):无限等待任意键按下。 cv::waitKey(1):常用于视频循环,等待1毫秒。 返回值为按下的键值,可用于交互控制。
完整显示流程:
cv::imshow("图片显示", image);cv::waitKey(0); // 等待按键后关闭cv::destroyAllWindows(); // 关闭所有窗口
完整示例代码
整合上述步骤的一个简单程序:
#include #include int main() { cv::Mat img = cv::imread("test.jpg"); if (img.empty()) { std::cout << "图片加载失败!" << std::endl; return -1; } cv::imshow("原图", img); cv::waitKey(0); cv::destroyAllWindows(); return 0;}
确保图片路径正确,且OpenCV已正确链接到项目中(编译时添加相应的库路径和依赖)。
基本上就这些,掌握 imread、imshow 和 waitKey 就能实现基本的图像加载与展示功能。
以上就是c++++怎么使用OpenCV读取和显示图片_c++ OpenCV图片读取与显示方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1480254.html
微信扫一扫
支付宝扫一扫