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

网站建设优化服务信息/餐饮营销方案100例

网站建设优化服务信息,餐饮营销方案100例,企业网站的分类,wordpress调用html代码将自然界中的真实场景转换为屏幕上显示出来的图像,往往需要经过两个主要的步骤:第一个是通过摄影设备,将外界的光信息转换为图像信息存储起来,本质上是存储为数字信号;第二个是通过显示设备,将图像信息转换…

将自然界中的真实场景转换为屏幕上显示出来的图像,往往需要经过两个主要的步骤:第一个是通过摄影设备,将外界的光信息转换为图像信息存储起来,本质上是存储为数字信号;第二个是通过显示设备,将图像信息转换为屏幕输出的光信息。 下图展示了从拍摄到现实的电视信号链。在整个过程中,信息流要经过两个重要的非线性映射,才能形成我们在显示设备上看到的图像。其中,相机的非线性映射通常称为光电转换函数( OETF),而显示端的显示器的非线性映射通常称为电光转换函数( EOTF)。通常, OETF 和 EOTF 并不是互逆关系。显示端的 EOTF 往往还包括代表创作者渲染意图的光光转换函数( OOTF),其对观看者在较暗环境下在显示器上观看带来的心理视觉影响进行了修正。
在这里插入图片描述
在图像获取,存储与显示操作的发展过程中,前面提到的光电转换函数与电光转换函数也经历了多次的发展。

在整个发展过程中,最具有指导意义的是 Gamma 校正,这是一种在传统的 LDR 显示设备上被广泛使用的转换函数。这一章,我们将从 Gamma 校正开始,通过对 Gamma 校正的介绍,解释清楚光电转换与电光转换函数的理论依据与在实际场景中是如何应用的。最后,我们再把目光转移到 HDR 领域上,来介绍在 HDR 领域中,如何设计新的光电转换函数与电光转换函数,来实现 HDR 图像的显示。

1、Gamma 校正

在最前面必须要强调的是,视觉是人类的主观感受,因此,人眼看到的,感受到的,和自然界中的实际情况与场景可能存在误差。一个最简单的例子就是人眼感受到的,均匀变化的亮度,在自然界中的实际亮度却并不是均匀变化的。这种视觉特性,就是 Gamma校正产生的原因。人们需要对自然界的亮度进行非线性的映射,才能使人类感受到自然界中的实际景象。

1.1 韦伯定律

在详细介绍 Gamma 校正之前,需要先简单了解一个概念:韦伯定律。韦伯定律实际上是一个心理学上的定律。

韦伯定律是用来描述外界刺激的改变与人类感知的改变之间关系的定律,它的公式如下:
∆ Φ ⁄ Φ = 𝐾 ∆Φ⁄Φ = 𝐾 ∆Φ⁄Φ=K
其中∆Φ表示此时的差别阈值,是指人类能够感觉到外界刺激出现改变所需的最小改变量。 Φ表示原刺激量, K 为常数。

简而言之,韦伯定律告诉我们,差别阈值与原刺激量成正比关系。也就是说,外界刺激本身越大,差别阈值就越大。

仔细分析一下韦伯定律能够从中发现,人类对于外界刺激的感知并不是线性的。并非当外界刺激强度为 1 时,人类感觉到的强度是 1;外界刺激强度为 2 时,人类感觉到的强度为 2;外界刺激强度为 3 时,人类感觉到的强度就为 3。实际上,人类的感知与外界的实际刺激之间是一种非线性的关系。从韦伯定律的式子中我们可以发现,当原刺激越大时,由于比例关系,差别阈值也就越大。也就是说,当外界的刺激强度越大时,想让人类能够感知到外界的刺激发生了变化的所需变化量,就越大。所以人类的感知从1 到 2 再到 3 时,所需的变化量是倍数关系的增加,可能外界刺激强度为 1 时,人类感知为 1,刺激强度为 3 时,人类感知为 2,刺激强度为 7 时,人类感知到的强度才为 3。

举一个现实中的例子就能够更好的理解。在一个黑暗的房间中,点燃一根蜡烛,将让人感知到巨大的亮度改变。而如果房间中有 99 根蜡烛,再点燃一根蜡烛人类可能根本感觉不到有所差别。所以,如果想要让人类感知到同样程度的亮度改变,所需的蜡烛数量可能是成百上千根才行。

1.2 Gamma 校正

