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://www.pswp.cn/pingmian/84895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【面板数据】中国与世界各国新能源汽车进出口数据-分类别与不分类别(2017-2024年)

新能源汽车作为中国制造高质量发展的重要代表&#xff0c;其进出口数据不仅反映了我国技术实力与产业格局的变化&#xff0c;也是理解全球绿色交通趋势、制定国家战略决策的重要依据。目前国内主流定义判断标准主要参考中国工信部于2009年发布的《新能源汽车生产企业及产品准入…

亚马逊云服务器(AWS)会限制用户使用吗?深度解读AWS资源政策

一、AWS的资源逻辑&#xff1a;为什么说"不限速"&#xff1f; AWS采用"按需分配"的资源配置模式&#xff0c;其核心限制并非来自人为设定&#xff0c;而是取决于&#xff1a; 实例类型配置&#xff08;如t2.micro默认CPU积分制&#xff09; 账户服务配额…

顶级视频生成大模型分析:Seedance 1.0 Pro (字节跳动) - 新晋榜首

&#x1f4d6; 目录 一、概述与市场格局 1.1 AI视频生成技术现状1.2 主要竞争者概览1.3 评测标准与方法 二、顶级模型详细分析 2.1 Seedance 1.0 Pro (字节跳动) - 新晋榜首2.2 OpenAI Sora - 行业先驱者2.3 Google Veo 3 - 音视频一体化领航者2.4 快手可灵 2.0 - 国产之光…

【Spring源码核心篇-08】spring中配置类底层原理和源码实现

Spring源码核心篇整体栏目 内容链接地址【一】Spring的bean的生命周期https://zhenghuisheng.blog.csdn.net/article/details/143441012【二】深入理解spring的依赖注入和属性填充https://zhenghuisheng.blog.csdn.net/article/details/143854482【三】精通spring的aop的底层原…

【无标题】在 4K 高分辨率(如 3840×2160)笔记本上运行 VMware 虚拟机时平面太小字体太小(ubuntu)

✅ 方法一&#xff1a;写入 ~/.xprofile&#xff08;推荐&#xff09; 这个文件会在你登录图形界面前自动执行&#xff0c;适合设置缩放比例等桌面配置。 1. 打开 .xprofile 文件&#xff08;如果没有会自动创建&#xff09;&#xff1a; nano ~/.xprofile2. 写入以下内容&a…

「Linux文件及目录管理」目录结构及显示类命令

Linux文件系统的目录结构 Linux文件系统采用严格的树形结构,所有文件和目录都从根目录(/)开始延伸。以下是主要目录的详细说明: /bin:存放系统启动和运行所必需的二进制可执行文件,如ls、cp、mv等基本命令。/etc:存放系统配置文件,如/etc/passwd(用户账户信息)、/et…

人工智能学习13-Numpy-规律数组生成

人工智能学习概述—快手视频 人工智能学习13-Numpy-规律数组生成—快手视频 NumPy&#xff08;Numerical Python&#xff09;是 Python 的一种开源的数值计算扩展。 这种工具可用来存储和处理大型矩阵&#xff0c;比 Python 自身的嵌套列表 &#xff08;nested list structure…

Spring Boot 集成 Redis 实战教程

前言 在高并发、大数据量的应用场景中&#xff0c;缓存是提升系统性能的关键技术。Redis 凭借其卓越的读写性能、丰富的数据结构和高可用性&#xff0c;成为开发者常用的缓存工具。本教程将严格依据Spring 官方文档与Redis 官方文档&#xff0c;详细介绍 Spring Boot 与 Redis…

龙蜥开发者说:我的龙蜥开源之旅 | 第 32 期

「龙蜥开发者说」第 32 期来了&#xff01;开发者与开源社区相辅相成&#xff0c;相互成就&#xff0c;这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的&#xff0c;我们希望在这里让更多人看见技术的力量。本期故事&#xff0c;我们邀请了龙蜥社区开发者潘珏…

在mac上安装sh脚本文件

要将 jd-gui.sh 脚本转换为在 macOS ARM 系统上带有自定义图标的可点击运行的程序&#xff0c;你可以通过创建一个应用程序包&#xff08;.app&#xff09;来实现。以下是详细步骤&#xff1a; 步骤 1&#xff1a;创建应用程序包目录结构 应用程序包实际上是一个特殊的目录&a…

