ISP——3A算法

目录

  • 前沿
  • 一. 自动曝光AE
    • 1.1. 自动曝光
    • 1.2. 18%灰
    • 1.3. 测光区域
    • 1.4. 摄影曝光加法系统
    • 1.5. AE算法
      • 1.5.1. 考虑事项
      • 1.5.2. AE实现过程
    • 1.6. AE算法
  • 二. 自动对焦AF
    • 2.1. 什么是自动对焦
      • 2.2. 图像清晰度评价方法
      • 2.2.1. Brenner 梯度函数
      • 2.2.2. Tenengrad 梯度函数
      • 2.2.3. Laplacian 梯度函数
      • 2.2.4. 方差函数
      • 2.2.5. 能量梯度函数
    • 2.3. 聚焦函数
    • 2.4. 自动对焦原理
    • 2.5. 对焦算法
      • 2.5.1. 测距法
      • 2.5.2. 图像分析法(被动聚焦)
        • 2.5.2.1 相位检测
        • 2.5.2.2. 对比度检测聚焦
  • 三. 自动白平衡AWB
    • 3.1. 色温和颜色恒常性
    • 3.2. 白平衡矫正
    • 3.3. 矫正方法
    • 3.3.1. 灰度世界理论
      • 3.3.2. 完美反射法
      • 3.3.3. QCGP
      • 3.3.4. 模糊逻辑算法
      • 3.3.5. 基于白点的算法
      • 3.3.6. 基于边缘的方法

前沿

最近在学习3A技术,简单记录一下。
我们先来看下什么是3A技术?

3A即自动对焦(AF),自动曝光(AE),自动白平衡(AWB)

补充:通常在进行3A算法的时候会有一个先后顺序:AWB->AE->AF

  • AF:控制对焦马达的移位,使镜头定焦在合适的位置
  • AE:Auto Exposure即自动曝光,是相机根据外界光线的强弱自动调整曝光量和增益,防止曝光过度或者不足的一种机制。通过调节快门,光圈,感光度(ISO),使得图像达到合适的亮度
  • AWB:通过调整图像的R/B通道的增益值,调节图像的色温/色调表现

问:为什么调节白平衡只有R和B的增益

答:简化电路,减少调节过程以及带来的工作量相应的增加。2、通过合理调节R-Drive和B-Drive,配合固定的G-DriVe完成亮平衡校对工作。这好比一只三条腿的桌子,一条腿固定,调节另外两条腿的长短,使桌面达到水平状态。亮平衡只有R和B,一般是长虹彩电的特征。

  AF控制着对焦马达,是镜头的基本功能,AE与AWB自动白平衡算法来实现图像对比度最大、改善主体拍摄物曝光或曝光不足、使画面在不足光线照射下的色差得到补偿。3A是每个相机的基本算法功能,每个A都代表了成像的基本组件,总结一下:

  1. AE控制着ISO/快门,是sensor的基本功能
  2. AF控制着对焦马达,是镜头的基本功能
  3. AWB是camera色彩系统的第一个基础模块,3A准确率是成像的基本保证

关于上面的光圈,快门,ISO的含义知乎上有一个很绝的解释:
在这里插入图片描述
感兴趣的也可以跳转到这个话题看一下:如何理解 ISO、快门、光圈、曝光这几个概念?。

一. 自动曝光AE

1.1. 自动曝光

先来看下自动曝光的概念,然后在看几个跟其相关的概念:

  • AE的基本概念

Auto Exposure即自动曝光,是相机根据外界光线的强弱自动调整曝光量和增益,防止曝光过度或者不足的一种机制。

在这里插入图片描述
  可见,AE的输入为当前影像的亮度值Y,输出为sensor的曝光时间和增益,isp增益和镜头光圈(如果镜头光圈可调)。当AE algorithm得到当前帧的亮度后,便会与target Y做比较,然后计算出下一次需要调整的参数,以便让影像的亮度越来越接近target Y,如下所示(target只是一个范围):
