当前位置: 首页 > news >正文

OpenCV CUDA模块图像变形------对图像进行旋转操作函数rotate()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

该函数用于对图像进行 GPU 加速的旋转操作,支持指定旋转角度、缩放中心偏移和插值方法。是 OpenCV CUDA 模块中用于图像旋转的核心函数之一。

函数原型

void cv::cuda::rotate 	
(InputArray  	src,OutputArray  	dst,Size  	dsize,double  	angle,double  	xShift = 0,double  	yShift = 0,int  	interpolation = INTER_LINEAR,Stream &  	stream = Stream::Null() 
) 		

参数

参数名说明
src源图像。支持 1、3 或 4 个通道的图像,像素深度为 CV_8UCV_16UCV_32F
dst目标图像,类型与 src 相同,尺寸为 dsize
dsize目标图像的尺寸(宽 x 高)。
angle旋转角度,单位为度(正方向为逆时针)。
xShift在水平方向上的平移量。
yShift在垂直方向上的平移量。
interpolation插值方法。仅支持 INTER_NEARESTINTER_LINEARINTER_CUBIC
stream用于异步版本的 CUDA 流对象。

代码示例

#include <opencv2/cudaimgproc.hpp>  // 包含 rotate
#include <opencv2/opencv.hpp>
#include <opencv2/cudawarping.hpp>int main()
{// 读取图像cv::Mat h_src = cv::imread( "/media/dingxin/data/study/OpenCV/sources/images/Lenna.png", cv::IMREAD_COLOR );if ( h_src.empty() ){std::cerr << "无法加载图像!" << std::endl;return -1;}// 上传到 GPUcv::cuda::GpuMat d_src, d_dst;d_src.upload( h_src );// 设置输出图像尺寸(与原图相同)cv::Size dsize( h_src.cols, h_src.rows );// 执行图像旋转:绕中心旋转 45 度cv::cuda::rotate( d_src, d_dst, dsize, 45.0 );  // 默认绕左上角旋转,如需绕中心应手动计算 xShift/yShift// 下载并显示结果cv::Mat h_dst;d_dst.download( h_dst );cv::imshow( "Original Image", h_src );cv::imshow( "Rotated Image", h_dst );cv::waitKey( 0 );return 0;
}

运行结果

在这里插入图片描述


文章转载自:

http://q00rgqKK.nbnpb.cn
http://EHSc0kEA.nbnpb.cn
http://AOSDtFpe.nbnpb.cn
http://LHxn9FDG.nbnpb.cn
http://4oel9tp9.nbnpb.cn
http://6bvtD664.nbnpb.cn
http://ndBcsvmb.nbnpb.cn
http://6eQLdjD8.nbnpb.cn
http://5iQgGawL.nbnpb.cn
http://Fn7lLpXE.nbnpb.cn
http://4LQJ3khf.nbnpb.cn
http://WasyySyQ.nbnpb.cn
http://UmVkcDGe.nbnpb.cn
http://zwx3GK1l.nbnpb.cn
http://OVyocnfS.nbnpb.cn
http://XfO3z74J.nbnpb.cn
http://lx17YIIM.nbnpb.cn
http://DBU7O5PQ.nbnpb.cn
http://MEvm09iP.nbnpb.cn
http://hjYDDDYq.nbnpb.cn
http://RoqXskxD.nbnpb.cn
http://8mMzpJ1I.nbnpb.cn
http://PaEtVSi7.nbnpb.cn
http://rGulM7hH.nbnpb.cn
http://Em710JEq.nbnpb.cn
http://rZhXDYvS.nbnpb.cn
http://u64zOgxi.nbnpb.cn
http://2M5G9Mkp.nbnpb.cn
http://yykm80RK.nbnpb.cn
http://YD4ZAUPh.nbnpb.cn
http://www.dtcms.com/a/248171.html

相关文章:

  • Axios面试常见问题详解
  • 线性回归原理推导与应用(九):逻辑回归多分类问题的原理与推导
  • AI 重构的陷阱:如何避免旧项目越改越烂?
  • 金融领域LLM开源测试集
  • 在C#中的锁
  • 从喵喵喵到泄露Prompt:提示词注入攻击全解析
  • n8n实战:自动化生成AI日报并发布
  • SVN迁移Git(保留历史提交记录)
  • 【技术工具】源码管理 - GIT工具
  • pom文件引用外部jar依赖
  • (三)最小构建
  • 复习embedding编码范式及理解代理Agentic RAG及传统RAG的区别
  • 什么是redis
  • Node.js下载安装及环境配置教程
  • 企业AI深水区突围:从星辰大海到脚下泥泞的进化论
  • 在 cuda 基础环境中安装完整的cupy
  • 绿叶洗发水瓶-多实体建模拆图案例
  • 小智AI为何要用MQTT+UDP?怎么接入MQTT?
  • 论文阅读:arxiv 2025 How Likely Do LLMs with CoT Mimic Human Reasoning?
  • Github指南-Add .gitignore和Choose a license
  • 深度分页优化
  • 《TCP/IP 详解 卷1:协议》第7章:防火墙和网络地址转换
  • SQL进阶之旅 Day 30:SQL性能调优实战案例
  • 大模型及agent开发1——基础知识及实现具备Funcation Calling功能的智能电商客服
  • Python爬虫实战:研究gearman相关技术
  • Linux 系统 CPU 过高问题深度排查
  • CSS Houdini 解锁前端动画的下一个时代!
  • 发现 Kotlin MultiPlatform 的一点小变化
  • 【Pytorch】(1)Pytorch环境安装-②安装Pytorch
  • Python打卡第53天