📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处
图像翻转和旋转变换
图像翻转和旋转是常见的图像变换操作,用于改变图像的方向和角度。它们可以帮助调整图像的观察角度、实现镜像效果以及进行数据增强等应用。
-
图像翻转:
- 垂直翻转:将图像上下颠倒,也称为上下翻转。对于水平镜像或人脸识别等任务具有重要作用。
- 水平翻转:将图像左右翻转,也称为左右镜像。常用于数据增强、修改图像的朝向等。
-
图像旋转:
- 顺时针旋转:按给定的角度将图像顺时针旋转。常用角度包括90度、180度和270度,可用于调整图像的朝向、可视化等。
- 逆时针旋转:按给定的角度将图像逆时针旋转。同样可以调整图像的朝向和可视化效果。
这些变换操作可以通过图像处理库(如OpenCV、PIL等)或编程语言中的图像处理函数来实现。具体的实现方法会依据使用的库和语言而有所差异。
需要注意的是,图像的翻转和旋转变换会改变图像的像素位置,可能导致信息的丢失或变形。因此,在进行这些操作时需要根据应用场景和需求合理选择变换的方法和参数,以保证所得到的图像符合预期的效果。
一、API- flip
函数原型:
void flip(InputArray src, OutputArray dst, int flipCode)
参数含义:
src,输入矩阵
dst,翻转后矩阵,类型与src一致
flipCode,翻转模式,
flipCode==0垂直翻转(沿X轴翻转);
flipCode>0水平翻转(沿Y轴翻转);
flipCode<0水平垂直翻转(先沿X轴翻转,再沿Y轴翻转,等价于旋转180°)
效果展示
二、API- transpose
作用:获得转置矩阵
函数原型:
void transpose(InputArray src, OutputArray dst);
transpose结合flip可以实现图像的90、180、270度的顺时针旋转
1.顺时针旋转90度
transpose(frame, frame);
flip(frame, frame, 1);
2.顺时针旋转180度
flip(frame, frame, -1);
3.顺时针旋转270度
transpose(frame, frame);
flip(frame, frame, 0);