在这里插入图片描述

  1. 曝光是什么?
    以摄影为例,曝光指摄影过程中进入镜头照射在感光元件上形成影像的过程就是曝光,这个过程由光圈、快门、感光度的组合来控制。
  2. 什么是曝光量?
    图像传感器所接受的光量,用H表示,单位是勒克斯·秒,公式如下:
    H = E × t H = E \times t H=E×t
  • E为照度,单位是勒克斯(lx )
  • t为感光材料受到光线照射的时间,单位是秒( s )
  • 曝光量H的单位为勒克斯·秒( lx·s )

解释下上面照度的意思:
照度又称为投射光,是描述被摄体受照表面被照明的程度。照度定义为单位面积上所接受的光通量,照度E用公式表示为:
E = Φ / A E=\Phi/ A E=Φ/A
Φ \Phi Φ 为光通量, 单位为流明 ( I m ) (I m) (Im) A A A 为受照面积, 单位为平方米 ( m 2 ) \left(\mathrm{m}^2\right) (m2)

  1. 什么是曝光强度
    曝光强度 = 曝光时间 × 光圈大小 × I S O 曝光强度 = 曝光时间\times 光圈大小\times ISO 曝光强度=曝光时间×光圈大小×ISO

相机上的光圈是固定的,所以只需要考虑曝光时间和ISO(增益值的一种表示,这里的增益又分为Analog Gain,Digital Gain以及ISP
增益。这里记住ISO指的就是信号增益大小就行了)。
4. 自动曝光
有了上面的三个概念,我们再来看下相机的自动曝光怎么定义的,相机上的自动曝光就是让相机根据当前的图像信息自动配置曝光大小,也就是曝光时间和ISO的值。下面是一组不同曝光强度下的相机成像对比。
在这里插入图片描述

1.2. 18%灰

我们再来看下曝光相关的另一个概念,18%灰。在介绍这个概念之前,我们需要了解两个相关概念:韦伯定律和曝光分区系统。

  1. 韦伯定律
    即感觉的差别阈限随原来刺激量的变化而变化,而且表现为一定的规律性,可用如下公式来表示:
    Δ Φ / Φ = C \Delta \Phi / \Phi=C ΔΦ/Φ=C
    其中 Φ \Phi Φ 为原刺激量, Δ Φ \Delta \Phi ΔΦ 为此时的差别阈限,C为常数,又 称为韦伯率。看起来有点难理解,说人话就是人对自然刺激的感知是非线性的,刺激以一定比例的增长,对人而言是均匀增长的。
  2. 曝光分区系统
    再来看下曝光分区系统。这是由 Ansel Adams 和 Fred Archer在1940年左右所阐述,如下图所示,将人眼对于从黑到白渐进的变化分为11阶,将处于当中的块5认为是适中的曝光强度,称为中灰。而5块的光照反射率是18%,也就是定义的18%灰。因此专业摄影师通常会使用测光表来判断环境光,来决定拍照的曝光强度,使得照片的整体曝光强度在18%灰左右。但是也要结合具体情境进行设置,比如说在拍摄雪景的时候再把曝光度调为18%的话就会使得照片偏黑,即我们说的“白增黑减”。
    在这里插入图片描述

1.3. 测光区域

再来看一个相关概念,测光区域。通常一个图片中同时存在亮与暗的区域,如果把所有区域都纳入考虑来算一个平均值,可能不能如实反映拍照者的期望,所以会有个重点测光区域。根据不同算法,测光区域也不同。比较原始的是将整个区域分为 M × N M \times N M×N个区域,取中心的 X × Y X \times Y X×Y区域;手机上通常有针对人脸区域测光、中心测光与点测光。测光区域也有一定的权重分布,通常在中心的区域权重会更大一些。

1.4. 摄影曝光加法系统

E V = A V + T V = B V + S V EV =AV+ TV= BV+ SV EV=AV+TV=BV+SV

  • EV:Exposure Value,将相机的曝光形成数字化,曝光值
  • AV:Aperture Value 光圈值
  • TV:Time Value 快门值
  • SV:Sensitive Value 感光值 (ISO)
  • BV:Brightness Value亮度值,环境亮度

