OpenCV图像旋转Rotate的方法
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要介绍"OpenCV图像旋转Rotate的方法"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"OpenCV图像旋转Rotate的方法"文章能帮助大家解
千家信息网最后更新 2024年11月18日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安全错误
数据库的锁怎样保障安全
丰巢网络技术有限公司招聘
用户商城软件开发
国外数据库收费
天津专业软件开发价格检测中心
网络安全金智
姓名名字数据库
启德教育软件开发有限公司
软件开发年度考核评估
微信聊天数据库怎么导在电脑上
网络技术聚合题
校园网络安全发展规划与实践
wordpress数据库优化
网络安全知识安全竞赛
数据库属性归类
智慧景区软件开发公司
亳州多场景视频系统服务器
全球13台根域名服务器
前端网络安全 面试
软件开发主管岗位说明书
网络安全需要学多长时间
comcat部署数据库
服务器怎么查询端口是否放行
华为云部署ftp服务器
山西软件开发服务推广
健身房信息管理数据库
校舍安全 网络安全
来源数据库ISTIC什么意思
网络安全推文图片
关于互联网和科技的作文
农村道路在数据库哪个图层