OpenCV 90°旋转
2016-11-04 17:47
225 查看
顺时针旋转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度相关文章推荐
- opencv图像旋转90°的方式
- OpenCV 90°旋转
- OpenCV 求外接矩形以及旋转角度
- 图像旋转的OpenCV实现
- ___90___旋转的秒针_Ratation_GDI绘制
- 用OpenCV实现Photoshop算法(一): 图像旋转
- OpenCV实现图片旋转
- OpenCV-图像几何变换:旋转,缩放,斜切 .
- 图像的旋转 OpenCV
- 使用OpenCv获取摄像头图像并进行旋转操作
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- opencv 旋转图片
- Opencv 任意比例旋转图像
- 使用OpenCL+OpenCV实现图像旋转(二)
- opencv实现图像旋转
- openCv 图像顺时针、逆时针旋转
- 在Python下利用OpenCV来旋转图像的教程
- opencv中图像旋转
- opencv——图像的旋转(绕X轴、Y轴、原点旋转)
- OpenCV 旋转矩形设置为Mask