您的位置:首页 > 其它

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

2013-12-18 13:58 267 查看
函数说明如下:

函数原型: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;
}


结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: