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

3D激光轮廓仪知识整理(待补充)

文章目录

  • 1.原理和应用场景
    • 1.1 相机原理
      • 1.1.1 测量原理
      • 1.1.2 相机激光器
      • 1.1.3 沙姆镜头
      • 1.1.4 相机标定
      • 1.1.5 中心线提取
    • 1.2 应用场景
      • 1.2.1 测量相关应用
      • 1.2.2 缺陷检测相关易用
  • 2.相机参数介绍及选型介绍
    • 2.1 成像原理
    • 2.2 原始图成像
    • 2.3 生成轮廓图
    • 2.4 相机规格参数
      • 2.4.1 单轮廓点数
      • 2.4.2 参考距离
      • 2.4.3 Z轴测量范围
      • 2.4.4 X轴测量范围
      • 2.4.5 Z轴分辨率
      • 2.4.6 Z轴重复精度
      • 2.4.7 Z轴线性度(±% of MR)
      • 2.4.8 轮廓数据间隔
      • 2.4.9 数据输出类型
      • 2.4.10 激光波长
      • 2.4.11 触发模式
      • 2.4.12 扫描帧率
      • 2.4.13 激光波长
    • 2.5 相机选型评估
      • 2.5.1 精度评估
      • 2.5.2 视场评估
      • 2.5.3 速度评估条件
      • 2.5.4 效率评估
      • 2.5.5 材质评估
      • 2.5.6 成像质量(噪点、空洞)
    • 2.6 多相机拼接
      • 2.6.1 相机上下对射场景
      • 2.6.2 双相机左右并列拼接
      • 2.6.3 双相机对向扫描拼接
  • 3.3D项目需求与评估规范
  • 4.系统标定
    • 4.1 直线标定
    • 4.2 静态标定
    • 4.3 动态标定
    • 4.4 旋转标定

1.原理和应用场景

1.1 相机原理

3D激光轮廓传感器是基于激光三角测量法来重建三维场景。向被测物表面投射激光,通过使用2D相机接收其反射光的变化,可以非接触式测量物体表面轮廓(截面形状)。通过被测物和轮廓仪间的相对运动,对连续获取的一组剖面轮廓高度数据来近似地重构出被测物的3D形状,实现高精度测量及检测。
在这里插入图片描述

1.1.1 测量原理

在这里插入图片描述

1.1.2 相机激光器

激光器由传统的柱面镜改为鲍威尔棱镜,将通过准直透镜的光线,产生亮度均匀的直线。
在这里插入图片描述

1.1.3 沙姆镜头

沙姆定律定义:当被摄体平面、影像平面、镜头平面这三个面的延长面相交于一直线时,即可得到全面清晰的影像。
在这里插入图片描述
在这里插入图片描述

1.1.4 相机标定

在这里插入图片描述

1.1.5 中心线提取

在这里插入图片描述

1.2 应用场景

1.2.1 测量相关应用

检测电池仓平整度、A级面共面度以及螺钉孔位浮高
在这里插入图片描述

1.2.2 缺陷检测相关易用

需要对Pin针歪斜、缺针、高度异常等情况进行检出。
在这里插入图片描述

2.相机参数介绍及选型介绍

2.1 成像原理

3D激光轮廓仪是基于激光三角测量法(laser triangulation)来重建三维场景。向被测物表面投射激光平面(光片,sheet of light) ,通过使用CMOS相机接收其反射光的变化,可以非接触方式测量高度、高度差、宽度等轮廓(截面形状)。
通过被测物和轮廓仪之间的相对运动,对连续获取的轮廓数据进行图像处理重构获得被测物的3D形状,实现高精度测量及检测。
在这里插入图片描述

2.2 原始图成像

不同于常规相机焦平面、镜头平面和像平面三个平面平行,轮廓仪的三者相交于同一条直线。通过沙姆角设计,扩展了测量景深,使得全测量范围清晰成像。
在这里插入图片描述

普通成像

在这里插入图片描述

沙姆成像

在这里插入图片描述

2.3 生成轮廓图

对于线激光三角测量来说,核心算法在于轮廓线中心点的提取,高鲁棒性的提取算法可以使传感器轻松应对各种复杂场景;
对一张原始图,遍历每列搜索,每列得到一个轮廓点,这些轮廓点构成一条轮廓线。
在这里插入图片描述

2.4 相机规格参数