用bilibili一个讲座视频,生成一本科普书籍

用bilibili一个讲座视频,生成一本科普书籍 一、功能介绍1.1 智能文本处理1.2 知识提炼与结构化1.3 专业知识普及1.4 自动化书籍生成1,5 大规模处理能力二、技术特点三、应用意义3.1 教育领域3.2 研究领域3.3 内容创作3.4 企业应用四、创新价值五、使用场景示例六、操作步骤6.1 …

黑马教程强化day3-1

目录 一、File1.定义&#xff1a;2.创建File类的对象3.File提供的判断文件类型、获取文件信息功能4.File提供的创建的方法5.File类删除文件的功能6.File提供的遍历文件夹的方法代码演示 二、递归&#xff08;了解递归算法&#xff0c;以便实现多级遍历找文件&#xff09;1.定义…

milvus 总结

1. milvus 的默认 admin 角色账号 root 的密码 为 Milvus 2. 最开始使用命令&#xff1a; docker-compose -f milvus-standalone-docker-compose.yml up -d 启动 milvus 后&#xff0c;使用 attu 登录 Milvus 是不需要输入账号/密码的&#xff0c;可以使用如下方式开启 mi…

基于docker技术的单主机环境模拟测试批量客户端

EX. 任务背景 近期接到一个需求是在一个高性能服务器上&#xff0c;模拟启动多个待测试客户端的场景&#xff0c;但这个客户端程序有点特殊&#xff0c;设置了守护模式&#xff0c;并且需要管理员权限会监控系统的/dev/mem节点&#xff0c;单个环境中只能启动一个。 当前的测…

windows上用vnc viewer 能连接mac,不能连ubuntu

如果 VNC Viewer 可以连接 macOS&#xff0c;但无法连接 Ubuntu&#xff0c;通常是由于 Ubuntu 上的 VNC 服务配置问题或网络限制导致的。以下是逐步排查和解决方案&#xff1a; 1. 确认 Ubuntu 上已安装并运行 VNC 服务 (1) 检查是否安装了 VNC 服务器 Ubuntu 常用的 VNC 服…

Electron-vite【实战】MD 编辑器 -- 编辑区(含工具条、自定义右键快捷菜单、快捷键编辑、拖拽打开文件等)

最终效果 页面 src/renderer/src/App.vue <div class"editorPanel"><div class"btnBox"><divv-for"(config, key) in actionDic":key"key"class"btnItem":title"config.label"click"config.a…

没有宝塔面板的服务器上的WordPress网站打包下载到本地?

在服务器上部署的wordpress博客站&#xff0c;没有宝塔面板&#xff0c;怎么将服务器上的wordpress打包下载到本地&#xff1f; 作者: 晓北斗NorSnow 晓北斗动态视觉设计师&#xff0c;岚度视觉工作室执行人&#xff1b;主要从事展厅视频制作、图形工作站销售、AIGC研究&#…

Atcoder Beginner Contest 410 题解报告

零、前言 经过七七四十九天的分别&#xff0c;本期 ABC 题解又和大家见面啦&#xff01; 经过七周的奋勇杀题&#xff0c;我终于达成了三个小心愿&#xff1a; 不吃罚时AK上金排名 100 100 100 以内 且 Rated&#xff08;悲催的是&#xff0c;我 ABC400 排名两位数但没Rate…

pyspark非安装使用graphframes

pyspark版本3.1.3 需要文件 graphframes-0.8.2-spark3.1-s_2.12.jarspark-graphx_2.12-3.1.3.jar从 https://github.com/microsoft/adb2spark/raw/main/graphframes-0.8.2-py3-none-any.whl 下载graphframes-0.8.2-py3-none-any.whl。下载后把whl后缀改成zip&#xff0c;解压…

[Linux入门] Linux磁盘管理与文件系统

目录 Linux磁盘与文件系统管理详解&#xff1a;从基础到实践 ​​一、磁盘基础简述​​ 1️⃣​​硬盘类型​​&#xff1a; ​2️⃣机械硬盘结构​​&#xff1a; 3️⃣​​磁盘容量计算​​&#xff1a; 公式&#xff1a;磁盘容量磁头数柱面数每磁道扇区数每扇区字节数 …