根据韦伯定律,我们能够知道人类对于外界刺激的感知是非线性的,人眼对于亮度的感知由此可知,也是非线性的。下面,我们首先介绍人眼对于亮度的实际感受情况,然后以此为基础,介绍 Gamma 校正的相关内容。
在这里插入图片描述
经过一系列实验的测定,人们发现人类能够感知到的连续亮度谱如上图所示。也就是说,如果比上图更加精细,则没有必要,因为人眼无法识别;而如果比上图粗糙,则人眼能够感觉到间断。接着,将最左边纯黑编号为“ 0.0”,最右端纯白编号为“ 1.0”,中间定义为中灰“ 0.5”。这就形成了人眼的亮度谱。

但是,上图中的亮度在自然界中并不是同样成比例的,例如图中的中灰,对应自然界中的亮度是纯白的 20%。

将人眼的亮度谱与自然界中的实际亮度进行建模,就可以得到下面的图像:
在这里插入图片描述
从上图可以发现,纵轴上是人眼感受的均匀灰阶,而横轴是自然界中线性增长的亮度,它们之间是一种非线性映射的关系。在低亮度区域,人眼的敏感性较高,因此自然界中很小的亮度范围,都能够被人眼察觉;在高亮度范围,人眼的敏感度较低,因此自然界中的大范围的亮度变化,在人眼感知上却并不大。通过经验以及实验,人们发现可以使用幂函数来拟合这种非线性的映射,用公式表示如下:
Font metrics not found for font: .
其中 X 是使用 0-1 之间的实数表示的输入亮度, Y 是使用 0-1 之间实数表示的输出亮度, 𝛾为认为设定的参数,不同的𝛾选择会产生不同的效果。这种通过调整𝛾的取值,来调整输入输出亮度之间映射关系的方式,我们称之为 gamma 校正。
在这里插入图片描述
根据𝛾取值的不同,通过上图,我们能够发现 gamma 校正的不同效果:

  1. 当𝛾 < 1时,曲线上凸,输出值大于输入值。
  2. 当𝛾 = 1时,曲线为一条直线,输入与输出相等,不进行校正
  3. 当𝛾 > 1时,曲线下凸,输出值小于输入值

1.3 Gamma 校正与图像显示

在传统的图像获取与显示过程中,将自然界中的真实场景转换为屏幕上显示出来的图像,往往需要经过两个主要的步骤:第一个是通过摄影设备,将外界的光信息转换为三维数组存储起来,也就是存储为图像信息,这一过程如前所述,需要通过光电转换函数进行非线性映射;第二个是通过显示设备,将图像信息转换为屏幕输出的光信息,同样,这一过程需要电光转换函数的参与。在这两个阶段中,光电转换函数与电光转换函数实际上都是幂函数,也就是都进行 Gamma 校正。
在这里插入图片描述
首先,因为图像中的每个像素的取值在 0-255 之间,因此先进行归一化,将 0-255这 256 个数线性映射到 0-1 之间。

接着,在图像获取阶段,摄像机中会使用一种 encoding gamma 函数进行 gamma 校正,这里的 gamma 值小于 1。自然界中的亮度,首先在摄像机中进行归一化,映射到 0-1 之间,接着,将这个经过了归一化的值输入 encoding gamma 函数中。最后将 encodinggamma 函数的输出值与 0-255 的像素值归一化结果进行比较,就能得到这个像素点的像素值。

显示阶段的 gamma 校正通常使用一种 display gamma 函数来完成,这里的 gamma 值大于 1。 显示设备读取像素值后,进行归一化,然后将归一化结果输入 display gamma函数中。将输出的值对应的自然光线进行输出,就是显示阶段做的工作。

理论上来说,上述两个阶段的 gamma 值乘积应该为 1。因为两个 gamma 校正实际上做的是恰好相反的操作,一个是将自然光线存储为数字信息,另一个是将数字信息转换为光线。而为了使自然中的光线与显示设备产生的光线一致,显然这里的 gamma 值的乘积需要为 1。但是,在实际操作中,这两个 gamma 值的乘积并不为 1,原因有一下两点:

  1. 对于传统显示设备来说,屏幕能够显示的亮度范围与颜色范围与实际情况相差好几个数量级;

  2. 在真实的场景中,原始的场景填充了观察者的所有视野,而显示设备的亮度往往只局限在一个被周围环境包围的屏幕上。

这两个差别使得感知对比度相较于原始场景明显下降了。

