欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

opencv图像旋转

时间:2023-05-29
一、图像旋转

算子: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

 

 

 

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。