关于上面每个值的计算方法如下:
在这里插入图片描述
根据上面的公式可以得到 E V = A V + T V = B V + S V EV =AV+ TV= BV+ SV EV=AV+TV=BV+SV的公式为:
2 ∗ log ⁡ 2 ( F number  ) − log ⁡ 2 ( 1 exposure time  ) = log ⁡ 2 ( B / 0.3 K ) + log ⁡ 2 ( 0.3 S ) 2 * \log _2(\mathrm{F}_ \text {number })-\log _2\left(\frac{1}{\text { exposure time }}\right)=\log _2(B / 0.3 K)+\log _2(0.3 S) 2log2(Fnumber )log2( exposure time 1)=log2(B/0.3K)+log2(0.3S)
其中

  • F n u m b e r F_{number} Fnumber是镜头光圈值大小,我们常说的 F 1.4 F_{1.4} F1.4 F 4.0 F_{4.0} F4.0
  • B B B是景物亮度单位是 C d / c m 2 Cd/cm2 Cd/cm2

1.5. AE算法

在了解了上面的基本概念之后,我们来看下AE的算法步骤以及需要考虑的问题。

1.5.1. 考虑事项

在一个响应周期内,AE算法需要处理的具体事项如下:

  1. 根据ISP硬件生成的图像曝光统计数据评估当前图像的曝光质量
  2. 如果曝光质量需要调整,则根据当前的工作参数和理想曝光目标生成下一帧图像的工作参数
  3. 将新的工作参数写入各硬件设备,驱动光圈、sensor快门及增益达到新的位置

1.5.2. AE实现过程

  1. 对当前图像进行亮度统计
  2. 根据当前图像亮度确定曝光值
  3. 计算新的曝光参数,曝光时间,光圈和增益
  4. 将新的曝光参数应用到相机中
  5. 重复1-4的步骤,直到满足亮度需求

1.6. AE算法

  1. 均值法AE
  2. 直方图改进的均值法AE
  3. N段式统计法

二. 自动对焦AF

2.1. 什么是自动对焦

  自动对焦是利用物体光反射原理,将反射的光被相机上的传感器CCD(光电转换器,将光信号转换为电信号的传感器)所接受,通过计算机处理,带动电动对焦设备进行对焦的方式叫做自动对焦。就是移动对焦设备使得成像清晰。
在了解自栋对焦算法之前我们需要知道几个常见名词,有些是初中物理已经见过的。

  • 像距:像距是像(CCD传感器)到平面镜(或透镜的光心)之间的距离,一般用v表示。
  • 物距:物体到透镜中心的距离,一般用表示u表示。
  • 焦距:镜头中心点到行程码清晰影像胶片或者CCD的距离,也就是焦距反映的是清晰成像的距离,一般用f表示。
  • 景深:拍摄一张照片的时候,照片中的最近物体和最远物体之间能够清晰成像的部分就是景深。
  • 凸透镜:就是我们说的放大镜,中间厚两边薄。相机镜头通常都是凸透镜构成。

我们来看一下凸透镜成像原理:
在这里插入图片描述
人眼其实就是个可变焦的凸透镜。视网膜可以等效成CCD,人的大脑会自动的把倒立的像给处理成正向的。
成像公式:
1 f = 1 u + 1 v \frac{1}{f} = \frac{1}{u} + \frac{1}{v} f1=u1+v1

  • f,u,v分别表示焦距,物距,像距。

2.2. 图像清晰度评价方法

  既然自动对焦是要让CCD接受清晰的图像,我们知道人眼很容易判断一个图像是否清晰,那么相机应该怎么判断一个图像是否清晰呢?方法有很多,我们简单介绍常用的几个。

2.2.1. Brenner 梯度函数

Brenner梯度函数是最简单的梯度评价函数,它只是简单的计算相邻两个像素灰度差的平方:
在这里插入图片描述
其中:f(x,y) 表示图像f对应像素点(x,y)的灰度值,D(f)为图像清晰度计算结果。