为了中和这种现象,所以我们需要的保证显示的亮度结果在感知上和原始场景是一致的两个 gamma 的乘积并不是 1,而是经过试验得到的其他值。在电影院这种漆黑的环境中,这个乘积为 1.5,在明亮的室内这个值为 1.125。 个人电脑使用的一个标准叫sRGB,它使用的 encoding gamma 大约是 0.45(也就是 1/2.2)。这个值就是为了配合display gamma 为 2.5 的设备工作的。这样, end-to-end gamma 就是 0.45 * 2.5 =1.125 了。

1.4 Gamma 校正的意义

按照上一节所说,两段 gamma 校正实际上是一对逆过程,一个将光信息转化为数字信息,一个将数字信息转化为光信息。因此,按照常理来说,并不需要进行这样复杂的非线性映射,只需要将归一化之后的光信息记录下来,然后再让显示设备进行输出即可。从这种角度来说, gamma 校正是一个不必要的操作。

这是一个合理的质疑。问题的根源是在存储的位宽上,如果存储位宽足够大,显然可以使用上述归一化记录方式进行处理,但是,实际生产与应用中的位宽是有限的。在传统的图像存储与显示标准中,一个像素点有三个通道,而每个通道只有 8 位。这也就意味着,图像的灰阶极其有限,与真实世界相比,差了很多个数量级。因此,想要在有限的灰阶上表现出近似于自然界的亮度,就需要对灰阶的分配进行设计,这也是 Gamma校正的意义。
在这里插入图片描述
由于人类感知的“中灰”,在实际的自然光线中对应于白光的 20%的亮度。因此,如果完全按照自然光线的数值进行灰度处理,纯黑到中灰这一段在人类感知中占到一半的灰度,将只能由 20%的灰阶进行表示,而剩下的一半会有 80%的灰阶进行表示,这显然是不合理的。 Gamma 校正就可以解决这个问题。

在实际操作中,中灰对应的自然光线,显然会被映射为 0.5 的取值,也就对应 128这一灰阶。这样的结果就是高亮度与低亮度部分分别占有一半的灰阶,这就会使得显示的图像的直观感受更接近于现实。

因此, gamma 校正实际上是用来解决显示设备亮度灰阶不足的问题的。如果将图像存储的编码位宽扩大到 32 位,也就是能完全包含自然界亮度范围的时候,自然就不再需要进行 gamma 校正了,这种情况下,只需要将自然光线的亮度值记录下来,然后对应输出即可。但是,使用 32 位位宽来存储图像过于“奢侈”,因此 gamma 校正在实际生活中起到了广泛而巨大的作用。

2、HDR 技术中的光电转换

前面提到的传统的 Gamma 校正方式,是针对传统 CRT 显示设备与 LDR 图像设计的,对应的标准是 BT.1886 标准。而 BT.1886 标准规定的的峰值亮度仅为 100nits,它与传统 CRT 设备的显示能力相一致。目前的大多数显示设备的显示能力早已突破 100nits 的限制,普通的消费级显示器的亮度一般在 200nits 至 500nits,商业级的监视器亮度可以达到 1000nits 至 2000nits,实验室级别的监视器甚至可以高达 4000nits 至20000nits。

同时,现代数字运动图像传感器能够捕获动态范围到 80dB 或者比特深度达到 14bit的线性视频信号。 由于实践和历史原因,大多数专业视频制作系统都采用 10 比特,而消费者级别的视频和计算机图形学通常采用 8 比特。在 HDR 技术中,通常采用 10 比特或 12 比特。

由于显示设备的亮度范围得到了提升,同时图像的编码深度也得到了提升,因此传统的 Gamma 校正显然已经不适用于 HDR 技术的光电转换过程。如果强行使用 Gamma 校正进行转换,会在图像与视频中出现明显的分块与分环的情况。

针对上述问题,为了提高显示效果,不同的组织采用了不同的方式进行处理,其中最重要的两种光电转换曲线是: PQ 曲线以及 HLG 曲线。

2.1 PQ 曲线

为了研究人类视觉系统及喜好,杜比进行了一系列的用户实验,以确定新的 HDR 技术标准以及新的光电转换曲线。