2.4.1 单轮廓点数

指相机Sensor横向分辨率。
2K系列,单轮廓点数为2048个点 。
3K系列,单轮廓点数为3200个点。
4K系列,单轮廓点数为4096个点。

2.4.2 参考距离

推荐相机的架设高度(相机下端面到目标物表面的距离)
在这里插入图片描述

2.4.3 Z轴测量范围

Z轴(高度)方向上可测量的范围

2.4.4 X轴测量范围

即横向视场,X轴(宽度)方向上可测量的范围。

2.4.5 Z轴分辨率

相机在高度方向上的最高分辨能力,为亚像素分辨率。标注的近端到远端下的分辨率范围;在测量范围内,越靠近近端,Z方向分辨率越高。
在这里插入图片描述

2.4.6 Z轴重复精度

相机在参考距离高度下架设,激光线打在陶瓷平面,重复采集4096条原始轮廓数据(不进行滤波处理),每条轮廓都有一个平均z值。这些平均z值的最大值减去最小值得到重复精度;

2.4.7 Z轴线性度(±% of MR)

Z方向线性度是在整个测量范围内被测物的实际距离和测量距离之间的差值。该差值与测量范围的比例即称为直线性。 Z方向线性度指示传感器的绝对测量能力.
在这里插入图片描述

2.4.8 轮廓数据间隔

沿X轴激光线方向轮廓点的水平间隔,
轮廓数据间隔=测量处视场宽度÷单轮廓点数。
在这里插入图片描述

2.4.9 数据输出类型

原始图:由轮廓仪内集成的2D相机拍摄激光线的原始成像
在这里插入图片描述
轮廓数据:原始成像经过中心线提取算法所得到的单条点云数据。
在这里插入图片描述
点云数据:三维数据点的集合,其中每个数据点包含空间X,Y,Z信息。
在这里插入图片描述
深度图:包含深度信息的一张二维图像,深度图中每个像素的灰度值代表深度信息。
在这里插入图片描述
亮度图:包含激光线亮度信息的一张二维图像,亮度图中每个像素的灰度值代表亮度信息。
在这里插入图片描述

2.4.10 激光波长

激光是“电磁波”的一种,“电磁波”存在波长这一标准。激光波长一般为405nm和650nm两种波长,肉眼判断分别为蓝光和红光。
在这里插入图片描述

2.4.11 触发模式

触发模式分为软触发和硬件触发。
软触发:通过软件代码命令来触发相机拍照
硬触发:通过外部硬件的控制信号触发相机拍照

2.4.12 扫描帧率

扫描行频,相机每秒最高采集多少条剖面轮廓;标注全画幅下(最大测量范围下)的行频和通过缩小感兴趣区域(ROI)后可达的最高行频。

2.4.13 激光波长

根据激光产品对人体组织的危害机理以及造成的伤害程度,按照IEC 60825-1:2014 激光产品安全标准进行分类:将激光产品进行分类。
在这里插入图片描述

2.5 相机选型评估

2.5.1 精度评估

Z轴系统重复精度判断:
Z方向绝对误差一般为Z方向分辨率*(3-8)倍,以海康DP-2060-01H为例,绝对误差为7.5-24微米。最终乘以3-8倍,主要取决与机构精度,以及环境震动导致。

X/Y精度判断:
X方向绝对误差一般为轮廓间隔4-5倍,以DP-2120-01H远视场为例,绝对误差为188-236微米(受环境影响)。
在这里插入图片描述

2.5.2 视场评估

视场位置选择:
1、视场足够的条件下使用中间视场,即参考距离高度
2、精度要求高选择上1/3视场
3、视野要求大选择下1/3视场
4、切忌不要将激光线太贴近上下视场边缘(线性度差)

视场大小选择:
1、首先选取满足客户精度要求的相机,此时若视场不满足,即选择拼接。
2、若客户对于精度无要求,那么选取对应视野满足的相机即可。

2.5.3 速度评估条件

1、相机可达的最大帧率:在保证ROI可以包含被测物高度的前提下,查看相机可达到的上限帧率,一般取可达上限
帧率的90%作为当前最高帧率(为防止编码器波动或者速度波动造成的误差)
2、客户要求的Y方向图像分辨率:根据客户精度要求,确定Y方向分辨率Yscale,一般为客户绝对误差的1/3,
stepdistance(步进间距)一般等于Yscale(Y轴采样间距)
3、根据精度和可达的最大帧率确定最快速度:V=当前可达最大帧率*stepdistance