2.2.2. Tenengrad 梯度函数

Tenengrad 梯度函数采用Sobel算子分别提取水平和垂直方向的梯度值,基与Tenengrad 梯度函数的图像清晰度定义如下:
在这里插入图片描述
G(x,y) 的形式如下:
在这里插入图片描述

2.2.3. Laplacian 梯度函数

Laplacian 梯度函数与Tenengrad梯度函数基本一致,用Laplacian算子替代Sobel算子即可,该算子定义如下:
在这里插入图片描述
因此基于Laplacian 梯度函数的图像星清晰度的定义如下:
在这里插入图片描述
其中G(x,y)是像素点(x,y)处Laplacian算子的卷积。

2.2.4. 方差函数

因为清晰聚焦的图像有着比模糊图像更大的灰度差异,可以将方差函数作为评价函数:
在这里插入图片描述
其中 μ \mu μ为整幅图像的平均灰度值,该函数对噪声比较敏感,图像画面越纯净,函数值越小。

2.2.5. 能量梯度函数

能量梯度函数更适合实时评价图像清晰度,该函数定义如下:
在这里插入图片描述

2.3. 聚焦函数

  图像对比度通常也称为锐度,是用来描述图像细节分辨程度和清晰度的度量值。对比度检测聚焦采用锐度来评价聚焦的准确程度,图像锐度越大也就是聚焦值越大,说明越接近准确聚焦的位置。在聚焦调节范围内,每 个调焦位置会对应个锐度值,也就是聚焦值,这些聚焦值形成 曲线,通常称为聚焦曲线 。锐度值通过锐度评价函数计算获得,锐度评价函数有时也称为聚焦函数。一个良好的锐度评价函数对应的聚焦曲线应该是 个如下图所示的单峰曲线,并且曲线峰值对应的调焦位置即为准确聚焦的位置。
在这里插入图片描述
  什么是聚焦峰值,聚焦的准确位置对应于锐度评价函数(锐度评价函数就是聚焦函数)的最大峰值,也只有找到最大峰值才能知道准确聚焦的位置。那么最大峰值应该怎么确定吗?可以看出,锐度评价函数决定了聚焦的精度,而聚焦的峰值搜索算法决定了自动聚焦的速度。下图展示几种搜索算法:
在这里插入图片描述

这部分的内容详细可以参考:自动聚焦技术(AF)。

补充:

图像清晰评价函数用来后期评估聚焦的效果,聚焦函数是用来找图像焦点的,注意区分两者的差别。

2.4. 自动对焦原理

  1. 对焦过程中图像仍在一直不断产生,把镜头在某个位置时的那帧图像送到图像处理器(ISP)处理,得出该图像的统计信息,再把这信息送到对焦算法库(可能在isp硬件上执行,也可能在驱动程序软件执行),对焦算法库根据硬件规范和上述统计信息算出下一步镜头该往哪个方向移动多少距离,并驱动镜头到达那个位置;
  2. 接着在此位置得到新图像,又计算统计信息,计算再下一步的镜头位置…图像清晰度渐渐变化,如此经过几个循环收敛,图像到一定程度,就认为对焦成功。

  统计信息是和聚焦算法以一一对应的,什么样的算法就需要ISP计算相应的统计信息。不同的对焦算法就又形成了不同的自动对焦方式,不同的对焦方式有不同的对焦速度和硬件需求及设计(主要针对摄像头传感器)。不管什么对焦算法,他的目的都是要快准狠迅速完成高质量的对焦。

2.5. 对焦算法

我们来介绍几个常见的对焦算法。

2.5.1. 测距法

  一种主动聚焦方式,摄像头发出红外光或超声波并接收返回光线,实现测距,然后借此距离计算物距实现对焦,此方法精度略差,高端机上已较少使用,或作为其他方法的补充。(现在也有激光实现快速准确聚焦,如iPhone的LiDAR)

2.5.2. 图像分析法(被动聚焦)

