OpenCV-图像翻转函数cv::filp

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

函数原型

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

参数说明

  1. InputArray类型的src,输入图像,即源图像,Mat类的对象即可。图像类型一般是CV_8U、CV_16U、CV_16S、CV_32F、CV_64F之一。
  2. OutputArray类型的dst,输出图像,也是目标图像,和输入图像一致的类型和尺寸。
  3. int型的filpCode,设置翻转类型的参数。filpCode大于0时,代表水平翻转,即沿Y轴翻转;等于0时,代表垂直翻转,即沿X轴翻转;小于0时,代表对角翻转,即沿X和Y轴一起翻转。

注意:OpenCV中,X轴是横轴,即列数;Y轴是竖轴,即行数。Y行X列。别搞反哦~

测试代码

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/core.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace std;
using namespace cv;

int main()
{
	// 读取图片
	Mat src = imread("tangsan.jpg");//imread()函数载入图像

	// 判断是否为空
	if (src.empty())
	{
		cout << "Can not load image\\n" << endl;//
		return -1;
	}

	//显示图像
	imshow("[Original image]filp", src);//imshow()函数显示图像

	Mat des_x,des_y,des_xy;

	flip(src, des_y, 1);//1代表水平翻转,即沿Y轴翻转
	flip(src, des_x, 0);//0代表垂直翻转,即沿X轴翻转
	flip(src, des_xy,-1);//-1代表垂直和水平方向同时旋转,即沿X和Y轴翻转

	imshow("[Flip along Y]filp", des_y);//imshow()函数显示图像
	imshow("[Flip along X]filp", des_x);//imshow()函数显示图像
	imshow("[Flip along X&Y]filp", des_xy);//imshow()函数显示图像

	waitKey();

	return 0;
}

测试效果

沿Y轴翻转:

沿X轴翻转:

沿XY轴翻转:

       唐三小舞永远的神!

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

© 版权声明
THE END
喜欢就支持一下吧
点赞183 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容