OpenCV图像旋转Rotate的方法
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,这篇文章主要介绍"OpenCV图像旋转Rotate的方法"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"OpenCV图像旋转Rotate的方法"文章能帮助大家解
千家信息网最后更新 2025年11月08日OpenCV图像旋转Rotate的方法
这篇文章主要介绍"OpenCV图像旋转Rotate的方法"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"OpenCV图像旋转Rotate的方法"文章能帮助大家解决问题。
功能函数
// 图像旋转void Rotate(const cv::Mat &srcImage, cv::Mat &dstImage, double angle, cv::Point2f center, double scale){ cv::Mat M = cv::getRotationMatrix2D(center, angle, scale);//计算旋转的仿射变换矩阵 cv::warpAffine(srcImage, dstImage, M, cv::Size(srcImage.cols, srcImage.rows));//仿射变换 }getRotationMatrix2D函数原型
getRotationMatrix2D用来获得旋转的仿射变换矩阵。
Mat getRotationMatrix2D(Point2f center, double angle, double scale);
getRotationMatrix2D参数说明
Point2f类型的center,旋转中心。
double类型的angle,逆时针旋转的角度。
double类型的scale,图像旋转后的尺寸比例。
warpAffine函数原型
warpAffine用来仿射变换。
void warpAffine( InputArray src, OutputArray dst, InputArray M, Size dsize, int flags = INTER_LINEAR, int borderMode = BORDER_CONSTANT, const Scalar& borderValue = Scalar());
warpAffine参数说明
InputArray类型的src,输入图像。
OutputArray类型的dst,输出图像。
InputArray类型的M,仿射变换矩阵。
Size类型的dsize,输出图像的大小。
int类型的flags,插值方法。
int类型的borderMode,边界填充方法。
const Scalar&类型的borderValue,边界填充数值。
C++测试代码
#include#include using namespace std;using namespace cv;// 图像旋转void Rotate(const cv::Mat &srcImage, cv::Mat &dstImage, double angle, cv::Point2f center, double scale){ cv::Mat M = cv::getRotationMatrix2D(center, angle, scale);//计算旋转的仿射变换矩阵 cv::warpAffine(srcImage, dstImage, M, cv::Size(srcImage.cols, srcImage.rows));//仿射变换 }int main(){ // 载入图像 cv::Mat src = imread("0.jpg"); cv::Mat dst; // 定义参数 int row = src.rows; int col = src.cols; double angle = 30; cv::Point2f center(col / 2, row / 2); double scale = 0.5; // 图像旋转 Rotate(src, dst, angle, center, scale); // 显示图像 imshow("src", src); imshow("result", dst); waitKey(0); system("pause"); return 0;}
测试效果
图原图
图2 旋转30°
图3原图大小旋转45
不难看出,旋转后原图的尺寸已经无法满足图像要求了,此时可以缩小比例,也可以扩展整图尺寸使其完全覆盖。
关于"OpenCV图像旋转Rotate的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图像
类型
仿射
变换
方法
矩阵
函数
原图
参数
尺寸
知识
原型
大小
比例
行业
边界
测试
输出
不同
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
学校sci数据库不完善
sql怎么将表导入数据库
数码科技与互联网
方舟服务器优质推荐
数据库更新表中内容
我的世界如何登录小游戏服务器
奥弗顿数据库
北京团建无忧科技互联网
hp战99-73软件开发
西安软件开发服务支持部
上海纽盾网络安全
服务器文件夹权限管理
数据库安装包百度网盘
网络安全投入费用比例
做软件开发的买什么笔记本好
苏州市讴谷网络技术有限公司
教堂设计软件开发
广州正规软件开发服务费
达梦数据库数据查找数据
对网络技术部看法
软件维护去软件开发
自己创建的数据库的程序代码
Excel计数数据库
网络安全课学习到了什么
电子商务服务器安全
oa管理软件开发要多少钱
程序设计和数据库哪个简单
烈火网络技术工作室
金蝶k3建帐数据库路径
k3客户端连接服务器