第一个实验室确定新的显示亮度范围。该实验使用一个 2K 的数字电影放映机投影到一个 21 英寸的单色 LCD 面板上,形成一个高对比度的显示器,峰值亮度可以达到20000 尼特,最小黑电平可以达到 0.004 尼特,色域为 DCI-P3。测试序列共有三个序列集:一个用于检测黑色电平,一个用于检测白色电平,还有一个用于检测高亮电平。实验中观察者处在光线较暗的影院环境下(暗室),位于距离显示设备屏幕高度三倍远的地方。实验结果如下所示,根据实验结果,在亮度范围为 0-10000nits 时,各种信号水平的用户喜好度均超过了 84%,因此 Dolby 提出的 PQ EOTF 曲线决定使用 0-10000nits作为支持的显示亮度范围。
在这里插入图片描述
由于 8 比特的位深限制了使用更宽广的动态范围,因此需要定义新的 OETF 曲线为视频制作和传输提供更高的动态范围。 Dolby 实验室提出了新的 OETF 曲线,称为 PQ 曲线,目前已经被标准化为 SMPTE ST 2084。

Dolby 提出的 PQ EOTF 的表达式为,它基于 Barten 的 CSF 模型:
Y = L ( V 1 / m − c 1 c 2 − c 3 V 1 / m ) 1 ⁄ 𝑛 Y = L \bigg(\frac{V^{1/m} - c_1}{c_2 - c_3V^{1/m}}\bigg)^{1⁄𝑛} Y=L(c2c3V1/mV1/mc1)1⁄n
其中:
0 ≤ V ≤ 1 , L = 1000 , m = 2523 4096 × 128 = 78.8438 , 𝑛 = 2610 4096 × ( 1 / 4 ) = 0.1593 , 0 ≤ V ≤ 1, L = 1000, m = \frac{2523}{4096}× 128 = 78.8438, 𝑛 = \frac{2610}{4096}×(1/4)= 0.1593, 0V1L=1000m=40962523×128=78.8438n=40962610×(1/4)=0.1593

c 1 = 3424 / 4096 = 0.8359 , c 2 = 2413 / 4096 × 32 = 18.8516 , c 3 = 2392 / 4096 × 32 = 18.6875 。 c_1 = 3424/4096= 0.8359, c_2 = 2413/4096 × 32 = 18.8516, c_3 = 2392/4096 × 32 = 18.6875。 c1=3424/4096=0.8359c2=2413/4096×32=18.8516c3=2392/4096×32=18.6875
在这里插入图片描述

2.1.1 PQ 曲线的优势

Barten Ramp 作为一般图像的共同阈值,大量实验结果显示, Barten 斜坡曲线规定了不同亮度水平下,不出现可见量化误差的最小对比度步长的上界,也就是允许的最大量化步长。当在这条曲线之下时,编码图像可以实现平滑渐变;而当超过这个临界值,也就是在 Barten 斜坡曲线之上时,会出现人眼可察觉的条带效应等量化失真( banding/contouring)。 Barten Ramp 曲线表明,在低亮度区域,人眼的视觉灵明度较低,因此可以分配较少的比特数进行编码;而人眼的视觉灵敏度在高亮度区域非常灵敏,因此编码时需要分配更多的比特数。新的 EOTF 的选择不仅要满足上述特征,还要尽可能的拟合或者贴近 Barten 曲线。这样不仅能够满足人眼视觉特性需求,不会造成量化失真,同时也能够有效利用有限的编码比特数。
在这里插入图片描述
为使用尽可能少的比特数表示尽可能多的信息,必须要确定不造成量化误差的最小比特数。如下图所示,当使用量化精度为 10 比特,值为 2.4 的 gamma 曲线时,其低于10nits 的亮度区域均处于 Barten Ramp 曲线之上,会造成轻微的量化误差,并且其峰值亮度最大只能为 100nits。因此,新的 EOTF 曲线不能使用 10 比特的 gamma 曲线。当使用量化精度为 15nits 的 gamma 曲线时,整条曲线都在 Barten Ramp 之下,不会造成量化误差,峰值亮度可以达到 10000nits。但需要面临的另一个问题是, 15 比特的 gamma曲线会浪费太多的比特数在高亮度区域。除此之外,目前的视频传输和处理系统绝大多数都是基于 10 比特进行操作的,采用 15bitsde gamma 编码不仅带来传输压力,还需要对市场上大部分的视频传输和制作系统进行更新换代。
在这里插入图片描述
如下图所示,如果使用 13 比特的对数曲线时,与 gamma 曲线相反,又会在低亮度区域分配更多的比特数。同时可以看到,用于 HDR 图片存储的 16 比特的 OpenEXR 对应曲线在 Barten 阈值之下,不会造成可见量化误差。当采用 12 比特的 PQ 曲线作为新的EOTF 时,由下图可以看出,其很好地拟合了 Barten Ramp,因此不仅符合了人眼视觉系统地特性,而且充分的利用有限的比特数进行高效合理的编码。
在这里插入图片描述
下边两张图展示了不同亮度水平下分别采用 Gamma 曲线和 PQ EOTF 进行编码的编码字的利用率。纵轴使用百分比作为度量, 100%对应的峰值亮度为 10000nits。 Gamma2.4编码在图像亮度范围为 0-0.01nits 的部分几乎不分配编码字,图像阴影部分分配的编码字也非常少。并且,随着峰值亮度的增加,其在大多数物体所在的亮度范围内以及白光范围内分配的编码字逐渐减少;而使用 PQ 编码,不同峰值亮度水平下很暗的部分( 0-0.01nits)以及阴影部分的细节处都分配了一定的编码字。但是在峰值亮度变化时,亮度范围 1-1000nits 的范围分配的编码字差值很小。
在这里插入图片描述
在这里插入图片描述

