OpenCV 实现图像与视频旋转:getRotationMatrix2D与warpAffine的应用
需积分: 4 151 浏览量
更新于2024-09-05
收藏 2KB MD 举报
本资源是一份关于在OpenCV中实现图像和视频旋转的C++代码示例。标题"image_video_rotation.md"明确指出了内容的重点,即处理图像旋转的技术。描述部分提到了两种操作:图像旋转(image rotation)和视频旋转(video rotation),这表明代码不仅适用于单张图片,也适用于连续的视频帧。
关键知识点包括:
1. **OpenCV库的使用**:
- 代码中引用了`opencv2\imgproc\imgproc.hpp`和`opencv2\highgui\highgui.hpp`两个头文件,展示了如何利用OpenCV库中的函数来处理图像和视频处理任务。
2. **getRotationMatrix2D()函数**:
- `cv::getRotationMatrix2D(anchor_pt, angle, 1.0)` 是核心函数,它根据指定的中心点`anchor_pt`(通常选择图像或视频的几何中心),旋转角度`angle`(正负值表示顺时针或逆时针旋转),以及缩放因子(1.0表示不改变大小),生成一个旋转矩阵`rot_mat`。
3. **warpAffine()函数**:
- `cv::warpAffine(src, dst, rot_mat, src.size())` 使用旋转矩阵对输入图像进行仿射变换,将`src`图像按照`rot_mat`进行旋转,并将结果保存到`dst`矩阵中。参数`src.size()`确保了输出图像的尺寸与原图相同。
4. **主函数(main())**:
- 在`main()`函数中,首先读取一张图片`src`,然后设置旋转的中心点和角度,调用`rotateImage()`函数进行旋转,最后显示原图`src`和旋转后的图像`dst`。`cv::imshow()`用于显示图像,`cv::waitKey(0)`暂停程序直到用户按键。
5. **应用场景**:
- 这段代码可以应用于任何需要对图像或视频进行旋转的场景,如图像预处理、计算机视觉中的物体检测和识别、视频稳定等。
通过这段代码,读者可以了解到如何使用OpenCV的基本图像处理功能来实现简单的图像和视频旋转,这对于理解和应用OpenCV库进行图像处理和计算机视觉项目非常有帮助。
3025 浏览量
111 浏览量
110 浏览量
2022-07-14 上传
139 浏览量
191 浏览量
209 浏览量
418 浏览量
2022-09-20 上传

GinWn
- 粉丝: 13
最新资源
- Java8流的使用与案例分析教程
- Preme for Windows:桌面四角鼠标控制窗口新体验
- 全面解析TI官方CC2530例程及节点程序指南
- 分享个性化dotfiles存储库:Vim配置及其他
- 100多个机构动画激发设计灵感
- BmpToMif软件:图片转mif,助力FPGA Rom实例化
- 绿点鼠标自动点击器v3.30:高效自动化操作工具
- Arctic Fox推出eLection最新电子更新包下载
- Webacus开发文档:接口使用及开发指南
- Windows平台Boost 1.73.0静态库编译与使用指南
- Qt登录界面焦点自动识别与信息输入方法
- 全面解析C语言教程下载资源
- Django框架下的quizapp测验网站视觉与功能升级
- Endnote: 科研文献管理的得力助手
- 万能多媒体播放器:亿愿媒体通览v5.1.203中文化
- Solidworks GB型材库的创建与应用