OpenCV CUDA模块设备层-----在 GPU上计算反双曲正切函数atanh()

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

算法描述

对输入的 uchar1 像素值(范围 [0, 255]),先归一化到 [0.0, 1.0] 浮点区间,然后计算其 反双曲正切函数 atanh(x),最终返回一个 float1 类型的结果。

函数原型

__device__ __forceinline__ float1 cv::cudev::atanh 	( 	const uchar1 &  	a	) 	

参数

  • uchar1 CUDA 向量类型,表示一个单通道 8 位无符号整型(等价于 unsigned char 或 uint8_t)。

代码示例

#include <opencv2/cudev/common.hpp>
#include <cstdio>
#include <cmath> // for atanhf// 手动实现 atan2f 并做边界保护
__device__ __forceinline__ float safe_atanh(float x) {if (x <= -1.0f) return -1.0e+37f; // -infif (x >= 1.0f)  return +1.0e+37f; // +infreturn atanhf(x);
}__global__ void test_atanh() {uchar1 a = make_uchar1(128); // 输入一个像素值float normalized = a.x / 255.0f;// 安全处理if (normalized >= 1.0f) normalized = 0.999999f;if (normalized <= 0.0f) normalized = 0.000001f;float result = safe_atanh(normalized);printf("atanh(%f) = %f\n", normalized, result);
}int main() {test_atanh<<<1, 1>>>();cudaDeviceReset();return 0;
}

运行结果

atanh(0.501961) = 0.551924

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/85692.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85692.shtml

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

相关文章

抢占西南产业高地:入驻成都芯谷金融中心文化科技产业园的价值

入驻成都芯谷金融中心文化科技产业园&#xff0c;对企业而言具有显著的战略价值&#xff0c;主要体现在以下几个方面&#xff1a; 产业聚集效应与协同发展 产业链完善&#xff1a;成都芯谷聚焦集成电路、新型显示、人工智能等核心产业&#xff0c;入驻企业可享受完善的产业链…

领域驱动设计(DDD)【2】之项目启动与DDD基本开发流程

文章目录 一 项目背景与目标二 核心需求分析初步需求详细分析需求总结表 三 DDD核心概念与开发流程领域和领域专家领域驱动设计开发流程 四 潜在扩展需求 一 项目背景与目标 项目定位 开发基于SaaS的企业管理系统&#xff0c;聚焦软件服务企业的细分市场&#xff0c;功能需求包…

深度融合数智化,百胜软件联合华为云加速零售行业转型升级

当前&#xff0c;企业数字化转型纵深推进&#xff0c;满足企业数智化全阶段、全场景的需求变得尤为关键。为此&#xff0c;华为云携手上万家伙伴共同发起第三届828 B2B企业节&#xff0c;依托云底座为企业数智化供需“架桥”“铺路”&#xff0c;加速企业智改数转&#xff0c;助…

《HTTP权威指南》 第4章 连接管理

带着问题学习&#xff08;通常是面试考点&#xff09; HTTP是如何使用TCP连接的TCP连接的时延、瓶颈及存在的障碍HTTP的优化&#xff0c;包括并行连接、keep-alive&#xff08;持久连接&#xff09;和管道化连接管理连接时应该和不应该做的事 TCP连接 TCP的数据通过IP分组&am…

StartUML入门级使用教程——画Class类图

一、破解安装StartUML StarUML建模工具最新版破解安装详细教程https://blog.csdn.net/m0_74146638/article/details/148709643?spm1001.2014.3001.5502 二、类图实战 1.主界面 ​ 默认打开starUML后&#xff0c;会默认进入类图模式&#xff0c;各模块区域功能如下&#x…

中科亿海微SoM模组——FPGA+DSP核心板

FPGADSP核心板是基于中科亿海微EQ6HL130型FPGA芯片搭配国产DSP开发的高性能核心板卡。对外接口采取邮票孔连接方式&#xff0c;可以极大提高信号传输质量和焊接后的机械强度。核心板卡的系统框图如下图所示。 图 FPGADSP核心板系统框图 FPGA采用中科亿海微136K LUT资源EQ6HL130…

CentOS 7 虚拟机网络配置异常 典型问题:启动了NetworkManager但是network无法启动

问题背景 在 VMware 虚拟机中使用 CentOS 7 时&#xff0c;出现以下网络问题&#xff1a; 命令行重启网络服务失败&#xff0c;提示 RTNETLINK answers: File exists 等冲突错误图形界面网络设置无法打开&#xff0c;提示需要启动 NetworkManager网卡 ens33 无法获取 IPv4 地…

细节/数学/滑动窗口

题目意思&#xff1a; 判断字符串是否可以按照题目条件缩短。 思路&#xff1a; 用栈的思想写&#xff0c;对每一次的大小写都进行滚动判断。 tips&#xff1a; 这里面要注意的东西就有一点多了&#xff0c;首先是字符串的遍历问题auto更方便&#xff0c;其次是对小写和大…

