相机模数转换
模拟图像是什么?
模拟图像是指连续变化的图像,它通常来源于现实世界的物理场景,并通过光学系统(如相机镜头)投射到感光介质上。模拟图像是连续的,这意味着它在空间和颜色值上都有无穷的细节。例如,模拟图像中的亮度和色彩信息随着位置的变化而变化,并且没有离散化。
在拍摄照片时,模拟图像通常指的是通过相机感光元件(如CCD或CMOS传感器)捕获的光学图像,这些图像反映了场景中的光强度、颜色、纹理等细节信息。传感器上的光电二极管将光信号转化为电信号,这些电信号是模拟信号。
模拟图像的特点
- 连续性:模拟图像具有连续的空间和亮度信息。空间连续意味着图像中没有离散的像素或点,颜色和亮度值可以在一个连续的范围内变化。
- 无限分辨率:模拟图像的分辨率理论上是无限的,因为它们没有固定的像素网格。
- 数据量大:由于是连续的信号,模拟图像包含的数据量非常庞大,尤其是当图像的尺寸和颜色深度增加时。
- 受噪声影响:模拟图像在传输和存储过程中可能受到噪声的影响,噪声通常表现为图像中的随机亮度或颜色变化。
模拟图像转换为数字图像的原理
数字图像是对模拟图像进行离散化的结果。这个转换过程通常包括两个主要步骤:采样(Sampling)和量化(Quantization)。
1. 采样(Sampling)
采样是指从连续的模拟图像中选取有限数量的离散样本。相机的传感器(如CCD或CMOS)本质上就是一个在空间上均匀分布的像素阵列。每个像素的值代表了在该位置处的光强度。传感器通过将图像区域划分为一个个离散的小块来执行采样。
采样过程实际上是将模拟图像的空间坐标(x, y)离散化成离散的像素位置(i, j),并为每个像素位置分配一个光强度值。例如,图像的采样间隔越小(像素越密),图像的空间分辨率就越高。
2. 量化(Quantization)
量化是指将每个采样点的模拟值(通常是连续的光强度值)映射到一个有限的离散值集合中。量化的目的是将每个采样点的光强度值转换为计算机可以表示的数字值,通常是一个整数或有限的浮动值。
数字图像的亮度和颜色通常由位深度来表示。例如,对于灰度图像,常见的量化方式是将亮度值映射到 0 到 255 的整数范围内,这样每个像素可以用 8 位(1字节)来表示。对于彩色图像,常见的量化方式是将红、绿、蓝三个颜色通道的亮度分别量化到 256 个离散值,从而使用每个通道 8 位,总共使用 24 位来表示每个像素。
模拟图像到数字图像的转换过程
-
模拟信号转换为电信号:光信号通过镜头进入相机,照射在图像传感器(如CMOS或CCD)上。传感器将光信号转换为电信号,电信号是模拟的,表示图像中每个点的光强度。
-
采样:图像传感器将模拟信号的空间信息转换为一组离散的采样点,每个采样点对应于传感器上的一个像素。
-
量化:每个采样点的模拟电信号会被量化为离散的数值,通常是一个整数,表示该点的亮度值或颜色值。量化的精度由图像的位深度决定。
-
数字化输出:量化后的数据以数字形式存储或传输。这些数字值构成了数字图像的每个像素值。
如何提高数字图像的分辨率
提高数字图像的分辨率意味着增加图像中像素的数量,使得每个像素更细致地表示场景的细节。在从模拟图像到数字图像的过程中,分辨率的提高可以通过以下方式实现:
1. 增加传感器的像素数量(空间分辨率)
-
增加传感器的像素数:如果相机的传感器有更多的像素,它能够捕获更多的细节,因此数字图像的空间分辨率会更高。例如,如果传感器是一个 1000 x 1000 像素的阵列,图像分辨率为 1MP(百万像素)。如果增加像素数到 4000 x 3000,图像分辨率为 12MP,能够捕捉更多细节。
-
增加传感器尺寸:同样的像素数如果分布在更大的传感器上,每个像素的物理尺寸也会增大,这可能会改善低光环境下的表现,同时提供更高的动态范围。
2. 使用插值算法提高分辨率
如果在图像采集后需要提高分辨率(例如,放大图像),可以使用插值算法进行像素的插补。常见的插值方法包括:
- 最近邻插值(Nearest Neighbor Interpolation):这种方法直接复制最近的像素值,不生成新信息,简单但可能导致像素化。
- 双线性插值(Bilinear Interpolation):基于周围四个像素的加权平均值来插值,生成较为平滑的结果。
- 双三次插值(Bicubic Interpolation):考虑更大范围的像素(16个相邻像素),提供更平滑的插值效果,常用于高质量的图像放大。
3. 超分辨率技术
超分辨率(Super-Resolution) 是一种利用多个低分辨率图像合成或重建出更高分辨率图像的技术。超分辨率可以通过多个方法实现,如:
- 基于机器学习的方法:例如,使用卷积神经网络(CNN)来学习从低分辨率图像到高分辨率图像的映射。
- 多帧超分辨率:通过将多张低分辨率图像对齐,然后合成出一张更高分辨率的图像。
这些方法不仅依赖于传统的插值,还能利用场景的细节信息来重建图像中的细节。
总结
从模拟图像转换到数字图像的过程包括采样和量化步骤,其中采样将图像的空间信息离散化为像素,而量化将每个像素的光强度或颜色值映射为有限的数字值。在提升数字图像分辨率方面,可以通过增加传感器像素数、使用插值算法或应用超分辨率技术来提高图像的细节表现。
光学成像→传感器捕捉→模拟信号→ADC转换(量化)→数字信号处理→编码存储。因此,量化发生在ADC转换的阶段,功能是将模拟信号转换为离散数值,便于计算机处理和存储。
相机从成像到输出图片的流程大致如下:
-
光学成像:光线通过镜头聚焦到图像传感器(如 CMOS 或 CCD)上。
-
光电转换:传感器将光信号转换为电信号(模拟信号)。
-
模数转换(ADC):量化在此处发生,将连续的模拟电信号转换为离散的数字值。
-
数字信号处理:对量化后的数字信号进行降噪、色彩插值、白平衡调整等处理。
-
编码存储:将处理后的数据编码为 JPEG、RAW 等格式并存储。
关键步骤说明:
-
传感器(如 CMOS)的每个像素点接收光信号后,产生一个与光强成正比的电压(模拟信号)。
-
模数转换器(ADC)将每个像素的电压值映射为一个离散的数字值(如 0-255 的整数),这一步即为量化。
-
例如,在 8 位量化深度下,传感器输出的连续电压范围被划分为 28=25628=256 个离散等级,每个等级对应一个数字值。
量化的功能
-
将模拟信号离散化
-
自然界的光信号是连续的,而计算机只能处理离散的数字值。量化将连续的模拟信号(如电压)转换为有限的离散值,使图像可被数字化存储和处理。
-
-
决定图像的色彩和亮度精度
-
**量化深度(Bit Depth)**决定了每个像素的颜色或亮度值的精度。例如:
-
8 位量化:每个颜色通道(R/G/B)有 256 个等级,适用于普通 JPEG 图像。
-
12/14 位量化:常见于专业相机的 RAW 格式,保留更多细节,便于后期处理。
-
-
量化深度越高,图像细节越丰富,但数据量也越大。
-
-
减少数据量
-
通过限制离散值的数量,量化减少了图像文件的大小。例如:
-
8 位灰度图像每个像素占 1 字节,而 24 位真彩色图像每个像素占 3 字节(R/G/B 各 8 位)。
-
-
-
引入量化误差
-
量化是近似过程,会丢失部分信息(称为量化误差)。例如:
-
低量化深度可能导致色阶断裂(Color Banding),尤其是在渐变区域(如天空)。
-
-
量化对图像质量的影响
-
高量化深度(如 12/14 位):
-
保留更多细节,适合专业摄影和后期处理。
-
RAW 格式使用高量化深度,避免在后期调整时因数据丢失产生噪点。
-
-
低量化深度(如 8 位):
-
文件体积小,适合网络传输和存储。
-
可能导致细节丢失,尤其在暗部或高光区域。
-
实际示例:相机的量化过程
假设一个 CMOS 传感器的输出电压范围为 0-5V:
-
量化深度为 8 位:将 0-5V 划分为 256 个等级,每级对应约 0.0195V(5V/256≈0.0195V5V/256≈0.0195V)。
-
若某像素的电压为 2.5V,则量化为 2.5/0.0195≈1282.5/0.0195≈128(十进制值)。
-
-
量化深度为 12 位:将 0-5V 划分为 4096 个等级,每级对应约 0.0012V(5V/4096≈0.0012V5V/4096≈0.0012V)。
-
同样的 2.5V 电压会量化为 2.5/0.0012≈20482.5/0.0012≈2048(十进制值)。
-
高量化深度能更精确地记录光强差异,减少后期处理中的信息损失。
相机模数转换后的数字信号处理(DSP,Digital Signal Processing)是指将从相机传感器中获取的模拟信号通过模数转换(ADC,Analog-to-Digital Conversion)转化为数字信号后,进行的一系列处理操作。这些操作的目的是为了提升图像质量,提取有用信息,或者为后续的分析、识别任务准备数据。
1. 图像采集与模数转换
相机传感器(如CMOS或CCD)将光信号转化为电信号。这个电信号是模拟信号,在进行后续处理之前需要经过模数转换(ADC),将其转化为数字信号。这个过程中,模拟信号的幅度被离散化为固定的数值,通常用二进制表示。
2. 数字信号处理的主要步骤
一旦获得了数字信号,后续的信号处理通常包括以下几个主要步骤:
2.1 去噪(Noise Reduction)
图像中常常会包含各种噪声,来源包括传感器噪声、环境光、拍摄条件等。去噪技术在数字信号处理中至关重要,常见的去噪方法有:
- 空间滤波:如均值滤波、Gaussian滤波、中值滤波等。
- 频域滤波:通过傅里叶变换,将图像从空间域转化为频域,去除高频噪声。
- 小波变换:用于多尺度去噪,能够更好地保留图像的细节。
2.2 白平衡(White Balance)
由于不同光源的色温不同,图像的颜色可能会偏蓝或偏红。白平衡的作用是通过调整图像的红绿蓝通道的增益,使图像看起来更接近人眼所见的自然色彩。
2.3 色彩空间转换(Color Space Conversion)
不同的色彩空间(如RGB、HSV、YCbCr等)适用于不同的处理任务。例如:
- RGB到HSV的转换:常用于颜色提取和图像分割。
- RGB到YCbCr的转换:常用于图像压缩和视频处理。
2.4 伽马校正(Gamma Correction)
图像传感器的感光度和人眼的亮度感知并不呈线性关系,因此需要进行伽马校正,将图像的亮度调整到一个适合显示设备的范围。伽马校正主要是通过对图像的像素值进行非线性变换来提高图像的视觉效果。
2.5 锐化与增强(Sharpening & Enhancement)
图像可能会因为多种原因(如镜头模糊或传感器限制)变得模糊。锐化操作通过强调图像的边缘和细节来提高其视觉清晰度。常见的锐化方法有:
- 拉普拉斯锐化:增强边缘信息。
- 高通滤波:保留图像中的高频成分,去除低频信息。
此外,图像增强技术可以通过对比度增强、亮度调整等手段,提升图像的视觉效果。
2.6 几何变换(Geometric Transformation)
几何变换用于对图像进行平移、旋转、缩放等操作,常用于图像校正、拼接等应用。常见的几何变换包括:
- 旋转:改变图像的方向。
- 裁剪:选择图像中的一个感兴趣区域(ROI)。
- 透视变换:校正相机拍摄角度引起的畸变。
2.7 边缘检测(Edge Detection)
边缘检测是图像分析中的重要步骤,它能够有效地提取图像中的物体轮廓。常用的边缘检测方法有:
- Sobel算子:通过计算图像灰度值的梯度,来检测图像的边缘。
- Canny边缘检测:通过多级筛选和抑制噪声来提取更精确的边缘。
2.8 图像分割(Image Segmentation)
图像分割是将图像分成若干个区域,以便对图像中的物体进行分析。常见的图像分割技术有:
- 阈值分割:基于灰度值进行简单的图像分割。
- 区域生长:从一个种子点开始,逐步扩展区域。
- 基于图像的深度学习分割:如U-Net等网络,用于复杂的语义分割任务。
2.9 图像压缩(Image Compression)
图像压缩可以减小图像的存储和传输大小,通常分为有损压缩和无损压缩:
- JPEG:有损压缩,适合大多数应用。
- PNG:无损压缩,适合需要保留完整图像质量的场合。
- HEIF:用于视频和图像的高效压缩,尤其是在高动态范围图像(HDR)处理中应用广泛。
2.10 特征提取(Feature Extraction)
特征提取是从图像中提取关键信息的过程,这些特征可以是:
- 边缘特征:如Canny边缘或Sobel梯度。
- 角点特征:如Harris角点检测。
- 纹理特征:如灰度共生矩阵(GLCM)等。
2.11 物体检测与识别(Object Detection & Recognition)
物体检测是检测图像中某些特定物体的位置和类别。常用的检测方法有:
- Haar特征分类器:经典的物体检测方法。
- 基于深度学习的检测方法:如YOLO(You Only Look Once)、Faster R-CNN、SSD(Single Shot Multibox Detector)等。
3. 后处理
在完成了上述处理步骤之后,图像通常会进一步处理,如:
- 滤波与平滑:为了去除因图像处理带来的伪影或噪声。
- 特征匹配与跟踪:在视频中,通常需要对物体进行跟踪,以便进行动态分析。
- 数据增强:在机器学习任务中,图像的随机旋转、缩放、翻转等操作常用于增强数据集。
总结
数字信号处理在相机图像处理中是至关重要的一环,它涵盖了从去噪、增强、校正、特征提取到最终的物体检测等多个步骤。每一步都有其独特的作用,旨在提高图像的质量,去除干扰,增强图像的关键信息,以便进行后续的分析和处理。
DSP(Digital Signal Processing) 和 ISP(Image Signal Processing) 都是在数字信号处理中涉及的技术领域,但它们的应用侧重点和处理对象有所不同。下面是它们的详细解释:
1. DSP(Digital Signal Processing)数字信号处理
数字信号处理(DSP)是指对数字信号进行的数学运算和处理,目的是提取信号中的有用信息、去除噪声、增强信号质量等。DSP的应用范围非常广泛,除了图像处理,还可以应用于音频处理、视频处理、通信、雷达、医疗信号处理等领域。
DSP的常见操作:
- 滤波:用来去除信号中的噪声,增强信号的质量。比如低通滤波器、带通滤波器等。
- 傅里叶变换:通过傅里叶变换将信号从时域转换到频域,进行频率分析和滤波。
- 卷积运算:广泛应用于图像处理、音频处理等领域,进行模糊、锐化、特征提取等操作。
- 抽样和量化:在模拟信号转为数字信号的过程中进行,涉及到如何对模拟信号进行适当的抽样(取样)和量化(离散化)。
应用示例:音频处理中的降噪、雷达信号的滤波、无线通信中的调制解调等。
2. ISP(Image Signal Processing)图像信号处理
图像信号处理(ISP)是数字信号处理的一部分,专门用于处理图像传感器输出的原始数据(通常是模拟信号转化后的数字信号)。ISP主要集中在提高图像质量、增强细节、去除噪声、校正颜色等方面。ISP通常用于相机、智能手机、数字相机等设备中,以便对传感器捕获的图像信号进行优化。
ISP的常见操作:
- 去噪:减少图像中的噪声,特别是在低光环境下拍摄时,去噪技术至关重要。
- 白平衡:调整图像的色温,使得图像的颜色看起来更自然。
- 伽马校正:调整图像的亮度和对比度,使其更适合显示设备的视觉特性。
- 锐化与增强:改善图像的清晰度,强调图像的细节。
- 色彩校正:根据传感器的特性调整色彩,使其更加准确。
- 动态范围压缩(DRC):在强光或暗光环境中,压缩或扩展图像的亮度范围,确保细节得到保留。
- 镜头畸变校正:通过算法校正由于镜头造成的图像畸变,如桶形畸变或枕形畸变。
应用示例:智能手机、相机中的图像处理,如自动对焦、夜景模式、HDR(高动态范围)成像等。
3. DSP与ISP的关系与区别
- 关系:ISP是DSP的一个应用领域,专注于图像信号的处理。简言之,ISP是数字信号处理中的一类专门应用,专门解决与图像质量优化相关的问题。
- 区别:
- 应用范围:DSP的应用更广泛,涉及音频、视频、雷达等领域,而ISP专注于图像处理。
- 处理目标:DSP主要目标是对信号进行数学处理和优化,而ISP则侧重于图像从传感器到最终显示或保存的质量优化,通常包括去噪、色彩校正、对比度增强等任务。
总结:
- DSP 是广泛的数字信号处理领域,涵盖音频、视频、图像等各类信号的处理。
- ISP 是专门针对图像信号进行处理的技术,通常用于相机和图像处理设备中,主要解决图像的质量提升和优化问题。
简单来说,ISP可以看作是DSP在图像处理领域中的具体应用。
相关文章:
相机模数转换
模拟图像是什么? 模拟图像是指连续变化的图像,它通常来源于现实世界的物理场景,并通过光学系统(如相机镜头)投射到感光介质上。模拟图像是连续的,这意味着它在空间和颜色值上都有无穷的细节。例如…...
mysql大数据量分页查询
一、什么是MySQL大数据量分页查? MySQL大数据量分页查是指在使用MySQL数据库时,将大量数据分成多个较小的部分进行显示,以提高查询效率和用户体验。分页查询通常用于网页或应用程序中,以便用户能够逐步浏览结果集。 二、为什…...
组织结构改革:激活企业活力的 “源头活水”
难以适应市场变化、内部沟通与协作不畅、决策效率低下、运营成本增加、人才流失严重、员工士气下降、战略目标难以实现……企业如何根据市场环境变化和自身发展需求,灵活调整组织框架,赋能企业的持续健康发展? 某国有投资建设集团旗下的二级…...
金融风控项目-1
文章目录 一. 案例背景介绍二. 代码实现1. 加载数据2. 数据处理3. 查询 三. 业务解读 一. 案例背景介绍 通过对业务数据分析了解信贷业务状况 数据集说明 从开源数据改造而来,基本反映真实业务数据销售,客服可以忽略账单周期,放款日期账单金…...
Java常用设计模式面试题总结(内容详细,简单易懂)
设计模式的分类 创建型模式:通过隐藏对象创建的细节,避免直接使用 new 关键字实例化对象,从而使程序在判断和创建对象时更具灵活性。常见的模式包括: 工厂模式抽象工厂模式单例模式建造者模式原型模式 结构型模式:通…...
【Elasticsearch】文本分析Text analysis概述
文本分析概述 文本分析使 Elasticsearch 能够执行全文搜索,搜索结果会返回所有相关的结果,而不仅仅是完全匹配的结果。 如果你搜索“Quick fox jumps”,你可能希望找到包含“A quick brown fox jumps over the lazy dog”的文档,…...
ATF系统安全从入门到精通
CSDN学院课程连接:https://edu.csdn.net/course/detail/39573...
C# 上位机--变量
C# 上位机--变量 在 C# 上位机开发领域,变量是构建程序逻辑的基础元素之一。它就像是一个容器,用于存储各种类型的数据,从简单的数值到复杂的对象。正确理解和使用变量,对于开发出高效、稳定且易于维护的上位机程序至关重要。本文…...
π 的奥秘:如何用有理数逼近无理数?
本文将围绕有理数、无理数、连续统以及它们之间的深刻联系展开讨论,并结合具体的数学理论如康托尔区间套定理、戴德金分割、柯西施瓦茨不等式等,进行简要探讨 由于本文并未深入探讨,可能存在部分不严谨的地方,也欢迎各位进行纠正…...
LeetCode --- 436周赛
题目列表 3446. 按对角线进行矩阵排序 3447. 将元素分配给有约束条件的组 3448. 统计可以被最后一个数位整除的子字符串数目 3449. 最大化游戏分数的最小值 一、按对角线进行矩阵排序 直接模拟,遍历每一个斜对角线,获取斜对角线上的数字,排…...
绘制中国平安股价的交互式 K 线图
在本文中,探索如何使用 Python 的强大库进行股市数据分析与可视化。我们将以中国平安(股票代码:sh601318)为例,展示如何获取其股票数据,并绘制一张交互式 K 线图。 K 线图是股市分析中不可或缺的工具,它能够直观地显示股票的波动情况,包括开盘价、收盘价、最高价和最低…...
【ISO 14229-1:2023 UDS诊断全量测试用例清单系列:第二节】
ISO 14229-1:2023 UDS诊断服务测试用例全解析(ECU复位0x11服务) 作者:车端域控测试工程师 更新日期:2025-02-12 关键词:UDS诊断协议、ECU复位服务、0x11服务、ISO 14229-1:2023 二、ECU复位服务(0x11服务&…...
Unity URP的2D光照简介
官网工程,包括2d光照,动画,动效介绍: https://unity.com/cn/blog/games/happy-harvest-demo-latest-2d-techniques https://docs.unity3d.com/6000.0/Documentation/Manual/urp/Lights-2D-intro.html 人物脸部光照细节和脚上的阴影…...
自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑
如果你的预算是 3万元人民币,希望训练和微调 7B 参数规模的人工智能大模型(如 LLaMA、Mistral 等),你需要一台高性能的深度学习工作站。在这个预算范围内,以下是推荐的配置: 1. 关键硬件配置 (1) GPU (显卡…...
shell脚本自动安装MySQL8
环境:centos7版本:8.0.28安装包:mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz 二进制包要求:安装包和shell脚本在同一目录下执行方式:sudo ./install_mysql8.sh #!/bin/bash# 定义MySQL安装目录和压缩包名称MYSQL_DIR…...
使用亚马逊针对 PyTorch 和 MinIO 的 S3 连接器进行模型检查点处理
2023 年 11 月,Amazon 宣布推出适用于 PyTorch 的 S3 连接器。适用于 PyTorch 的 Amazon S3 连接器提供了专为 S3 对象存储构建的 PyTorch 数据集基元(数据集和数据加载器)的实现。它支持用于随机数据访问模式的地图样式数据集和用于流式处理…...
DeepAR:一种用于时间序列预测的深度学习模型
介绍 DeepAR是一种基于递归神经网络(RNN)的时间序列预测模型,由亚马逊在2017年提出。它特别适用于处理多变量时间序列数据,并能够生成概率预测。DeepAR通过联合训练多个相关时间序列来提高预测性能,从而在实际应用中表…...
【无标题】《On Java中文版基础卷+进阶卷》书评
Java语言作为最热门的编程语言之一,关于Java语言的书更是数不胜数,而我选择这本《On Java中文版基础卷进阶卷》作为我学习Java语言的工具书。这本书的作者是《Java编程思想》的Bruce Eckel,《Java编程思想》在之前可谓是鼎鼎有名,…...
【鸿蒙开发】第二十九章 Stage模型-应用上下文Context、进程、线程
目录 1 Stage模型基本概念 1.1 开发流程 3 应用上下文Context的典型使用场景 3.1 获取应用文件路径 3.2 获取和修改加密分区 3.3 获取本应用中其他Module的Context 3.4 订阅进程内UIAbility生命周期变化 4 进程 4.1 概述 5 线程 5.1 线程类型 5.2 使用EventHub进行线…...
AI-Engine-Direct-Helper 快速上手及环境配置
AI-Engine-Direct-Helper 是一个强大的工具,旨在简化和加速在 Qualcomm 平台上开发 AI 应用的过程。通过提供统一的 API、跨平台支持和高效的执行性能,它为开发者提供了一个灵活且高效的开发环境。如果您正在使用 Qualcomm 平台进行 AI 开发,…...
网络安全产品架构图 网络安全相关产品
一、信息安全产品分类 背景 美国将网络和信息安全产品分了9类:鉴别、访问控制、入侵检测、防火墙、公钥基础设施、恶意程序代码防护、漏洞扫描、取证、介质清理或擦除。中国公安部将网络和信息安全产品分了7类:操作系统安全、数据库安全、网络安全、病毒…...
日常知识点之面试后反思裸写string类
1:实现一个字符串类。 简单汇总 最简单的方案,使用一个字符串指针,以及实际字符串长度即可。 参考stl的实现,为了提升string的性能,实际上单纯的字符串指针和实际长度是不够了,如上,有优化方案…...
Linux(socket网络编程)TCP连接
Linux(socket网络编程)TCP连接 基础文件目录函数系统进程控制函数fork()exec系列函数void abort(void)void assert(int expression)void exit(int status)void _exit(int status)int atexit(void (*func)(void))int on_exit(void (*function)(int,void*)…...
深入 JVM 虚拟机:字符串常量池演变与 intern() 方法工作原理解析
🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template 🌺 仓库主页: GitCode︱ Gitee ︱ Github 💖 欢迎点赞 👍 收藏 ⭐评论 📝 如有错误敬请纠正! 前言 在 Java 开发中,字符串常量池(String Constant…...
从零开始学习人工智能
从零开始学习人工智能可以按照以下步骤进行: 一、了解人工智能的基本概念 学习内容:了解人工智能的定义、发展历程、主要研究方向(如机器学习、深度学习、自然语言处理、计算机视觉等)、常见应用(如语音识别、图像识别…...
解锁电商数据宝藏:淘宝商品详情API实战指南
在电商蓬勃发展的今天,数据已成为驱动业务增长的核心引擎。对于商家、开发者以及数据分析师而言,获取精准、实时的商品数据至关重要。而淘宝,作为国内最大的电商平台,其海量商品数据更是蕴含着巨大的价值。 本文将带你深入探索淘…...
Gui-Guider1.8.1 数字时钟控件找不到定义,无法编译
我们在Gui-Guider中使用的一些控件,生成后会发现在LVGL源码中找不到该控件的定义,这时因为Gui-Guider中的一些控件是其自己编写的而不是LVGL提供的,那么我们该如何应用呢?这里拿Digital Clock数字时钟控件举例: 这里我…...
多模态模型详解
多模态模型是什么 多模态模型是一种能够处理和理解多种数据类型(如文本、图像、音频、视频等)的机器学习模型,通过融合不同模态的信息来提升任务的性能。其核心在于利用不同模态之间的互补性,增强模型的鲁棒性和准确性。 如何融合…...
Unity3D实现显示模型线框(shader)
系列文章目录 unity工具 文章目录 系列文章目录👉前言👉一、效果展示👉二、第一种方式👉二、第二种方式👉壁纸分享👉总结👉前言 在 Unity 中显示物体线框主要基于图形渲染管线和特定的渲染模式。 要显示物体的线框,通常有两种常见的方法:一种是利用内置的渲染…...
【实测】用全志A733平板搭建一个端侧Deepseek算力平台
随着DeepSeek 的蒸馏技术的横空出世,端侧 SoC 芯片上运行大模型成为可能。那么端侧芯片跑大模型的效果如何呢?本文将在全志 A733 芯片平台上部署一个 DeepSeek-R1:1.5B 模型,并进行实测效果展示。 端侧平台环境 设备:全志A733平板…...
新数据结构(7)——Object
Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。 equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。 和equa…...
数据结构-栈和队列的应用
目录 前言一、栈的应用(迷宫问题)1.1 问题描述1.2 算法选择1.3 算法精化1.4 算法实现1.5 问题结果 二、队列的应用(农夫过河问题)2.1 问题描述2.2 算法选择2.3 算法精化2.4 算法实现2.5 问题结果 总结 前言 本篇文章使用两个例子…...
【JavaScript】异步编程汇总
异步编程解决方案: 回调函数PromiseGeneratorawait / async 回调函数 回调函数是早期处理异步编程的主要方式,虽然它本身存在很多的缺陷,比如那个时候对于复杂的异步处理常常会出现回调地狱。 但是因为 JavaScript 中当时并没有很好的API来帮…...
【AI系列】从零开始学习大模型GPT (2)- Build a Large Language Model (From Scratch)
前序文章 【AI系列】从零开始学习大模型GPT (1)- Build a Large Language Model (From Scratch) Build a Large Language Model 背景第1章:理解大型语言模型第2章:处理文本数据第3章:编码Attention机制什么是Attention机制?Attention机制的基本原理数学表示应用总结为什么要…...
动态规划——路径问题②
文章目录 931. 下降路径最小和算法原理代码实现 64. 最小路径和算法原理代码实现 174. 地下城游戏算法原理代码实现 931. 下降路径最小和 题目链接:931. 下降路径最小和 算法原理 状态表示: 经验题目要求:dp[i][j]表示到达[i,j]位置时&…...
【每日关注】科技圈重要动态
时代新动态 2025 年 2 月 12 日科技圈重要动态总结全球 AI 治理新进展巴黎 AI 宣言签署,美英缺席 科技巨头合作与竞争苹果联姻阿里开发中国版AI功能DeepSeek生态持续扩展OpenAI拒绝马斯克收购,矛盾公开化 汽车行业动态小米汽车销量跃居新势力第二比亚迪智…...
Postgresql的三种备份方式_postgresql备份
这种方式可以在数据库正在使用的时候进行完整一致的备份,并不阻塞其它用户对数据库的访问。它会产生一个脚本文件,里面包含备份开始时,已创建的各种数据库对象的SQL语句和每个表中的数据。可以使用数据库提供的工具pg_dumpall和pg_dump来进行…...
Linux 配置 MySQL 定时自动备份到另一台服务器
Linux 配置 MySQL 定时自动备份到另一台服务器这里写自定义目录标题 前言1、配置服务器通信1.1:配置过程 2、编写自动备份sh脚本文件3:设置定时自动执行 前言 此方案可使一台服务器上的 MySQL 中的所有数据库每天 0 点自动转储为 .sql 文件,…...
CCF-GESP 等级考试 2024年6月认证C++二级真题解析
2024年6月真题 一、单选题(每题2分,共30分) 正确答案:C 考察知识点:计算机基础与编程环境 解析:CCF 组织的 GESP 认证考试第 1 级可选择的认证语言有 Scratch、Python、C ,共 3 种。答案为C。 …...
vm虚拟机的一些操作命令
PowerShell命令 // 获取虚拟机列表: get-vm // 创建虚拟机: new-vm -Name "BrioDev75" -MemoryStartupBytes 16GB -Path "D:\Hyper-V" // 删除虚拟机: remove-vm -Name "BrioDev75" -Force (-Force参数是…...
sql难点
一、 假设你有一个查询,需要根据 id 是否为 null 来动态生成 SQL 条件: xml复制 <select id"getResources" resultType"Resource">SELECT * FROM resources<where><if test"id ! null">and id <!…...
【多模态大模型】系列1:Transformer Encoder——ViLT、ALBEF、VLMO
目录 1 ViLT2 ALBEF3 VLMO 1 ViLT ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision 图文多模态任务,关键是提取视觉特征和文本特征,然后对齐。在之前的多模态研究工作中,视觉侧通常需要一个目标检测器来…...
2.4 测试数据与初始化
测试数据与初始化 在 Spring Test 中,合理管理测试数据的初始化和清理是保证测试可靠性的关键。本章将介绍多种数据准备方式,涵盖 SQL 脚本执行、编程式初始化 和 动态数据生成,并提供最佳实践示例。 1. 使用 Sql 执行 SQL 脚本 作用 在测…...
DataBase【MySQL基础夯实使用说明(中)】
MySQL数据库 🏆当领导问你忙不忙,您怎么回复? 🔔要让领导知道你很忙,但是你的事情紧急,我可以优先处理! 文章目录 MySQL数据库前言一、SQL(Structured Query Language)1…...
Unity3D Shader 简析:变体与缓存详解
引言 在 Unity3D 中,Shader 是渲染管线的核心部分,负责控制物体的外观和材质表现。Shader 的变体(Variants)和缓存机制是优化渲染性能的关键。本文将深入探讨 Unity3D 中 Shader 变体的概念、缓存机制以及如何通过代码实现和管理…...
vuex基础介绍
/store/index.js import Vue from vue import Vuex from vuexVue.use(Vuex)/*** 创建并导出一个 Vuex 仓库实例* 仓库是一个存储应用所有状态的容器,并且提供了修改和获取状态的方法*/ export default new Vuex.Store({// state 是一个对象,用于存储应…...
OpenWRT中常说的LuCI是什么——LuCI介绍(一)
我相信每个玩openwrt的小伙伴都或多或少看到过luci这个东西,但luci到底是什么东西,可能还不够清楚,今天就趁机来介绍下,openwrt中的luci,到底是个什么东西。 什么是LuCI? 首先,LuCI是OpenWRT中…...
singleTaskAndroid的Activity启动模式知识点总结
一. 前提知识 1.1. 任务栈知识 二. Activity启动模式的学习 2.1 standard 2.2 singleTop 2.3.singleTask 2.4.singleInstance 引言: Activity作为四大组件之一,也可以说Activity是其中最重要的一个组件,其负责调节APP的视图ÿ…...
DeepSeek-V3 技术报告
1.摘要 为了减少开源模型与闭源模型的能力差距,我们提出了DeepSeek-V3,一个大的混合专家模型(Mixture-of-Experts (MoE) ),有6710亿参数,每个token会激活370亿参数。 DeepSeek-V3采用多头隐注意力…...
Vue 3 30天精进之旅:Day 22 - 构建和部署
欢迎回来!在我们的Vue 3学习旅程的第22天,我们将探讨应用的构建和部署。在完成了我们的应用开发后,下一步就是如何将其部署到服务器,使得用户可以访问。 1. 构建Vue应用 构建Vue应用是将我们在本地开发的代码打包成生产环境可用…...