相机小孔成像模型与透视变换
0 背景
本文用于记录小孔相机成像的数学模型推导,并讨论特定条件下两个相机之间看到图像的变换关系。
1 小孔成像模型
小孔成像模型如上图所示。物理世界发光点P,经过小孔O投影到物理成像平面,形成像点I’。
简易起见,构造虚拟成像平面,虚拟成像平面与物理成像平面关于O原点对称。
像点I’在虚拟成像平面对应的点为I。
为虚拟像平面建立坐标系u-v。
相机坐标系z轴垂直指向虚拟相平面,x轴与u轴同向,y轴与v轴同向。
P与I之间满足关系 O I ⃗ = λ ⋅ O P ⃗ \vec{OI} = \lambda \cdot \vec{OP} OI=λ⋅OP。再设I的x,y坐标与u,v坐标满足关系:
[ I x I y I z ] = [ s u 0 δ u 0 s v δ v 0 0 I z ] ⋅ [ I u I v 1 ] \begin{bmatrix} I_{x} \\ I_{y} \\ I_{z} \end{bmatrix} = \begin{bmatrix} s_{u} & 0 & \delta u \\ 0 & s_{v} & \delta v \\ 0 & 0 & I_{z} \end{bmatrix} \cdot \begin{bmatrix} I_{u} \\ I_{v} \\ 1 \end{bmatrix} IxIyIz = su000sv0δuδvIz ⋅ IuIv1
用I点像坐标表示 O I ⃗ \vec{OI} OI,带入 O I ⃗ = λ ⋅ O P ⃗ \vec{OI} = \lambda \cdot \vec{OP} OI=λ⋅OP,基于第三维求得 λ \lambda λ,等式两边同时除以常量 I z I_{z} Iz,得到小孔成像模型的数学表达。
[ f u 0 b u 0 f v b v 0 0 1 ] ⋅ [ I u I v 1 ] = 1 I z ⋅ [ I x I y I z ] = 1 P z ⋅ [ P x P y P z ] \begin{bmatrix} f_{u} & 0 & b_{u} \\ 0 & f_{v} & b_{v} \\ 0 & 0 & 1 \end{bmatrix} \cdot \begin{bmatrix} I_{u} \\ I_{v} \\ 1 \end{bmatrix} = \frac{1}{I_{z}} \cdot \begin{bmatrix} I_{x} \\ I_{y} \\ I_{z} \end{bmatrix} = \frac{1}{P_{z}} \cdot \begin{bmatrix} P_{x} \\ P_{y} \\ P_{z} \end{bmatrix} fu000fv0bubv1 ⋅ IuIv1 =Iz1⋅ IxIyIz =Pz1⋅ PxPyPz
简记为下式。其中 M M M 为包含 f u , b u , f v , b v f_{u}, b_{u}, f_{v}, b_{v} fu,bu,fv,bv 的 3 × 3 3 \times 3 3×3 矩阵。 I ⃗ \vec{I} I 为点 I I I 在虚拟成像平面上的齐次坐标向量。
M ⋅ I ⃗ = P ⃗ / P z M \cdot \vec{I} = \vec{P} / P_{z} M⋅I=P/Pz
再引入世界坐标系与相机坐标系的相对关系,设相机坐标系在世界坐标系下的旋转矩阵与平移向量为 R R R, T T T,则小孔成像模型变形为
M ⋅ I ⃗ = ( R ⋅ P ⃗ + T ) / P z c M \cdot \vec{I} = (R \cdot \vec{P} + T) / P^{c}_{z} M⋅I=(R⋅P+T)/Pzc
其中, P z c P^{c}_{z} Pzc 仍为 P P P点在相机坐标系下在z轴分量。
相应的,当已知像点坐标,对应物点坐标满足方程
P ⃗ = P z c ⋅ R T M I ⃗ − R T T , P z c > 0 \vec{P} = P^{c}_{z} \cdot R^{T} M \vec{I} - R^{T}T, P^{c}_{z} > 0 P=Pzc⋅RTMI−RTT,Pzc>0
可见,已知像点坐标,可行物点坐标构成了以相机坐标系原点为起始点,与 O I ⃗ \vec{OI} OI同向的射线。
2 物点在已知平面条件下的像点物点关系讨论
当已知物点在特定平面下,不是一般性地,假设物点在世界坐标系XOY平面中,即物点Z分量为0。此时,特化的小孔成像模型写为
M ⋅ I ⃗ = 1 P z c ⋅ [ r 1 r 2 T ] ⋅ [ X Y 1 ] = 1 P z c ⋅ G ⋅ [ X Y 1 ] M \cdot \vec{I} = \frac{1}{P^{c}_{z}} \cdot \begin{bmatrix} r_{1} & r_{2} & T \end{bmatrix} \cdot \begin{bmatrix} X \\ Y \\ 1 \end{bmatrix} = \frac{1}{P^{c}_{z}} \cdot G \cdot \begin{bmatrix} X \\ Y \\ 1 \end{bmatrix} M⋅I=Pzc1⋅[r1r2T]⋅ XY1 =Pzc1⋅G⋅ XY1
其中, r 1 r_{1} r1与 r 2 r_{2} r2分别为矩阵 R R R的第1,2列。此时根据像点坐标求解物点坐标方法为
[ X Y 1 ] = P z c ⋅ G − 1 M I ⃗ \begin{bmatrix} X \\ Y \\ 1 \end{bmatrix} = P^{c}_{z} \cdot G^{-1} M \vec{I} XY1 =Pzc⋅G−1MI
这种特殊条件下,如果考虑两个相机模型,对同一物点P,两个像点坐标之间存在关系
[ I u 2 I v 2 1 ] = P z c 1 P z c 2 ⋅ M 2 − 1 G 2 G 1 − 1 M 1 ⋅ [ I u 1 I v 1 1 ] \begin{bmatrix} I^{2}_{u} \\ I^{2}_{v} \\ 1 \end{bmatrix} = \frac{P^{c1}_{z}}{P^{c2}_{z}} \cdot M^{-1}_{2} G_{2} G^{-1}_{1} M_{1} \cdot \begin{bmatrix} I^{1}_{u} \\ I^{1}_{v} \\ 1 \end{bmatrix} Iu2Iv21 =Pzc2Pzc1⋅M2−1G2G1−1M1⋅ Iu1Iv11
简记为
[ I u 2 I v 2 1 ] = P z c 1 P z c 2 ⋅ H ⋅ [ I u 1 I v 1 1 ] \begin{bmatrix} I^{2}_{u} \\ I^{2}_{v} \\ 1 \end{bmatrix} = \frac{P^{c1}_{z}}{P^{c2}_{z}} \cdot H \cdot \begin{bmatrix} I^{1}_{u} \\ I^{1}_{v} \\ 1 \end{bmatrix} Iu2Iv21 =Pzc2Pzc1⋅H⋅ Iu1Iv11
考虑第三维分量,可以求得系数项 P z c 1 / P z c 2 P^{c1}_{z}/P^{c2}_{z} Pzc1/Pzc2,整理为以下公式
[ t 1 t 2 t 3 ] = H ⋅ [ I u 1 I v 1 1 ] [ I u 2 I v 2 1 ] = 1 t 3 ⋅ [ t 1 t 2 t 3 ] \begin{bmatrix} t_{1} \\ t_{2} \\ t_{3} \end{bmatrix} = H \cdot \begin{bmatrix} I^{1}_{u} \\ I^{1}_{v} \\ 1 \end{bmatrix} \\ \begin{bmatrix} I^{2}_{u} \\ I^{2}_{v} \\ 1 \end{bmatrix} = \frac{1}{t_{3}} \cdot \begin{bmatrix} t_{1} \\ t_{2} \\ t_{3} \end{bmatrix} t1t2t3 =H⋅ Iu1Iv11 Iu2Iv21 =t31⋅ t1t2t3
综上所述,当已知物点P在世界坐标系XOY平面上时,两个相机下物点P的像点坐标之间满足透视变换关系,这个关系由透视变换矩阵 H H H唯一确定。
3 H H H矩阵的标定
本节讨论2描述的特殊条件下, H H H矩阵的求解问题。将 H H H写作
H = [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 ] H = \begin{bmatrix} h_{11} & h_{12} & h_{13} \\ h_{21} & h_{22} & h_{23} \\ h_{31} & h_{32} & h_{33} \end{bmatrix} H= h11h21h31h12h22h32h13h23h33
给定一组 { ( I u 1 , I v 1 ) , ( I u 2 , I v 2 ) } \{(I^{1}_{u}, I^{1}_{v}),(I^{2}_{u},I^{2}_{v})\} {(Iu1,Iv1),(Iu2,Iv2)}坐标对,则对任一对坐标对,求解的 H H H应满足约束
[ I u 2 I v 2 1 ] = 1 h 31 I u 1 + h 32 I v 1 + h 33 ⋅ H ⋅ [ I u 1 I v 1 1 ] \begin{bmatrix} I^{2}_{u} \\ I^{2}_{v} \\ 1 \end{bmatrix} = \frac{1}{h_{31}I^{1}_{u}+h_{32}I^{1}_{v}+h_{33}} \cdot H \cdot \begin{bmatrix} I^{1}_{u} \\ I^{1}_{v} \\ 1 \end{bmatrix} Iu2Iv21 =h31Iu1+h32Iv1+h331⋅H⋅ Iu1Iv11
设 H 0 H_{0} H0满足上述约束,容易验证,任意 H = s ⋅ H 0 , s ≠ 0 H = s \cdot H_{0}, s \neq 0 H=s⋅H0,s=0均满足上述约束。
即满足约束的 H H H有无穷多个,它们之间只差一个缩放系数。而我们只需要求解一个即可。
简单起见,取 h 33 = 1 h_{33}=1 h33=1。则对于一个点对,我们有方程
[ I u 1 I v 1 1 0 0 0 − I u 2 I u 1 − I u 2 I v 1 − I u 2 0 0 0 I u 1 I v 1 1 − I v 2 I u 1 − I v 2 I v 1 − I u v ] ⋅ [ h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 1 ] = 0 ⃗ \begin{bmatrix} I^{1}_{u} & I^{1}_{v} & 1 & 0 & 0 & 0 & -I^{2}_{u}I^{1}_{u} & -I^{2}_{u}I^{1}_{v} & -I^{2}_{u} \\ 0 & 0 & 0 & I^{1}_{u} & I^{1}_{v} & 1 & -I^{2}_{v}I^{1}_{u} & -I^{2}_{v}I^{1}_{v} & -I^{v}_{u} \end{bmatrix} \cdot \begin{bmatrix} h_{11} \\ h_{12} \\ h_{13} \\ h_{21} \\ h_{22} \\ h_{23} \\ h_{31} \\ h_{32} \\ 1 \\ \end{bmatrix} = \vec{0} [Iu10Iv10100Iu10Iv101−Iu2Iu1−Iv2Iu1−Iu2Iv1−Iv2Iv1−Iu2−Iuv]⋅ h11h12h13h21h22h23h31h321 =0
可见一个点对提供了关于 H H H元素的两个线性方程。
最少4个点对,即可求解得到 H H H。
相关文章:
相机小孔成像模型与透视变换
0 背景 本文用于记录小孔相机成像的数学模型推导,并讨论特定条件下两个相机之间看到图像的变换关系。 1 小孔成像模型 小孔成像模型如上图所示。物理世界发光点P,经过小孔O投影到物理成像平面,形成像点I’。 简易起见,构造虚拟成…...
微信小程序订阅消息提醒-云函数
微信小程序消息订阅分2种: 1.一次性订阅:用户订阅一次就可以推送一次,如果需要多次提醒需要多次订阅。 2.长期订阅:只有公共服务领域,如政务、医疗、交通、金融和教育等。在用户订阅后,在很长一段时间内…...
语音技术与人工智能:智能语音交互的多场景应用探索
引言 近年来,智能语音技术取得了飞速发展,逐渐渗透到日常生活和各行各业中。从语音助手到智能家居控制,再到企业客服和教育辅导,语音交互正以前所未有的速度改变着人机沟通的方式。这一变革背后,人工智能技术无疑是关键…...
ros2笔记-6.2 使用urdf创建机器人模型
本节主要跟着小鱼老师的视频操作,不同的仿真平台有不同的建模语言,但是几乎都支持URDF。 本节使用URDF创建一个机器人模型。 6.2.1 帮机器人创建一个身体 URDF使用XML来描述机器人的结构和传感器、执行器等信息。 在chapt6/chap6_ws/src创建功能包:r…...
SQL刷题快速入门(二)
其他章节:SQL刷题快速入门(一) 承接上一章节,本章主要讲SQL的运算符、聚合函数、SQL保留小数的几种方式三个部分 运算符 SQL 支持多种运算符,用于执行各种操作,如算术运算、比较、赋值、逻辑运算等。以下…...
大数据技术实训:Zookeeper集群配置
一、本地模式安装部署 1)安装前准备 (1)安装jdk (2)拷贝Zookeeper安装包到Linux系统下 (3)解压到指定目录 tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module/ 2)配置修改 &am…...
SpringBoot日常:集成Kafka
文章目录 1、pom.xml文件2、application.yml3、生产者配置类4、消费者配置类5、消息订阅6、生产者发送消息7、测试发送消息 本章内容主要介绍如何在springboot项目对kafka进行整合,最终能达到的效果就是能够在项目中通过配置相关的kafka配置,就能进行消息…...
初学stm32 --- DAC输出三角波和正弦波
输出三角波实验简要: 1,功能描述 通过DAC1通道1(PA4)输出三角波,然后通过DS100示波器查看波形 2,关闭通道1触发(即自动) TEN1位置0 3,关闭输出缓冲 BOFF1位置1 4,使用12位右对齐模式 将数字量写入DAC_…...
从绝对误差到相对误差:C++ 浮点数比较详解
一般情况下,对于比较两个整数的大小关系,我们通常使用简单的比较运算符进行比较即可得出结论; 考虑下面的程序: #include <iostream> #include<cmath> #include <algorithm>int main() {int a {1};int b {2};std::cout << std::boolalpha;std::cout …...
Chrome_60.0.3112.113_x64 单文件版 下载
单文件,免安装,直接用~ Google Chrome, 免費下載. Google Chrome 60.0.3112.113: Chrome 是 Google 開發的網路瀏覽器。它的特點是速度快,功能多。 下载地址: https://blog.s3.sh.cn/thread-150-1-1.htmlhttps://blog.s3.sh.cn/thread-150-1-1.html...
《自动驾驶与机器人中的SLAM技术》ch1:自动驾驶
目录 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 L2 在技术实现上会更倾向于实时感知,乃至可以使用感知结果直接构建鸟瞰图(bird eye view, BEV),而 L4 则依赖离线地图。 高精地…...
httpx.AsyncClient报错ProxyError: 504 Gateway Time-out
## 场景: 同一个URL,用requests.get能正常获取网页内容,用httpx.get和httpx.AsyncClient.get就不行,要么就报超时,要么就报ProxyError: 504 Gateway Time-out import anyio, httpx, requestsurl https://my-domain.…...
常见的http状态码 + ResponseEntity
常见的http状态码 ResponseStatus(HttpStatus.CREATED) 是 Spring Framework 中的注解,用于指定 HTTP 响应状态码。 1. 基本说明 HttpStatus.CREATED 对应 HTTP 状态码 201表示请求成功且创建了新的资源通常用于 POST 请求的处理方法上 2. 使用场景和示例 基本…...
完全自定义Qt翻译功能,不使用Qt Linguist的.ts 和 .qm类型翻译
这篇文章展示了集成Qt Linguist 的功能。 但是有时候Qt的翻译功能比较繁琐,我们简单项目只需要使用本地化功能,将中文字符串导入到项目中,避免编码格式问题导致的乱码。 只需要使用一个简单的json或者其他格式的本地文件作为映射的key/value.…...
std::array
std::array 是 C 标准库中的一个容器,定义在 <array> 头文件中。它是一个固定大小的数组容器,封装了 C 风格数组,并提供了更多的功能和安全性。与 C 风格数组相比,std::array 具有以下优点: (1&#…...
Go语言中的接收器(Receiver)详解
在 Go 语言中,接收器(Receiver) 是指在方法声明中与方法绑定的对象。它是 Go 语言实现面向对象编程(OOP)特性的核心之一。接收器的作用是将方法绑定到某个类型的实例(值或者指针),让…...
linux下实现U盘和sd卡的自动挂载
linux下实现U盘和sd卡的自动挂载 Chapter0 linux下实现U盘和sd卡的自动挂载 Chapter0 linux下实现U盘和sd卡的自动挂载 原文链接:https://blog.csdn.net/EmSoftEn/article/details/45099699 目的:使U盘和SD卡在Linux系统中进行插入和拔除时能自动挂载和…...
TVS管工作原理及其选型
工作原理 当TVS管两端的方向电压大于一定值时,TVS会被反向击穿,瞬间形成一个导通回路,将大电流导出,从而将TVS两端的电压控制在一个固定电压,来保护与TVS管并联的电路。 单向&双向TVS工作特性曲线 Vrwm→反向导通…...
Web前端界面开发
前沿:介绍自适应和响应式布局 自适应布局:-----针对页面1个像素的变换而变化 就是我们上一个练习的效果 我们的页面效果,随着我们的屏幕大小而发生适配的效果(类似等比例) 如:rem适配 和 vw/vh适配 …...
预编译SQL
预编译SQL 预编译SQL是指在数据库应用程序中,SQL语句在执行之前已经通过某种机制(如预编译器)进行了解析、优化和准备,使得实际执行时可以直接使用优化后的执行计划,而不需要每次都重新解析和编译。这么说可能有一些抽…...
学英语学Elasticsearch:04 Elastic integrations 工具箱实现对第三方数据源的采集、存储、可视化,开箱即用
📢📢📢: 先看关键单词,再看英文,最后看中文总结,再回头看一遍英文原文,效果更佳!! 关键词 ingestion 摄取 /ɪnˈdʒɛstʃən/ observability 可观察性 …...
【开源免费】基于Vue和SpringBoot的城镇保障性住房管理系统(附论文)
本文项目编号 T 122 ,文末自助获取源码 \color{red}{T122,文末自助获取源码} T122,文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...
HTML和CSS相关的问题,为什么某些元素的字体无法加载?
当你在HTML和CSS中遇到字体无法加载的情况时,通常是由几个常见的问题引起的。以下是一些可能导致字体无法加载的原因,以及如何解决这些问题。 常见原因及解决方法 字体文件路径错误字体格式不兼容缺少字体的font-face声明字体加载顺序问题浏览器缓存问…...
[ Spring ] Install MongoDB on Ubuntu24
文章目录 Disable THP ServiceRemove File and Process Count LimitationEnable Swappiness for MongoDBInstall MongoDBEnable MongoDB ServiceCreate MongoDB Admin UserEnable MongoDB AuthenticationCreate a Normal DatabaseUpdate User RolesInsert DocumentUninstall Mo…...
【Block总结】掩码窗口自注意力 (M-WSA)
摘要 论文链接:https://arxiv.org/pdf/2404.07846 论文标题:Transformer-Based Blind-Spot Network for Self-Supervised Image Denoising Masked Window-Based Self-Attention (M-WSA) 是一种新颖的自注意力机制,旨在解决传统自注意力方法在…...
TensorFlow DAY3: 高阶 API(Keras)
TensorFlow 作为深度学习框架,当然是为了帮助我们更便捷地构建神经网络。所以,本次实验将会了解如何使用 TensorFlow 来构建神经网络,并学会 TensorFlow 构建神经网络的重要函数和方法。 知识点 Keras 顺序模型Keras 函数模型Keras 模型存储…...
【CSS】HTML页面定位CSS - position 属性 relative 、absolute、fixed 、sticky
目录 relative 相对定位 absolute 绝对定位 fixed 固定定位 sticky 粘性定位 position:relative 、absolute、fixed 、sticky (四选一) top:距离上面的像素 bottom:距离底部的像素 left:距离左边的像素…...
Spring中三级缓存详细讲解
1、Spring三级缓存是什么,过程是怎么样的? Spring 中的三级缓存主要用于单例 Bean 的生命周期管理,特别是在循环依赖时,它通过不同阶段暴露 Bean 实例来确保依赖注入的顺利完成。缓存的内容如下: 一级缓存 (singleton…...
美摄科技PC端视频编辑解决方案,为企业打造专属的高效创作平台
在当今这个信息爆炸的时代,视频已成为不可或缺的重要内容形式,美摄科技推出了PC端视频编辑解决方案的私有化部署服务,旨在为企业提供一款量身定制的高效创作平台。 一、全面功能,满足企业多样化需求 美摄科技的PC端视频编辑解决…...
转运机器人在物流仓储行业的优势特点
在智能制造与智慧物流的浪潮中,一款革命性的产品正悄然改变着行业的面貌——富唯智能转运机器人,它以卓越的智能科技与创新的设计理念,引领着物流领域步入一个全新的高效、智能、无人的时代。 一、解放双手,重塑物流生态 富唯智能…...
《探索鸿蒙Next上开发人工智能游戏应用的技术难点》
在科技飞速发展的当下,鸿蒙Next系统为应用开发带来了新的机遇与挑战,开发一款运行在鸿蒙Next上的人工智能游戏应用更是备受关注。以下是在开发过程中可能会遇到的一些技术难点: 鸿蒙Next系统适配性 多设备协同:鸿蒙Next的一大特色…...
25/1/12 算法笔记 剖析Yolov8底层逻辑
YOLOv8 是一种基于深度学习的目标检测和图像分割模型,属于 YOLO(You Only Look Once)系列的最新版本。YOLO 系列模型以其高效的实时目标检测能力而闻名,YOLOv8 在此基础上进行了一些优化和改进。 Yolov8的主要特点: …...
JavaScript,ES6,模块化,大程序文件拆分成小文件再组合起来
模块化 模块化是指将一个大的程序文件,拆分成许多小的文件,然后将小文件组合起来。 模块化的好处 模块化的优势有以下几点:1、防止命名冲突,2、代码复用,3、高维护性。 模块化规范产品,ES6 之前的模块化…...
物联网技术入门
在科技日新月异的今天,物联网(Internet of Things,简称IoT)技术正逐渐渗透到我们生活的方方面面,从智能家居到智慧城市,从工业制造到农业管理,物联网的应用无处不在。那么,什么是物联…...
sequelize-cli 多对多关系处理 及某一单项游戏根据成绩降序排名
一、生成模型 Game(游戏表)GameGrades(游戏成绩表)GameUser(用户表) 1.1 对非中间表 做多对多逻辑处理 Game模型 static associate(models) {// define association heremodels.GameUser.belongsToMany(models.Game, {through: models.GameGrade,fore…...
人工智能训练师 - 练习题三
一、单选题 201、在人工智能当中,图像、语音、手势等 识别被认为是()的层次;而问题求解、 创作、推理预测被认为是()的层次。A.感知智能,认知智能 B.认知智能,认知智能 C.感知智能,感知智能 D.认知智能,感知智能 202…...
【EI 会议征稿通知】第四届航空航天、空气动力学与机电工程国际学术会议(AAME 2025)
2025 4th International Conference on Aerospace, Aerodynamics and Mechatronics Engineering 重要信息 大会官网:www.ic-aame.org/ 大会时间:2025年4月11-13日 大会地点:中国-南昌 接受/拒稿通知:投稿后1周 收录检索&…...
uniApp通过xgplayer(西瓜播放器)接入视频实时监控
🚀 个人简介:某大型国企资深软件开发工程师,信息系统项目管理师、CSDN优质创作者、阿里云专家博主,华为云云享专家,分享前端后端相关技术与工作常见问题~ 💟 作 者:码喽的自我修养ǹ…...
STM32F103的ADC通道映射
ADC通道映射 STM32F103带3个ADC控制器,一共支持23个通道,包括21个外部和2个内部信号源。ADC1控制器最多有18个通道,包括16个外部和2个内部信号源。 ADC1和ADC2的16个外部通道相同,且ADC1和ADC2共用一个系统中断向量,A…...
深入了解OpenStack中的隧道网络
在OpenStack环境中,隧道网络是一项关键技术,它确保了虚拟机之间以及虚拟机与外部网络之间的安全通信。通过隧道机制,我们可以有效地隔离不同租户的流量,并支持多租户环境下的复杂网络需求。之前我们介绍了隧道网络,下面…...
【Rust】函数
目录 思维导图 1. 函数的基本概念 1.1 函数的定义 2. 参数的使用 2.1 单个参数的示例 2.2 多个参数的示例 3. 语句与表达式 3.1 语句与表达式的区别 3.2 示例 4. 带返回值的函数 4.1 返回值的示例 4.2 返回值与表达式 5. 错误处理 5.1 错误示例 思维导图 1. 函数…...
数据结构与算法之链表: LeetCode 19. 删除链表的倒数第 N 个结点 (Ts版)
删除链表的倒数第 N 个结点 https://leetcode.cn/problems/remove-nth-node-from-end-of-list/ 描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示…...
每天五分钟深度学习:神经网络中的激活函数
本文重点 激活函数在神经网络中是必不可以缺少的东西,当我们创建一个神经网络的时候,我们需要决定使用哪种激活函数用在隐藏层上,哪种激活函数用在输出结点上,我们以前的课程中我们使用的都是sigmoid激活函数,除此之外还有其它激活函数。本文我们就介绍一下那些经常使用的…...
腾讯云服务器Centos7.6新开或者迁移中java全部依赖环境准备(jdk+nginx+mysql+redis+nacos+kafka等)
1 安装java环境 https://blog.csdn.net/CleverCode/article/details/109160568 2 安装nginx ssl只用配置nacos和网关就可以了。 https://blog.csdn.net/CleverCode/article/details/145078807 3 安装mysql https://blog.csdn.net/CleverCode/article/details/128354479 4…...
半导体数据分析: 玩转WM-811K Wafermap 数据集(三) AI 机器学习
前面我们已经通过两篇文章,一起熟悉了WM-811K Wafermap 数据集,并对其中的一些数据进行了调用,生成了一些统计信息和图片。今天我们接着继续往前走。 半导体数据分析: 玩转WM-811K Wafermap 数据集(二) AI…...
逐笔成交逐笔委托Level2高频数据下载和分析:20250102
level2逐笔成交逐笔委托下载 链接: https://pan.baidu.com/s/1p7OOj5p-QGFrWkt6KKoYng?pwd7f4g 提取码: 7f4g Level2逐笔成交逐笔委托数据分享下载 通过Level2逐笔成交和逐笔委托这种每一笔的毫秒级别的数据可以分析出很多有用的点,包括主力意图,虚假动…...
python3GUI--大屏可视化-XX产业大数据指挥舱(附下载地址) By:PyQt5
文章目录 一.前言二.预览三.软件开发心得1.使用方法2.UI设计3.代码架构4.项目结构 四.代码片段分享1.图片平滑缩放组件2.滚动日志组件 五.心得体会 大小:35.0 M,软件安装包放在了这里! 本软件未…...
PHP 循环控制结构深度剖析:从基础到实战应用
PHP 循环控制结构深度剖析:从基础到实战应用 PHP提供了多种控制结构,其中循环控制结构是最常见的结构之一。它们使得我们能够高效地重复执行一段代码,直到满足某个条件为止。本文将从PHP循环的基础知识出发,逐步分析其在实际项目…...
【数据库】二、关系数据库
文章目录 二、关系数据库1 关系2 关系数据库3 完整性约束4 关系运算 二、关系数据库 1 关系 域:一组具有相同数据类型的值的集合。 笛卡尔积:所有域(域可相同)中所有取值的组合 例如:D1{1,2,3},D2{A,b}&…...
【cuda学习日记】2.2 使用2维网络(grid)和2维块(block)对矩阵进行求和
在2.0中进行了用一维网格和块对一维向量进行了求和。 在2.1中例化了二维的网格和块。 接下来进行2维网络(grid)和2维块(block)对矩阵进行求和。 #include <stdio.h> #include <stdlib.h> #include <time.h> #i…...