2.5.2.1 相位检测

  相位检测聚焦是单反相机中用的最普遍的自动对焦方法,这种聚焦系统一般由反光镜、微透镜,以及多个成像敏感器等硬件构成 其对焦原理如图所示,简单地说,通过镜头的光束被分为两个部分,分别在不同的两组成像敏感器上成像 如果对焦准确,则两幅图像相同;如果对焦不准 ,则两幅图像会出现偏移 通过比较两幅图像而检测这个偏,就能检测出聚焦的偏离状态。 相位检测自动聚焦的优点在于对焦迅速且比较精确, 缺点在于 要独特的硬件构造,造价高,且其复杂的构造不适合需要结构紧凑的情况,比如不适合在一般的数码相机及移动手机等平台上应用。如下图所示:
在这里插入图片描述

2.5.2.2. 对比度检测聚焦

  对比度检测聚焦是另外一种被动聚焦方法,这种方法不需要额外的硬件构造,它仅仅通过对连续获得的实际图像进行分析处理,根据前后两帧或多帧图像的对比度计算结果来控制调焦的方向和大小。其基本原理是随着调焦向准确位置越 近,图像越清晰,对应的图像对比度也越大。由于不需要额外的硬件支持,这种聚焦方法广泛应用于摄像机、数码相机等成像系统。
会有以下缺点:

  1. 聚焦速度相对较慢;
  2. 对光照较为敏感,尤其是在低照度情况下容易失效;
  3. 当目标物缺乏明显的纹理细节(比如白色墙壁)时,难以准确聚焦;

下面是一个对比度检测聚焦的框架,对比度检测聚焦的关键因素有两点: ①锐度评价函数:②峰值判定和搜索策略。
在这里插入图片描述

三. 自动白平衡AWB

先看一组图。同一光源下,左边的图是在AWB没开的情况下显示的图像,右边的是在AWB打开的情况下拍摄的。
在这里插入图片描述

3.1. 色温和颜色恒常性

在学习AWB之前,我们需要先了解几个概念:

  • 色温:色温描述的是具有一定表面温度的“黑体”(blackbody)的辐射光的光谱特性。简单的理解就是颜色随温度的变化规律,比如生铁就是黑色,加热会变成橘红色,继续加热到液态会呈现偏白的颜色,这种随温度而产生的颜色变化就光谱特性;
  • 颜色恒常性:颜色恒常是指在照度发生变化的条件下人们对物体表面颜色的知觉趋于稳定的心理倾向;
  • 白平衡原理:传感器不具有人眼的不同光照色温下的色彩恒定性,白平衡模块就需要将人眼看来白色的物体进行色彩的还原使其在照片上也呈现为白色,通俗的讲就是讲人眼看到的白色还原为白色。

3.2. 白平衡矫正

  • 手动白平衡:在拍照前通过拍摄一个18度灰的卡片,然后计算出当时环境的白平衡的gain值对后面的图片进行校正;
  • 自动白平衡:camera通过自己本身的算法,通过获取的图像自动计算出gain值对图像进行校正的方式;

3.3. 矫正方法

下面我们来看几个矫正方法。

3.3.1. 灰度世界理论

在这里插入图片描述
任一幅图像,当它有足够的色彩变化则它的RGB分量的均值会趋于相等。这是一个在自动白平衡方面应用极为广泛的理论。算法流程如下:

  1. 计算各个颜色通道的平均值 R m e a n R_{mean} Rmean G m e a n G_{mean} Gmean B m e a n B_{mean} Bmean
  2. 寻找一个参考值K,因为人眼对于 G G G通道比较敏感,一般一般情况选取 G m e a n G_{mean} Gmean作为参考;
  3. 计算 R g a i n = G m e a n R m e a n R_{gain} =\frac{G_{mean}}{R_{mean}} Rgain=RmeanGmean, B g a i n = G m e a n R m e a n B_{gain} = \frac{G_{mean}}{R_{mean}} Bgain=RmeanGmean;
  4. 对图像中的每个像素都乘以对应的gain值进行校正;