2.2 HLG 曲线

另外一种与 PQ 相对应的适用于 HDR 的光电转换函数是 HLG( Hybrid-Log Gamma)。与 PQ 的不同在于, PQ 是一种绝对的映射,亮度值与编码是绝对的一一映射,而 HLG 是一种相对的映射。

为了增加高光部分的对比度,通常会对 Rec.709 OETF 曲线加入一个拐点,如下图所示。当拐点位置在 85%的参考白电平,最大曝光可以改善为原来的 5 倍。这种方法虽然改变了最大曝光,但是由于拐点位置并没有标准化过,而且对相机调校的要求很高,所以这种方法实现起来还是有一定困难。另外, Rec.709 标准中的 gamma 曲线主要是使噪声在不同的亮度水平下表现一致。
在这里插入图片描述
根据韦伯定律,图像中的高亮区域的感知量化的阈值基本是恒定的一个常数。因此,在图像的高亮区域使用对数形式的 OETF 能够利用给定的比特数获得最大的动态范围。而在图像的暗部,如德维斯-罗斯定律所定义的,当亮度逐渐变小时,可见量化误差会越来越明显。因此,低亮度区域部分的 OETF 可以考虑使用 gamma 曲线,因为 gamma 曲线非常符合德维斯-罗斯定律的约束。综上所述,当动态范围增加时,一个理想的 OETF应当由两部分组成:低光部分使用传统的 gamma 曲线;而高亮区域使用对数形式的 OETF。这样就形成了新的可用于更高动态范围的 HLG OETF 曲线
W e b e r F r a c t i o n = 1 N ⋅ L d L d V = γ N 1 L 1 / γ Weber Fraction = \frac{1}{N \cdot L} \frac{dL}{dV} = \frac{\gamma}{N} \frac{1}{L^{1/\gamma}} WeberFraction=NL1dVdL=NγL1/γ1
其中 L 为显示亮度, V 为信号电平值, N 为亮化水平(对于 8 比特的视频 N=220;对于 10 比特的视频 N=876)

HLG(Hybrid-Log Gamma),是由 BBC 和 NHK 提出的一种新的标准,规定了输入端的光电转换特性( OETF) ——Hybrid-Log Gamma 曲线,目前已被日本电波产业协会( ARIB)采纳为 ARIB STD-B67 标准。 HLG 曲线分为两段,在线性光亮度较小时,其与 SDR 的 gamma曲线重合,当亮度较高时,其曲线呈现对数特性。在输出端, EOTF 定义为加入了系统gamma 和亮度调整的 OETF 的逆。支持 10 比特量化和最大亮度 4000nit。

