OpenCV图像翻转:flip()函数的使用
生活随笔
收集整理的这篇文章主要介绍了
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()函数的使用的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: opencv透视变换:GetPerspe
- 下一篇: OpenCV数据类型转换:cnvertT