矩阵操作-flip(垂直,水平或即垂直又水平翻转二维数组)

  函数说明如下:

函数原型:void flip(InputArray src, OutputArray dst, int flipCode)
函数作用:垂直,水平或即垂直又水平翻转二维数组
参数说明:src                 原数组
         dst                 目标责任制数组. 如果 dst = NULL 翻转是在内部替换
         flipCode            指定怎样去翻转数组。
                             flip_mode = 0 沿X-轴翻转,。
                             flip_mode > 0 (如 1) 沿Y-轴翻转。
                             flip_mode < 0 (如 -1) 沿X-轴和Y-轴翻转.见下面的公式
                             函数flip以三种方式之一翻转数组 (行和列下标是以0为基点的):
                             dst(i,j)=src(rows(src)-i-1,j) if flip_mode = 0
                             dst(i,j)=src(i,cols(src1)-j-1) if flip_mode > 0
                             dst(i,j)=src(rows(src)-i-1,cols(src)-j-1) if flip_mode < 0

   举例说明如下:

#include "stdafx.h"
#include <cv.h>
#include <highgui.h>

using namespace cv;

int _tmain(int argc, _TCHAR* argv[])
{
    //导入图像
    Mat src = imread("1.jpg");
    Mat src1(src.clone());
    Mat src2(src.clone());

    imshow("src",src);
    
    //延x轴翻转
    flip(src,src,0);
    imshow("延x轴翻转",src);

    //沿Y-轴翻转
    flip(src1,src1,1);
    imshow("延y轴翻转",src1);

    //沿X-轴和Y-轴翻转
    flip(src2,src2,-1);
    imshow("沿X-轴和Y-轴翻转",src2);

    waitKey(0);

    return 0;
}

    结果如下:

原文地址:https://www.cnblogs.com/hwm520hlf1314/p/3480237.html