HLG 曲线的数学表达式如下:
E ′ = { r E , 0 ≤ E ≤ 1 a ln ⁡ ( E − b ) + c , 1 < E E^{\prime} = \begin{cases} r\sqrt{E},0 \leq E \leq 1 \\ a\ln{(E-b)} + c, 1 < E \end{cases} E={rE ,0E1aln(Eb)+c,1<E
其中, E’是电平信号, E 表征光照强度。变量 r 为参考电平,一般取 0.5。 a、 b、c 均为常量,其值分别为 0.17883277、 0.28466892、 55991073。
在这里插入图片描述
在拍摄端使用 HLG OETF,那么在显示端需要定义对应的 EOTF 才能更好的再现场景。为了很好的适配 HLG OETF,相应的 EOTF 应当满足以下条件:( 1)保留创作者的渲染意图;( 2)能够适配从黑电平到峰值白电平的整个动态范围;( 3)减小量化误差。因此,相应的 EOTF 定义为:
Y d = α Y s γ + β Y_d = \alpha {Y_s}^{\gamma} + \beta Yd=αYsγ+β

其中Yd 为显示面板的显示亮度; Ys 表示场景的相对亮度; r 表示系统 gamma 值,取值大小与观看环境相关;而参数 阿尔法和 贝塔 分别控制对比度和亮度,它们共同控制着显示的峰值亮度和黑电平水平。
E = { ( E ′ / r ) 2 , 0 ≤ E ′ ≤ r e x p ( ( E ′ − c ) / a ) + b , r < E ′ E = \begin{cases} (E^{\prime}/r)^2 , 0 \leq E^{\prime} \leq r \\ exp((E^{\prime}-c)/a)+b,r < E^{\prime} \end{cases} E={(E/r)2,0Erexp((Ec)/a)+b,r<E
根据 HLG OETF 的数学模型可以看出, HLG 的低亮度部分与传统的 gamma 曲线完全吻合,因此可以不经过任何处理直接显示在现有的 SDR 显示器上,其 10 比特的信号传输制作过程与现有的 SDR 系统完美兼容。另外,由于不需要元数据,因此信号是独立于显示器的。

相关文章:

HDR视频技术之二:光电转换与 HDR 图像显示

将自然界中的真实场景转换为屏幕上显示出来的图像&#xff0c;往往需要经过两个主要的步骤&#xff1a;第一个是通过摄影设备&#xff0c;将外界的光信息转换为图像信息存储起来&#xff0c;本质上是存储为数字信号&#xff1b;第二个是通过显示设备&#xff0c;将图像信息转换…...

【Linux】Linux入门实操——vim、目录结构、远程登录、重启注销

一、Linux 概述 1. 应用领域 服务器领域 linux在服务器领域是最强的&#xff0c;因为它免费、开源、稳定。 嵌入式领域 它的内核最小可以达到几百KB, 可根据需求对软件剪裁&#xff0c;近些年在嵌入式领域得到了很大的应用。 主要应用&#xff1a;机顶盒、数字电视、网络…...

Redis的缓存问题与应对策略

Redis 作为一种高效的缓存系统&#xff0c;在高并发环境下应用广泛&#xff0c;但也面临一些缓存问题&#xff0c;以下是常见问题及其应对策略。 1. 缓存穿透 问题描述 缓存穿透是指请求的数据在缓存和数据库中都不存在&#xff0c;但大量请求直接到达数据库&#xff0c;从而给…...

Java项目实战II基于Spring Boot的智慧生活商城系统的设计与实现(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 随着科技的飞速发展&#xff0c;人们的…...

每日一题之成绩排序

在N&#xff08;N<30&#xff09;名运动员参加的体操比赛中&#xff0c;有K&#xff08;K<10&#xff09;名裁判给每位运动员分别打分&#xff0c; 按规则每名运动员最后得分需去掉一个最高分和一个最低分&#xff0c; 然后把其他裁判的打分相加&#xff0c;计算得出该运…...

QT Widget:使用技巧

1、Qt中的QString和const char *之间转换&#xff0c;最好用toStdString().c_str()而不是toLocal8Bit().constData()&#xff0c;比如在setProperty中如果用后者&#xff0c;字符串中文就会不正确&#xff0c;英文正常。 2、数据库处理一般建议在主线程&#xff0c;如果非要在…...

深入Zookeeper节点操作:高级功能与最佳实践

Zookeeper之节点基本操作&#xff08;二&#xff09; 在《Zookeeper之节点基本操作&#xff08;一&#xff09;》中&#xff0c;我们介绍了如何创建、读取、更新、删除节点的基本操作。接下来将进一步探讨Zookeeper中节点的进阶操作和更多细节&#xff0c;包括节点的监视&…...

【C++】map和set的介绍及使用

前言&#xff1a; map和 set 是 C STL&#xff08;标准模板库&#xff09;中的两种非常重要的容器&#xff0c;它们基于一种叫做平衡二叉搜索树&#xff08;通常是红黑树&#xff09;的数据结构来实现。在 C 中&#xff0c;map 是一个键值对容器&#xff0c;set 只存储唯一的键…...

从0开始搭建一个生产级SpringBoot2.0.X项目(十)SpringBoot 集成RabbitMQ

前言 最近有个想法想整理一个内容比较完整springboot项目初始化Demo。 SpringBoot集成RabbitMQ RabbitMQ中的一些角色&#xff1a; publisher&#xff1a;生产者 consumer&#xff1a;消费者 exchange个&#xff1a;交换机&#xff0c;负责消息路由 queue&#xff1a;队列…...

GNU/Linux - /proc/sys/vm/drop_caches

/proc/sys/vm/drop_caches 是 Linux 中的一个特殊文件&#xff0c;允许用户释放系统内存中的各种缓存。让我们深入了解一下这项功能的细节&#xff1a; The /proc/sys/vm/drop_caches is a special file in Linux that allows users to free up various caches in the systems …...

ubuntu 22.04 如何调整进程启动后能打开的文件数限制

在 Ubuntu 22.04 中&#xff0c;可以通过修改系统配置来调整进程启动后能够打开的文件数软限制。软限制是指操作系统允许单个进程打开的文件描述符的最大数量。以下是调整该限制的方法&#xff1a; 1. 查看当前限制 首先&#xff0c;你可以通过 ulimit 命令查看当前的软限制和…...

linux基础-完结(详讲补充)

linux基础-完结 一、Linux目录介绍 二、基础命令详细讲解 1. ls&#xff08;列出目录内容&#xff09; 2. cd&#xff08;更改目录&#xff09; 3. clear&#xff08;清除终端屏幕&#xff09; 4. pwd(显示你当前所在的目录) 5. vim(文本编辑器) 6. touch&#xff08;创…...

LoRA:大型语言模型(LLMs)的低秩适应;低秩调整、矩阵的低秩与高秩

目录 LoRA:大型语言模型(LLMs)的低秩适应 一、LoRA的基本原理 二、LoRA的举例说明 三、LoRA的优势 低秩调整、矩阵的低秩与高秩 一、低秩调整(LoRA) 二、矩阵的低秩 三、矩阵的高秩 LoRA:大型语言模型(LLMs)的低秩适应 LoRA(Low-Rank Adaptation of LLMs),…...

游戏引擎学习第四天

视频参考:https://www.bilibili.com/video/BV1aDmqYnEnc/ BitBlt 是 Windows GDI&#xff08;图形设备接口&#xff09;中的一个函数&#xff0c;用于在设备上下文&#xff08;device context, DC&#xff09;之间复制位图数据。BitBlt 的主要用途是将一个图像区域从一个地方复…...

GIT GUI和 GIT bash区别

Git GUI 和 Git Bash 都是与 Git 版本控制工具相关的用户界面&#xff0c;但它们有不同的功能和用途。下面详细说明它们的区别及各自的作用&#xff1a; Git GUI 作用&#xff1a; Git GUI 是一个图形用户界面&#xff08;GUI&#xff09;工具&#xff0c;用于执行 Git 操作。…...

丹摩征文活动|Faster-Rcnn-训练与测试详细教程

本文 丹摩智算平台官方网站的介绍Faster-Rcnn-训练与测试提前准备进行Faster-rcnn 的环境配置数据集的介绍 丹摩智算平台官方网站的介绍 丹摩智算平台&#xff08;DAMODEL&#xff09;是专为人工智能&#xff08;AI&#xff09;开发者打造的高性能计算服务平台&#xff0c;旨在…...

星期-时间范围选择器 滑动选择时间 最小粒度 vue3

星期-时间范围选择器 功能介绍属性说明事件说明实现代码使用范例 根据业务需要&#xff0c;实现了一个可选择时间范围的周视图。用户可以通过鼠标拖动来选择时间段&#xff0c;并且可以通过快速选择组件来快速选择特定的时间范围。 功能介绍 时间范围选择&#xff1a;用户可以…...

一条SQL查询语句的执行流程(MySQL)

第一步&#xff1a;连接器&#xff08;负责跟客户端建立连接、获取权限、维持和管理连接&#xff09; 第二步&#xff1a;查询缓存 之前执行过的查询&#xff0c;MySQL以"Key - Value"的形式存在内存&#xff08;key为SQL&#xff0c;value为结果集&#xff09;&…...

linux基础——详细篇

免责声明 学习视频来自B 站up主泷羽sec&#xff0c;如涉及侵权马上删除文章。 笔记的只是方便各位师傅学习知识&#xff0c;以下代码、网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 linux 基础命令重现 cd(切…...

大数据学习10之Hive高级

1.Hive高级 将大的文件按照某一列属性进行GROUP BY 就是分区&#xff0c;只是默认开窗存储&#xff1b; 分区是按行&#xff0c;如一百行数据&#xff0c;按十位上的数字分区&#xff0c;则有十个分区&#xff0c;每个分区里有十行&#xff1b; 分桶是根据某个字段哈希对桶数取…...

MongoDB笔记01-概念与安装

文章目录 前言一、MongoDB相关概念1.1 业务应用场景具体的应用场景什么时候选择MongoDB 1.2 MongoDB简介1.3 体系结构1.4 数据模型1.5 MongoDB的特点 二、本地单机部署2.1 Windows系统中的安装启动第一步&#xff1a;下载安装包第二步&#xff1a;解压安装启动1.命令行参数方式…...

ollama + fastGPT + m3e 本地部署指南

[TOC](ollama fastgptm3e本地部署) 开启WSL 因为这里使用的win部署&#xff0c;所以要安装wsl,如果是linux系统就没那么麻烦 控制面板->程序->程序和功能 更新wsl wsl --set-default-version 2wsl --update --web-download安装ubuntu wsl --install -d Ubuntudoc…...

【设计模式系列】享元模式(十五)

目录 一、什么是享元模式 二、享元模式的角色 三、享元模式的典型应用场景 四、享元模式在ThreadPoolExecutor中的应用 1. 享元对象&#xff08;Flyweight&#xff09;- 工作线程&#xff08;Worker&#xff09; 2. 享元工厂&#xff08;Flyweight Factory&#xff09;- …...

2024大兴区火锅美食节即将开幕——品味多元火锅,点燃冬季消费热潮

为响应“中国国际精品消费月”活动&#xff0c;由大兴区商务局主办、大兴区餐饮行业协会承办的2024大兴区火锅美食节将于11月15日正式启动&#xff0c;为期一个半月的美食盛宴将在大兴区掀起一场冬日的火锅热潮。此次火锅节作为北京市“食在京城、沸腾火锅”火锅美食节的重要组…...

可视化建模与UML《类图实验报告》

史铁生&#xff1a; 余华和莫言扛着我上火车&#xff0c; 推着走打雪仗&#xff0c; 还带我偷西瓜&#xff0c; 被人发现后他们拔腿就跑&#xff0c; 却忘了我还在西瓜地里。 一、实验目的&#xff1a; 1、熟悉类图的构件事物。 2、熟悉类之间的泛化、依赖、聚合和组合关系…...

VS2022项目配置笔记

文章目录 $(ProjectDir&#xff09;与 $(SolutionDir) 宏附加包含目录VC目录和C/C的区别 $(ProjectDir&#xff09;与 $(SolutionDir) 宏 假设有一个解决方案 MySolution&#xff0c;其中包含两个项目 ProjectA 和 ProjectB&#xff0c;目录结构如下&#xff1a; C:\Projects\…...

springboot029基于springboot的网上购物商城系统

&#x1f345;点赞收藏关注 → 添加文档最下方联系方式领取本源代码、数据库&#x1f345; 本人在Java毕业设计领域有多年的经验&#xff0c;陆续会更新更多优质的Java实战项目希望你能有所收获&#xff0c;少走一些弯路。&#x1f345;关注我不迷路&#x1f345; 项目视频 基于…...

网站访问在TCP/IP四层模型中的流程

访问一个网站的过程可以通过 TCP/IP 网络模型来描述。TCP/IP 模型通常被分为四层&#xff1a;应用层、传输层、网络层和链路层。以下是从这些层级的角度描述你访问一个网站时所发生的过程&#xff1a; 1. 应用层 (Application Layer) 当你在浏览器中输入一个 URL&#xff08;…...

C++笔记---包装器

1. 什么是包装器 C中的包装器是一种设计模式&#xff0c;用于将一个复杂或底层的接口进行封装&#xff0c;以便提供一个更简洁、易用的接口。包装器可以包装任何类型的可调用实体&#xff0c;如函数&#xff0c;成员函数&#xff0c;函数指针&#xff0c;仿函数对象&#xff0…...

算力与能量的全分布式在线共享来降低5G网络的用电成本。基于随机对偶次梯度法的多时隙约束耦合问题解耦方法示例;随机对偶次梯度法的在线管理策略

目录 算力与能量的全分布式在线共享来降低5G网络的用电成本。 基于随机对偶次梯度法的多时隙约束耦合问题解耦方法示例 随机对偶次梯度法的在线管理策略 策略概述 具体步骤 示例说明 算力与能量的全分布式在线共享来降低5G网络的用电成本。 主要探讨了5G网络与边缘计算设…...