算子:transpose(src, src);
transpose()可以实现像素下标的x和y轴坐标进行对调:dst(i,j)=src(j,i),接口形式
transpose( InputArray src, // 输入图像 OutputArray dst, // 输出)
算子:flip(src, src, 1);
flip()函数可以实现对图像的水平翻转、垂直翻转和双向翻转
void flip( InputArray src, // 输入图像 OutputArray dst, // 输出 int flipCode = 0 // >0: 沿y-轴翻转, 0: 沿x-轴翻转, <0: x、y轴同时翻转 );flip(img1,0)#水平轴翻转(上下翻转)flip(img1,1)#垂直轴翻转(左右翻转)flip(img1,-1)#双向翻转
二、代码显示#if 1 // 旋转角度Mat rotate_img(Mat src, int idx) {//旋转90度if (idx == 1) {transpose(src, src);flip(src, src, 1);return src;}//旋转180度else if (idx == 2) {flip(src, src, 0);flip(src, src, 1);return src;}//旋转270度else if (idx == 3) {transpose(src, src);flip(src, src, 0);return src;}else {return src;}}int main() {Mat src = imread("C:\Users\19473\Desktop\opencv_images\33.jpg");if (!src.data){printf("could not load image....n");}imshow("原图", src);Mat m1= rotate_img(src,1); //90度imshow("90度", m1);Mat m2 = rotate_img(src, 2); //180度imshow("180度", m2);Mat m3 = rotate_img(src, 3); //270度imshow("270度", m3);waitKey(0);return 0;}#endif