WebeServer实现:学到了哪些东西

前言 这里话就是总结一下之前没讲过的一些东西 系统调用 accept与accept4   当我们调用accept接收一个新的fd的时候&#xff0c;往往需要在调用fcntl将这个fd变成非阻塞IO,那么有没有一个系统调用可以一次性做完这两件事呢&#xff0c;有的有的就是accept4. // accept 函数…

React 虚拟dom

JSX创建出ReactElement对象 最终形成一个JS树 将React.createElement对象转为真实DOM的方法使用render函数 为什么要虚拟 dom 状态难以跟踪 ## 操作真实dom开销大 &#xff0c;并且操作会引起频繁的回流和重绘&#xff0c;并且不涉及批处理 声明式编程 从虚拟dom向真实dom去…

Spring MVC异常处理机制

Spring MVC提供了多种异常处理机制,以下是核心处理方式及实现方法: 一、局部异常处理(Controller级别) @ExceptionHandler注解 在Controller内部定义异常处理方法,捕获当前控制器抛出的指定异常。@Controller public class UserController {@GetMapping("/test"…

MySQL 8.x配置MGR高可用+ProxySQL读写分离(一):MGR构建MySQL高可用

#作者&#xff1a;stackofumbrella 文章目录 简介MGR优点MGR缺点MGR适用场景单主模式和多主模式组复制介绍组复制插件架构图单主模式多主模式配置主机名解析安装MGR插件 MGR故障转移恢复MGR集群 简介 MGR&#xff08;MySQL Group Replication&#xff09;是MySQL 5.7.17版本诞…

保安员证考试的理论知识部分,重点考查的法律法规具体有哪些?

保安员证考试理论知识部分&#xff0c;重点考查的法律法规主要有以下几种&#xff1a; 《保安服务管理条例》&#xff1a;作为保安行业的专门法规&#xff0c;是考试核心。重点考查保安服务活动规范&#xff0c;如保安服务的范围、资质要求等&#xff1b;保安员的权利与义务&am…

【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)

&#x1f680; 将所有 WSL 发行版从 C 盘迁移到 I 盘的完整教程&#xff08;含 Podman / NVIDIA Workbench / Ubuntu 等&#xff09; 【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline-CSDN博客 免责声明 重要提示 在执行 WSL 迁移操作前&#xff0c;请务必仔细阅读…

Oracle APEX 通过rtf模板下载PDF文件(BIP)

1. 上传模板文件 共享组件 > 报表布局 2. 编写SQL文 共享组件 > 报表查询 报表布局中选择1中设置完的报表布局&#xff0c;然后编写SQL文提供数据 3. 添加下载按钮 在页中添加一个下载按钮&#xff0c;添加动态操作&#xff0c;选择打印报告 4. 下载PDF文件 点击Pri…

Web Seach 搜索 MCP 启动!

&#x1f680; 开启你的 AI 助手搜索能力&#xff01;开源 Web 搜索 MCP 服务器上线&#xff01; 在 ChatGPT、Claude 等 AI 工具成为生产力新核心的今天&#xff0c;我们往往面临一个尴尬的问题&#xff1a;模型不知道最新的网络信息。虽然 GPT-4o 和 Claude 支持联网功能&am…

005微信小程序npm包_全局数据共享和分包

npm包_全局数据共享和分包 1. 使用npm包1.1 Vant Weapp1.2 API Promise化 2. 全局数据共享3. 分包3.1 分包的加载规则3.2 分包的体积限制3.3 使用分包3.3 独立分包3.4 分包预下载 1. 使用npm包 小程序对npm进行了支持与限制&#xff0c;限制如下&#xff1a; 不支持依赖于 No…

DPO直接偏好函数的学习解读

DPO, Direct Preference Optimization&#xff0c;采用直接优化策略满足人类偏好&#xff0c;使得LLM对于给定输入&#xff0c;生成能用输出的概率高于生成不能用输出的概率。 1&#xff09;DPO优化目标 在DPO训练过程中&#xff0c;模型通过最大化可用回答相对于不可用回答的…

【开源初探】基于 Qwen2.5VL的文档解析工具:docext

源码地址&#xff1a; https://github.com/NanoNets/docext 概述 docext 是一个由视觉语言模型&#xff08;vlm&#xff09;提供支持的全面的本地文档智能工具包。vlm 使用的是基于 Qwen2.5VL-3B 的模型&#xff0c;应该是在此模型基础上进行的微调。 它提供了三个核心功能&…

Python 正确重载运算符(增量赋值运算符)

增量赋值运算符 Vector 类已经支持增量赋值运算符 和 * 了&#xff0c;如示例 13-15 所示。 示例 13-15 增量赋值不会修改不可变目标&#xff0c;而是新建实例&#xff0c;然后 重新绑定 >>> v1 Vector([1, 2, 3]) >>> v1_alias v1 # ➊ >>> …