3.3.2. 完美反射法

  完全反射也是基于一个假说:基于这样一种假设,一幅图像中最亮的像素相当于物体有光泽或镜面上的点,它传达了很多关于场景照明条件的信息。如果景物中有纯白的部分,那么就可以直接从这些像素中提取出光源信息。因为镜面或有光泽的平面本身不吸收光线,所以其反射的颜色即为光源的真实颜色,这是因为镜面或有光泽的平面的反射比函数在很长的一段波长范围内是保持不变的。完美反射法就是利用用这种特性来对图像进行调整。算法执行时,检测图像中亮度最高的像素并且将它作为参考白点。基于这种思想的方法都被称为是完美反射法,也称镜面法。通俗的意思就是整个图像中最亮的点就是白色或者镜面反射出来的,那么最亮的点就是光源的属性,但是该点本身应该是白点,以此为基础就可计算出gain值从而进行校正。下面怡红色通道为例展示怎么计算的:
在这里插入图片描述

3.3.3. QCGP

这种方法将灰度世界和完全反射以正交的方式结合。下面仍以红色通道为例演示怎么计算的:
u r R a v e 2 + v r R a v e = K a v e ; u r R max ⁡ 2 + v r R max  = K max ⁡ K a v e = R a v e + G a v e + B a v e 3 ; K max ⁡ = R max ⁡ + G max ⁡ + B max ⁡ 3 \begin{aligned} & u^r R_{\mathrm{ave}}^2+v^r R_{\mathrm{ave}}=K_{\mathrm{ave}} ; \\ & u^r R_{\max }^2+v^r R_{\text {max }}=K_{\max } \\ & K_{\mathrm{ave}}=\frac{R_{\mathrm{ave}}+G_{\mathrm{ave}}+B_{\mathrm{ave}}}{3} ; \\ & K_{\max }=\frac{R_{\max }+G_{\max }+B_{\max }}{3} \end{aligned} urRave2+vrRave=Kave;urRmax2+vrRmax =KmaxKave=3Rave+Gave+Bave;Kmax=3Rmax+Gmax+Bmax

通过上面的方程组就可以解出​和​ 然后对原像素进行校正:
R n e w = u r R o r g 2 + v r R o r g R_{new} = u^rR_{org}^{2} +v^rR_{org} Rnew=urRorg2+vrRorg

3.3.4. 模糊逻辑算法

在这里插入图片描述
如图圆圈表示该颜色本身应该在坐标系中所处的位置,箭头分别表示随色温的变化发生的偏移,这个是通过先验知识得到的,后面再通过这个进行校正。
在这里插入图片描述
通过以上两种方式将图像分成8块,然后通过模糊逻辑的方式计算出每个快的一个权重,这个权重和亮度和色度相关,然后通过模糊逻辑方式进行确定。求得权重后就可以计算出整个图像的加权均值,如下图10a,黑点表示八个块的分布,X表示加权后整个图像的位置。然后目的是要让加权的这个值往白点上靠,就通过调整增益的方式调试,调整完增益后,每个块儿的均值又会发生变化,然后又重新计算出每个块的权重,再通过权重计算出整个图像的均值,如图10b,整个图像的均值已经靠近原点了。然后如果X和白点的差距在一个设定的范围内则认为完成白平衡,否则继续调整增益重复上述步骤进行校正。
在这里插入图片描述

3.3.5. 基于白点的算法

  1. 将RGB颜色空间转换到YUV空间,转换公式如下:
    [ Y U V ] = [ 0.3 0.59 0.11 − 0.15 − 0.29 0.44 0.51 − 0.52 − 0.095 ] [ R G D ] \left[\begin{array}{l} Y \\ U \\ V \end{array}\right]=\left[\begin{array}{lll} 0.3 & 0.59 & 0.11 \\ -0.15 & -0.29 & 0.44 \\ 0.51 & -0.52 & -0.095 \end{array}\right]\left[\begin{array}{l} R \\ G \\ D \end{array}\right] YUV = 0.30.150.510.590.290.520.110.440.095 RGD

  2. 通过限定YUV的区域来判断是否为白点,如下论文通过四个限制条件俩限制白点,满足条件的点就是白点,参与后续的计算,否则不是点直接舍弃
    在这里插入图片描述

  3. 通过以上四个限制条件找到白点集合后,就可以对白点集合运用GW算法或者其他算法计算gain值从而进行后续的校正。

