参数说明
- InputArray类型的src,输入图像,即源图像,Mat类的对象即可。图像类型一般是CV_8U、CV_16U、CV_16S、CV_32F、CV_64F之一。
- OutputArray类型的dst,输出图像,也是目标图像,和输入图像一致的类型和尺寸。
- 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轴翻转:
唐三小舞永远的神!
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!