OpenCV图像水平竖直翻转并保存
需积分: 10 161 浏览量
更新于2024-09-09
收藏 762B TXT 举报
"这是一个使用OpenCV 2.4.8库进行图像水平和垂直翻转,并输出为其他格式的简单程序,适用于入门学习者。"
在计算机视觉领域,OpenCV是一个强大的开源库,它提供了大量的图像处理和计算机视觉功能。在这个程序中,主要涉及了以下几个OpenCV的关键知识点:
1. **OpenCV头文件导入**:
- `#include<opencv2/core/core.hpp>`:包含了OpenCV的基本数据结构和核心运算。
- `#include<opencv2/highgui/highgui.hpp>`:用于图像显示和读写操作。
- `#include<opencv2/opencv.hpp>`:包含所有OpenCV模块,通常在项目中引入这一个就足够了。
- `#include<opencv2/imgproc/imgproc.hpp>`:用于图像处理和计算机视觉算法。
2. **读取图像**:
使用`cv::imread`函数读取图像文件,例如"img.jpg",并将结果存储在`cv::Mat`类型的变量`image`中。`cv::Mat`是OpenCV中的一个矩阵类,可以表示图像数据。
3. **输出图像信息**:
`image.size().height`和`image.size().width`分别获取图像的高度和宽度,通过`std::cout`打印出来,方便查看图像的尺寸。
4. **创建窗口和显示图像**:
`cv::namedWindow`函数创建了一个名为"OriginalImage"的窗口,`cv::imshow`函数将`image`显示在这个窗口中,展示原始图像。
5. **图像翻转**:
使用`cv::flip`函数对图像进行水平或垂直翻转。在这个例子中,参数`-1`表示同时进行水平和垂直翻转。翻转后的图像存储在`result`变量中。
6. **创建新的窗口并显示翻转后的图像**:
同样,创建一个名为"OutputImage"的窗口,并使用`cv::imshow`函数显示`result`,即翻转后的图像。
7. **图像保存**:
使用`cv::imwrite`函数将翻转后的图像保存为"output.bmp"。`cv::imwrite`支持多种图像格式,可以根据需要更改文件扩展名。
8. **等待用户按键**:
`cv::waitKey(5000)`函数会暂停程序执行,等待用户按键,参数5000表示等待5秒钟。在这5秒内,用户可以查看图像并关闭窗口。如果用户按下任意键,`waitKey`会立即返回按键的ASCII码。
这个程序是OpenCV初学者理解基本图像处理操作的一个很好的起点,通过它你可以学习到如何加载、显示、处理和保存图像。随着对OpenCV的深入学习,你可以实现更多复杂的图像处理任务。
2022-04-29 上传
2022-04-29 上传
2010-03-31 上传
点击了解资源详情
点击了解资源详情
2023-06-03 上传
2023-06-13 上传
2023-04-05 上传
2023-06-13 上传
xjzklbb521
- 粉丝: 1
- 资源: 5
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率