3.3.6. 基于边缘的方法

  1. 先通过一定的手段,比如梯度的方式求出图像中的边缘,然后在边缘各侧各取两个点参与计算;
  2. 通过上述得到的参考点集合,就可以运行灰度世界或者其他的算法求出gain值; 在这里插入图片描述
    优点:减少的大色块的干扰,因为一般认为边缘就是色块变化的的分界线,那么提取边缘两侧的样本点就可以满足颜色充分的条件,那么就可以运用灰度世界法求出gain.而且有大色块的时候计算的也是也只是选取边缘的几个点,就可以避免大色块分量太大造成白平衡异常的问题。

下面看展示几个白平衡算法效果图:灰度世界理论,完全反射,QCGP算法。

在这里插入图片描述

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

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

相关文章

1.12 进程注入ShellCode套接字

在笔者前几篇文章中我们一直在探讨如何利用Metasploit这个渗透工具生成ShellCode以及如何将ShellCode注入到特定进程内,本章我们将自己实现一个正向ShellCodeShell,当进程被注入后,则我们可以通过利用NC等工具连接到被注入进程内,…

【vue】this.$nextTick解决this.$refs undefined的问题

说明 1、发邮件页面分成两个部分:模态框页面(头部和底部)和form页面(操作按钮) 2、点击回复按钮,要将发件人信息带到模态框页面,给定默认值且禁止收件人下拉选择(多个邮箱&#xff…

Windows Update Blocker,windows系统关闭自动更新工具

今天打开电脑发现系统又自动更新了 这一天天更新真的太烦了 然后我从网上找到一个工具 可以自由开启和关闭系统自动更新 这里分享一下网址:https://www.filehorse.com/download-windows-update-blocker/ 若网址失效,蓝奏云盘链接 https://wwgw.lanzouc.c…

归并排序的详解!

本文旨在讲解归并排序的实现(递归及非递归)搬好小板凳,干货来了! 前序: 在介绍归并排序之前,需要给大家介绍的是什么是归并,归并操作,也叫归并算法,指的是将两个顺序序列…

lv3 嵌入式开发-3 linux shell命令(文件搜索、文件处理、压缩)

目录 1 查看文件相关命令 1.1 常用命令 1.2 硬链接和软链接 2 文件搜索相关命令 2.1 查找文件命令 2.2 查找文件内容命令 2.3 其他相关命令 3 文件处理相关命令 3.1 cut 3.2 sed 过滤 3.3 awk 匹配 4 解压缩相关命令 4.1 解压缩文件的意义 4.2 解压缩相关命令 1 …

大学物理 之 安培环路定理

文章目录 前言什么是安培环路定理安培环路定理有什么作用 深入了解深入学习 前言 什么是安培环路定理 安培环路定理的物理意义在于描述了电流和磁场之间的相互作用,以及如何在一个封闭的回路中分析这种相互作用。 简单的来说 , 用环路定理来解决在磁场中B对任意封…

[管理与领导-65]:IT基层管理者 - 辅助技能 - 4- 职业发展规划 - 乌卡时代(VUCA )

前言: 大多数IT人,很勤奋,但都没有职业规划,被工作驱动着前行,然而,作为管理者,你就不能没有职业规划思维,因为你代表一个团队,你的思维决定了一个团队的思维。本文探讨…

redis实战-实现优惠券秒杀解决超卖问题

全局唯一ID 唯一ID的必要性 每个店铺都可以发布优惠券: 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显,容易被用户根据id的间隔来猜测…

如何实现的手机实景自动直播,都有哪些功能呢?

手机实景自动直播最近真的太火了,全程只需要一部手机,就能完成24小时直播带货,不需要真人出镜,不需要场地,不需要搭建直播间,只需要一部手机就可以了。真人语音讲解,真人智能回复,实…

C#-单例模式

文章目录 单例模式的概述为什么会有单例模式如何创建单例模式1、首先要保证,该对象 有且仅有一个2、其次,需要让外部能够获取到这个对象 示例通过 属性 获取单例 单例模式的概述 总结来说: 单例 就是只有 一个实例对象。 模式 说的是设计模式…

《Go 语言第一课》课程学习笔记(十二)

函数 Go 函数与函数声明 在 Go 语言中,函数是唯一一种基于特定输入,实现特定任务并可返回任务执行结果的代码块(Go 语言中的方法本质上也是函数)。在 Go 中,我们定义一个函数的最常用方式就是使用函数声明。 第一部…

Mybatis学习|注解开发、lombok

1.使用注解开发 无需再编写相应的Mapper.xml文件,直接将sql用注解的形式写在Mapper接口的对应方法上即可。 然后因为没有xml文件,所以要在mybatis-config.xml核心配置文件中注册这个Mapper接口,而不用去注册之前的Mapper.xml,这里其实如果用…

QT listWidget 中实现元素的自由拖拽

QListWIdget中拖拽元素移动 setMovement(QListView::Movement::Free);setDragEnabled(true); setDragDropMode(DragDropMode::DragDrop); setDefaultDropAction(Qt::DropAction::MoveAction);

nginx-反向代理缓存

反向代理缓存相当于自动化动静分离。 将上游服务器的资源缓存到nginx本地,当下次再有相同的资源请求时,直接讲nginx缓存的资源返回给客户端。 本地缓存资源有一个过期时间,当超过过期时间,则重新向上游服务器重新请求获取资源。…

SIEM(安全信息和事件管理)解决方案

什么是SIEM 安全信息和事件管理(SIEM)是一种可帮助组织在安全威胁危害到业务运营之前检测、分析和响应安全威胁的解决方案,将安全信息管理 (SIM) 和安全事件管理 (SEM) 结合到一个安全管理系统中。SIEM 技术从广泛来源收集事件日志数据&…

Matlab——二维绘图(最为详细,附上相关实例)

为了帮助各位同学备战数学建模和学习Matlab的使用,今天我们来聊一聊 Matlab 中的绘图技巧吧!对于 Matlab 这样的科学计算软件来说,绘图是非常重要的一项功能。在数据处理和分析时,良好的绘图技巧能够更直观地呈现数据,…

【DP】CF Edu 21 E

Problem - E - Codeforces 题意&#xff1a; 思路&#xff1a; 就是一个 N为1e5&#xff0c;M为3e5的背包问题&#xff0c;不过特殊条件是 w < 3 我们去从最简单的情况开始考虑 当只有w 1的物品和w 2的物品时&#xff0c;考虑贪心地把物品按价值排序&#xff0c;然后选…

Docker部署项目

相关系列文章&#xff1a; 1、DockerHarbor私有仓库快速搭建 2、DockerJenkinsHarbor 3、Docker安装Mysql、Redis、nginx、nacos等环境 1、jenkins构建前端并上传服务器 在这篇文章中(DockerJenkinsHarbor)未完成前端的远程部署&#xff0c;这里对前端vue工程进行编译打包并上…

虚拟内存相关笔记

虚拟内存是计算机系统内存管理的一个功能&#xff0c;它允许程序认为它们有比实际物理内存更多的可用内存。它使用硬盘来模拟额外的RAM。当物理内存不足时&#xff0c;操作系统将利用磁盘空间作为虚拟内存来存储数据。这种机制提高了资源的利用率并允许更大、更复杂的应用程序的…

BLDC无感方波控制

BLDC无感控制 反电动势过零检测反电动势检测方法比较器模式采样过零信号闭环的建立 BLDC 方波启动技术转子预定位电机的外同步加速电机运行状态的转换 程序部分 反电动势过零检测 它的主要核心就是通过检测定子绕组的反电动势过零点来判断转子当前的位置。 三相六状态 120通电…