OpenCV 90°旋转
来源:互联网 发布:淘宝跟天猫的区别 编辑:程序博客网 时间:2024/06/08 07:26
顺时针旋转90°思路
原始图像像素矩阵2行2列:
| 1 | 2 | ---------| 3 | 4 |
| 1 | 2 | T | 1 | 3 | Y轴镜像 | 3 | 1 |--------- -------> --------- -------> ---------| 3 | 4 | | 2 | 4 | | 4 | 2 |
逆时针旋转90°思路
| 1 | 2 | T | 1 | 3 | X轴镜像 | 2 | 4 |--------- -------> --------- -------> ---------| 3 | 4 | | 2 | 4 | | 1 | 3 |
OpenCV代码
#include <iostream>#include <string>#include <vector>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>using namespace std;using namespace cv;void myRotateClockWise90(Mat &src){ if (src.empty()) { return; } // 矩阵转置 transpose(src, src); //0: 沿X轴翻转; >0: 沿Y轴翻转; <0: 沿X轴和Y轴翻转 flip(src, src, 1);}void myRotateAntiClockWise90(Mat &src){ if (src.empty()) { return; } transpose(src, src); flip(src, src, 0);}int main(int argc, char* argv[]){ const string imgpath = "D:/opencv.jpg"; Mat src = imread(imgpath, 1); Mat srcT; transpose(src, srcT); imwrite("D:/opencvT.jpg", srcT); Mat srcClockWise90 = src.clone(); myRotateClockWise90(srcClockWise90); imwrite("D:/opencvCW90.jpg", srcClockWise90); Mat srcAntiClockWise90 = src.clone(); myRotateAntiClockWise90(srcAntiClockWise90); imwrite("D:/opencvACW90.jpg", srcAntiClockWise90); return 0;}
测试结果
- 输入图像
- 输入图像的矩阵转置
- 输入图像顺时针旋转90°后的图像
- 输入图像逆时针选择90°后的图像
参考
opencv 图片旋转90度
0 0
- OpenCV 90°旋转
- OpenCV 90°旋转
- opencv图像旋转90°的方式
- opencv 图片旋转90度
- opencv图像旋转90度
- Python Opencv旋转图片90度
- opencv图像旋转
- OpenCV旋转图片
- opencv实现图像旋转
- opencv实现旋转+倾斜
- opencv 旋转图片
- opencv实现图像旋转
- OpenCV图像旋转
- Opencv实现图像旋转
- OpenCV实现图像旋转
- 图像的旋转 OpenCV
- opencv 图像翻转、旋转
- opencv 旋转图片
- 从分布式一致性谈到CAP理论、BASE理论
- IOS 四种保存数据的方式
- EventBus 3使用文档(一)
- Java设计模式之单例模式(Singleton Pattern)
- this指针 构造函数
- OpenCV 90°旋转
- linux nc命令相互发消息及传文件
- transcode_init()函数介绍
- CSS-字体
- 最小的应用(tkinter,Python3.x )
- 机器学习模型评价指标 -- 混淆矩阵
- 数据结构与算法之经典排序
- Codeforces 516A Drazil and Factorial【暴搜找规律+贪心】
- EventBus 3使用文档(二)