2.5.4 效率评估

检测效率≠V/被测物料长度,检测效率=V/周期长度,
周期长度=物料长度+物料间隔,CT时间=周期长度/V

2.5.5 材质评估

红光蓝光选择:蓝光相比红光精度更高.。
红色激光(传统机型): 传统机型使用红色激光,成像激光光束较粗,轮廓结果跳动较大,重复性较差。
蓝色激光: 蓝色激光成像更精细,轮廓结果更稳定,精度更高。
在这里插入图片描述
在这里插入图片描述

激光对比

针对某些黑色吸光材料时,合适的选择激光可以使成像效果更好。红色波长量子效率高,提高黑色物体响应率;下图为相同曝光参数下成像
在这里插入图片描述

2.5.6 成像质量(噪点、空洞)

重点关注扫描出来的图像与实际物体的还原程度对比,当还原程度较高时,成像较好,还原程度较低时,成像较差。
在这里插入图片描述

2.6 多相机拼接

2.6.1 相机上下对射场景

主要用来测量产品厚度
在这里插入图片描述

2.6.2 双相机左右并列拼接

适用条件:样品需要测试的面积过大,节拍要求高,单相机扫描拼接节拍无法达到要求,需要扩大X方向的视野。
在这里插入图片描述

2.6.3 双相机对向扫描拼接

适用条件:单相机扫描出图盲区过大,使有效区域无法显示。
在这里插入图片描述
各个拼接的结构布局都是在进行相对位移,要么相机静止,样品移动;要么样品静止,相机运动。

3.3D项目需求与评估规范

4.系统标定

4.1 直线标定

4.2 静态标定

4.3 动态标定

4.4 旋转标定

适用于转盘旋转的场景

相关文章:

3D激光轮廓仪知识整理(待补充)

文章目录 1.原理和应用场景1.1 相机原理1.1.1 测量原理1.1.2 相机激光器1.1.3 沙姆镜头1.1.4 相机标定1.1.5 中心线提取 1.2 应用场景1.2.1 测量相关应用1.2.2 缺陷检测相关易用 2.相机参数介绍及选型介绍2.1 成像原理2.2 原始图成像2.3 生成轮廓图2.4 相机规格参数2.4.1 单轮廓…...

算法思想之双指针

文章目录 双指针字符串序列判定字符串所有整数最小和服务交换接口失败率分析分披萨最多团队 双指针 双指针是指在解决问题时使用两个指针,通常分别指向数组或字符串中的不同位置,通过移动这两个指针来解决问题的一种技巧。双指针技巧常用于解决数组、链…...

Windows环境下PyCharm 配置miniforge

问题描述. 目前Anconda python 环境管理软件,已非常臃肿。为了替代该软件,可以使用miniforge软件来代替。 1. 安装windows miniforge软件 (1) 下载网站:https://github.com/conda-forge/miniforge?tabreadme-ov-file 从网址下载&#xff…...

C语言基础18

内容提要 构造类型 结构体 共用体/联合体 枚举 typedef 构造类型 数据类型 基本类型/基础类型 整型 短整型:short [int] -- 2字节 基本整型:int -- 4字节 长整型:long [int] -- 32位4字节/64位8字节 长长整型:long long…...

Docker部署Jenkins服务

文章目录 1.下载Jenkins服务2.部署Java21(可选)2.1 安装Java21 3.Maven3.9.9安装4.启动Jenkins5.初始化Jenkins5.1 入门5.2 安装推荐的插件5.3 创建第一个管理员用户5.4 实例配置5.5 Jenkins已就绪5.6 开始使用Jenkins5.7 重启Jenkins 6.配置Jenkins6.1 …...

【题解-Acwing】798. 差分矩阵

