欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV图像翻转:flip()函数的使用

发布时间:2024/9/21 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 OpenCV图像翻转:flip()函数的使用 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

功能描述

flip()函数翻转一个二维的矩阵,包含垂直翻转,水平翻转,以及垂直水平翻转,

函数 cv::flip 以以下三种方式之一翻转矩阵(行和列索引从0开始):

函数使用示例方案如下:

  • flipCode =0,垂直翻转图像,是源图像的top-left(左上)和bottom-left(左下)的交换,也就是说左上变成了左下,左下变成了左上,这是一个典型在的 Microsoft Windows操作系统里的视频处理操作。

  • flipCode > 0,图像的水平翻转,随后的水平位移和绝对方差计算,是为了检查图像是否y轴对称。

  • (flipCode < 0),图像同时垂直翻转和水平翻转,是为了以后的位移和绝对方差计算去检查图像是否是中心对称。

  • 反转点阵队列的顺序(flipCode > 0 或flipCode == 0).

原型

CV_EXPORTS_W void flip(InputArray src, OutputArray dst, int flipCode);

参数释义

  • 参数 src 输入矩阵.

  • 参数 dst 输出矩阵,和输入矩阵一样大小。

  • 参数 flipCode 一个标志,决定怎么翻转矩阵; 0 是围绕着x轴翻转,正直是围绕着y轴翻转,负值是围绕着两个轴一起翻转。 around both axes.

  • 参考 transpose , repeat , completeSymm

源码示例

#include <iostream> #include <opencv2/opencv.hpp> ​ int main() {cv::Mat image = cv::imread("D:\\OpenCVtest\\images\\juice.png");cv::Mat image_fliped;cv::flip(image, image_fliped, 0); ​cv::imshow("原图 juice", image);cv::imshow("垂直翻转 围绕x轴 juice", image_fliped); ​cv::flip(image, image_fliped, 1);cv::imshow("水平翻转 围绕Y轴 juice", image_fliped); ​cv::flip(image, image_fliped, -1);cv::imshow("水平翻转、垂直翻转同时 围绕X、Y轴 juice", image_fliped); ​cv::waitKey(0);return 0; }

运行结果

垂直翻转 围绕x轴:

 

水平翻转 围绕Y轴

 

水平翻转、垂直翻转同时 围绕X、Y轴

 

总结

以上是生活随笔为你收集整理的OpenCV图像翻转:flip()函数的使用的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。