题目:798. 差分矩阵 题目描述 输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数 x1,y1,x2,y2,c,其中 (x1,y1)和 (x2,y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加…...

linux环境下的硬盘分区格式化工具介绍 fdisk,gdisk,parted,cfdisk,cgdisk,sfdisk,gparted 笔记250407

linux环境下的硬盘分区格式化工具介绍 fdisk,gdisk,parted,cfdisk,cgdisk,sfdisk,gparted 笔记250407 以下是 Linux 系统中常用的 硬盘分区与格式化工具,涵盖命令行和图形界面工具,按功能分类整理: 一、分区管理工具 1. 命令行工具 工具功能…...

Ubuntu 24.04 LTS系统安装RTX 4090显卡驱动和cuda并部署ollama下载DeepSeek模型【自用详细版】

自己捣鼓玩玩哈,正好有机子 1. 安装驱动前的系统配置工作 卸载原有驱动并禁用nouveau sudo apt remove --purge nvidia*sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.backup //备份文件sudo vim /etc/modprobe.d/blacklist.conf //修…...

FogFL: Fog-Assisted Federated Learning for Resource-Constrained IoT Devices

摘要 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 -在本文中,我们提出了一个支持雾的联邦学习框架–FogFL–来促进资源受限的物联网环境中延迟敏感应用的分布式学习。联邦学习(FL)是一种流行的分…...

音视频入门基础:RTCP专题(2)——RTCP协议简介(上)

一、引言 本文对RTCP协议进行简介。在简介之前,请各位先下载RTCP的官方文档《RFC 3550》。《RFC 3550》总共有89页。本文下面所说的“页数”是指在pdf阅读器中显示的页数: 二、RTCP协议简介 本段内容对应《RFC 3550》的第6节。根据《RFC 3550》第17页&…...

oklink js逆向(入口定位)

分析api请求,定位参数 X-Apikey 搜索关键字apikey,发现结果太多 结合搜索结果,搜索关键字 apikey(,只找到5个 断点后定位 可见使用了字符串混淆,所以搜索不到 x-apikey 还可以通过搜索 headers,追踪调用栈的…...

go原子操作和锁的区别是什么?

在Go语言中,原子操作和锁都是用于实现并发编程的同步机制,但它们的工作方式和适用场景有所不同。下面是它们的主要区别: 1. 原子操作(Atomic Operations) 定义:原子操作是一种不可分割的操作,…...

QtConcurrent

以下是 QtConcurrent 的一些常见用法示例&#xff1a; QtConcurrent::run QtConcurrent::run 是最常用的函数&#xff0c;用于在单独的线程中运行一个函数。 运行普通函数 #include <QtConcurrent> #include <QDebug> #include <QThread>void myFunction…...

Git 仓库在内网与 Gitee 间迁移及同步记录

Git 仓库在内网与 Gitee 间迁移及同步记录 在软件开发过程中&#xff0c;常常会遇到需要将代码仓库进行迁移或同步的情况。近期我就碰到了要把 Gitee 代码仓库移植到内网代码仓库&#xff0c;并且后续还得进行同步的需求。这里把整个过程记录下来&#xff0c;方便以后自己参考…...

如何保证mysql和redis的数据一致性

保证 MySQL 和 Redis 的数据一致性是分布式系统中常见的挑战&#xff0c;因为 Redis 作为缓存层&#xff0c;可能存在与底层数据库数据不一致的情况。以下是几种常用的方案及其优缺点对比&#xff1a; 1. 缓存更新策略 (1) Cache-Aside Pattern&#xff08;旁路缓存模式&#…...

Java学习——day23(反射的对象创建与方法调用)

文章目录 1. 使用反射实例化对象1.1 利用无参构造函数创建对象1.2利用带参构造函数创建对象 2.通过反射调用对象方法2.1 调用公共方法2.2 调用私有方法&#xff08;需设置访问权限&#xff09;3. 访问和修改对象的属性3.1 公共属性3.2 私有属性 4. 实践任务4.1工厂类 SimpleFac…...

遇到无法连接香港服务器可能是什么原因导致的呢

遇到无法连接香港服务器的情况时&#xff0c;别急着重启或联系客服&#xff0c;先搞清楚到底是哪里断了链条。问题可能出在服务器本身&#xff0c;也可能是你的本地网络、路由路径、DNS、甚至运营商的“干预”。以下是常见的几个可能原因&#xff0c;建议你可以逐一排查&#x…...

Python----计算机视觉处理(Opencv:道路检测完整版:透视变换,提取车道线,车道线拟合,车道线显示,)

Python----计算机视觉处理&#xff08;Opencv:道路检测之道路透视变换) Python----计算机视觉处理&#xff08;Opencv:道路检测之提取车道线&#xff09; Python----计算机视觉处理&#xff08;Opencv:道路检测之车道线拟合&#xff09; Python----计算机视觉处理&#xff0…...

javaweb自用笔记:Maven分模块设计与开发、Maven继承与聚合、Maven私服

Maven分模块设计与开发 Maven继承与聚合 继承 版本锁定 dependencies引入依赖&#xff0c;dependencyManagement不代表依赖被引入&#xff0c;如果要使用dependencyManagement下的依赖&#xff0c;还需要在dependencies里面定义 聚合 如果没有用聚合&#xff0c;将这个项目打…...

在PyCharm中出现 **全角字符与非英文符号混合输入** 的问题

在PyCharm中出现 全角字符与非英文符号混合输入 的问题&#xff08;如 &#xff11;&#xff12;&#xff14;&#xff13;&#xff14;&#xff15;&#xff44;&#xff46;&#xff53;&#xff04;&#xffe5;&#xff43;&#xff56;&#xff44;&#xff09;&#xff0…...

数字身份DID协议:如何用Solidity编写去中心化身份合约

本文提出基于以太坊的自主主权身份&#xff08;SSI&#xff09;实现方案&#xff0c;通过扩展ERC-734/ERC-735标准构建链上身份核心合约&#xff0c;支持可验证声明、多密钥轮换、属性隐私保护等特性。设计的三层架构体系将身份控制逻辑与数据存储分离&#xff0c;在测试网环境…...

Linux的RPM包管理详解

Linux的RPM包管理详解 引言 RPM&#xff08;Red Hat Package Manager&#xff09;是Linux系统中一种重要的软件包管理工具&#xff0c;它以“.rpm”为扩展名&#xff0c;广泛应用于基于Red Hat的Linux发行版&#xff0c;如CentOS、Fedora、openSUSE等。RPM包不仅简化了软件包…...

其它理论原则

ABC理论 假设&#xff08;Assumption&#xff09;影响行为&#xff08;Behavior&#xff09;&#xff0c;行为最终影响结果&#xff08;Consequence&#xff09;。 如果产品经理认为同事是一个不讲道理的人&#xff0c;那么产品经理在和他交流时就会产生抵触的行为&#xff0c…...

C++中的类和对象(上)

1 类的定义 1.1 类定义的格式 1 class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后面分号不能省 略》。类体中内容称为类的成员&#xff1a;类中的变量称为类的属性或成员变量; 类中的函数称为类的方法或者成员函数…...

LLaMA-Factory 数据集成从入门到精通

一、框架概述 LLaMA-Factory 框架通过Alpaca/Sharegpt双格式体系实现多任务适配&#xff0c;其中Alpaca专注结构化指令微调&#xff08;含SFT/DPO/预训练&#xff09;&#xff0c;Sharegpt支持多角色对话及多模态数据集成。核心配置依托 dataset_info.json 实现数据源映射、格…...

高级:JVM面试题深度剖析

一、引言 在Java技术面试中&#xff0c;JVM&#xff08;Java虚拟机&#xff09;相关知识是考察重点之一。深入理解JVM的内存模型、垃圾回收机制、类加载机制等&#xff0c;不仅能帮助开发者优化Java应用性能&#xff0c;还能在面试中展现深厚的技术功底。本文将针对这些高频知…...

Spring MVC 中 @ResponseBody 注解深度使用教程

一、注解核心作用 ResponseBody 是 Spring MVC 中处理 响应体内容 的核心注解&#xff0c;主要功能&#xff1a; 跳过视图解析器&#xff1a;直接返回数据而非视图名称自动数据转换&#xff1a;根据返回值类型自动转换响应格式&#xff08;JSON/XML/纯文本&#xff09;RESTfu…...

数据结构第一轮复习--第七章查找(包含课程代码)

基于数组实现顺序查找代码 //顺序查找的实现 typedef struct{ //查找表的数据结构&#xff08;顺序表&#xff09; ElemType *elem; //指向开辟的动态数组基址 &#xff08;起始地址&#xff09; int TableLen; //表的长度 }SSTable; //顺序查找 int Search_Seq(SSTable ST…...

Springboot JPA 集成ShardingSphere

Spring Boot集成JPA与ShardingSphere可通过以下步骤实现分库分表功能&#xff0c;需重点关注依赖配置、分片规则定义及JPA适配问题&#xff1a; 一、依赖配置 1‌. 引入核心依赖‌ 在pom.xml中添加ShardingSphere和JPA相关依赖&#xff1a; <!-- ShardingSphere JDBC --&…...

详细介绍javaspringboot操控redis的高级特性1. 事务支持2. 发布/订阅3. Pipeline批量操作

Spring Boot 对 Redis 的操作提供了丰富的高级特性&#xff0c;以下是对事务支持、发布 / 订阅、Pipeline 批量操作的详细介绍&#xff1a; 事务支持 原理&#xff1a;Redis 事务是一个单独的隔离操作&#xff0c;它可以包含多个命令&#xff0c;这些命令要么全部执行&#x…...

第一次3D打印,一个简单的小方块(Rhino)

一、建模 打开犀牛&#xff0c;我们选择立方体 我们点击上册的中心点 输入0&#xff0c;然后回车0 而后我们输长度&#xff1a;10&#xff0c;回车确认 同样的&#xff0c;宽度10 高度同样是10 回车确认后&#xff0c;我们得到一个正方形 二、导出模型 我们选择文件—>保存…...

数据分享:汽车测评数据

说明&#xff1a;如需数据可以直接到文章最后关注获取。 1.数据背景 Car Evaluation汽车测评数据集是一个经典的机器学习数据集&#xff0c;最初由 Marko Bohanec 和 Blaz Zupan 创建&#xff0c;并在 1997 年发表于论文 "Classifier learning from examples: Common …...

硬盘分区格式之GPT(GUID Partition Table)笔记250406

硬盘分区格式之GPT&#xff08;GUID Partition Table&#xff09;笔记250406 GPT&#xff08;GUID Partition Table&#xff09;硬盘分区格式详解 GPT&#xff08;GUID Partition Table&#xff09;是替代传统 MBR 的现代分区方案&#xff0c;专为 UEFI&#xff08;统一可扩展固…...

辉视智慧医院:以科技温度 重塑医疗未来新生态

大家是否想过&#xff0c;医院里的广播对讲系统也能变身‘智慧管家’&#xff1f;今天带您走进辉视智慧医院&#xff0c;看看他们如何用四大黑科技&#xff0c;让医患沟通更暖心、更高效&#xff01; 一、物联网技术&#xff1a;医疗设备‘开口说话’&#xff0c;广播系统秒变‘…...

Google 发布 Sec-Gemini v1:用 AI 重塑网络安全防御格局?

在网络威胁日益复杂化、自动化程度不断提高的今天&#xff0c;防御方常常感到力不从心。为了扭转这一局面&#xff0c;Google 近日迈出了重要一步&#xff0c;宣布推出专为网络安全领域量身打造的实验性 AI 模型——Sec-Gemini v1。该模型由 Google 内部的 Sec-Gemini 团队成员…...

Android 使用ninja加速编译的方法

ninja的简介 随着Android版本的更迭&#xff0c;makefile体系逐渐增多&#xff0c;导致make单编模块的时间越来越长&#xff0c;每次都需要半个小时甚至更长时间&#xff0c;其原因为每次make都会重新加载所有mk文件&#xff0c;再生成ninja编译&#xff0c;此完整过程十分耗时…...

windterm终端软件使用

windterm终端软件使用 下载安装包&#xff1a;https://github.com/kingToolbox/WindTerm/releases ssh连接&#xff1a; 可以复用vscode连接ssh信息 onekey 相当于服务器主机的用户名和密码 点击配置标签如Linux&#xff0c;输入用户名如root, identity file指定本地公钥&a…...

《操作系统真象还原》第六章——完善内核

文章目录 [toc]前言调用约定和混合编程调用约定混合编程 实现打印函数print.S显卡的端口控制实现单个字符打印put_char定义数据类型put_char编码修改内核main.c验证put_char 实现字符串打印put_str 结语 前言 学完上一章后&#xff0c;我们已经完成了一个操作系统最基本的三个…...

上海餐饮市场数据分析与可视化

上海作为中国的经济中心和国际化大都市,其餐饮市场具有高度的多样性和竞争性。随着消费者需求的不断变化,餐饮行业的从业者和投资者需要深入了解市场现状和趋势,以便制定更有效的商业策略。本文将通过数据分析和可视化技术,深入探讨上海餐饮市场的现状和趋势,为餐饮从业者…...

不花钱也能玩GPT-4o,国内可用

家人们&#xff01;最近GPT-4o生图功能真的离谱到不真实&#xff0c;各种吉卜力、宫崎骏、3D风格等刷爆小红书。 由于只有GPT官网&#xff0c;只有Plus用户才能用&#xff0c;很多小伙伴们都没有机会体验过GPT&#xff0c;本期就分享一个国内也能直接玩的方法。 第一步&#x…...

ResNet改进(22):提升特征选择能力的卷积神经网络SKNet

在计算机视觉领域,残差网络(ResNet)一直是图像分类任务中的经典架构。本文将介绍一种改进版的ResNet18,它融合了选择性核(SK)机制,能够自适应地调整不同感受野的特征权重,从而提升模型性能。下面我们将详细解析这个实现代码。 一、代码概述 这个Python脚本实现了一个带有S…...

实战代码:esp32-cam按钮控制手机拍照V1.0

#include <WiFi.h> #include <HTTPClient.h> // WiFi设置 const char* ssid “MIFI-020806-2.4G”; const char* password “12345678”; // 静态IP配置 IPAddress staticIP(192, 168, 1, 32); // 设置为固定IP IPAddress gateway(192, 168, 1, 1); // 网关地址…...

Base64是密码吗?编码与加密的本质区别

&#xff08;本文完全由deepseek生成&#xff0c;特此声明&#xff01;&#xff09;‌ 引言&#xff1a;一个让开发者“翻车”的经典误区‌ 我们常看到类似这样的提问&#xff1a; “我用Base64加密了用户的密码&#xff0c;为什么还是被黑客破解了&#xff1f;” “Base64解…...

原理图输出网表及调入

一、输出网表操作步骤 &#xff08;1&#xff09;选中.dsn文件&#xff0c;选者N或进入tools下拉列表选择Creat Netlists &#xff08;2&#xff09;导出网表后的文件 二、网表的导入 &#xff08;1&#xff09;执行菜单命令“File-Import-Logic/netlist”&#xff0c;将原理…...

C++ 模板的应用——智能指针、STL库

#include "head.h" #include <stdio.h> using namespace std;void registerUser(vector<string>& number,vector<string>& passwd){string username;string Passwd;cout << "请输入账号:" << endl;cin >> use…...

基于层次建模与交叉注意力融合的医学视觉问答系统(HiCA-VQA)详解

论文地址:https://arxiv.org/pdf/2504.03135 一、论文结构概述 这篇论文提出了一种针对医学视觉问答(Medical Visual Question Answering, Med-VQA)的层次化建模框架 ​HiCA-VQA,旨在解决现有方法在层次化语义建模和跨模态融合上的不足。以下是论文的核心结构: ​引言 介…...

比较与分析敏捷开发方法:XP、Scrum、FDD等的特点与适用场景

目录 前言1. 极限编程 (XP)1.1 极限编程的核心特点1.2 极限编程的适用场景 2. Scrum2.1 Scrum的核心特点2.2 Scrum的适用场景 3. 水晶方法 (Crystal)3.1 水晶方法的核心特点3.2 水晶方法的适用场景 4. 特征驱动开发 (FDD)4.1 特征驱动开发的核心特点4.2 特征驱动开发的适用场景…...

ICMP 协议深度解析

ICMP 协议深度解析 一、协议定位与核心作用 ICMP&#xff08;互联网控制报文协议&#xff09;是IP协议体系的"哨兵系统"&#xff0c;专用于网络状态监控与异常反馈。其核心价值体现在&#xff1a; 轻量级控制&#xff1a;仅传递关键状态信息&#xff0c;不承载业务…...

C语言基础20

内容提要 预处理 库文件 预处理 C语言编译步骤 预处理 编译 汇编 链接 什么是预处理 预处理就是在源文件&#xff08;.c文件&#xff09;编译之前&#xff0c;所进行的一部分预备操作&#xff0c;这部分操作是由预处理程序自动完成。当源文件在编译时&#xff0c;编译…...

conda常用命令

要查看使用conda创建的虚拟环境&#xff0c;可以按照以下步骤操作&#xff1a; 打开终端或命令行工具&#xff1a;确保你已经打开了终端或命令行界面&#xff0c;以便输入conda命令。 输入命令查看环境列表&#xff1a; 使用以下任一命令查看conda创建的虚拟环境&#xff1a…...