0325 ISP流程介绍 RAW/RGB/YUV

news2024/11/16 21:33:00

学习参考:isp流程介绍(yuv格式阶段) - 知乎

一、RAW

1.1 ISP RAW 之DPC

DPC(defective pixel correction)也就是坏点矫正,在sensor接收光信号,并做光电转换之后。

这一步设计的意义在于:摄像头sensor的感光元件通常很多会存在一些工艺缺陷缺陷,让图像上某些像素无法正常收集到需要的光信号,导致图像出现明显高光或者死黑像素点。

通常的作法,可以是sensor厂商检测标定出这些坏点,然后直接矫正。也可以是拍摄图像之后,通过特定算法进行直接软件矫正。

DPC通常通过以下步骤实现:

  1. 坏点检测:首先,系统需要对图像传感器进行扫描,并检测出存在的坏点。这可以通过比较传感器输出与预期值之间的差异来实现。任何与预期值偏差过大的像素都可能被视为坏点。

  2. 坏点标记:检测到的坏点通常会被标记在一个坏点地图中。这个地图会记录哪些像素被识别为坏点,并且可以被后续的处理步骤使用。

  3. 坏点修复:一旦坏点被检测和标记,就需要采取措施来修复它们。修复的方法通常是通过对周围像素的信息进行插值或替代来填补坏点的值。这样可以使坏点周围的区域看起来更连续和自然。

  4. 后处理:修复坏点后,可能需要进行一些后处理步骤,如去噪、锐化等,以进一步改善图像质量。

1.2 ISP RAW 之BLC

BLC(Black Level Correction)也就是暗电流矫正,本质上来说,isp需要做这一步的原因也是因为硬件缺陷。

主要是因为感光元器件和光电转换之类器件在输入光强度为0,也就是环境光线全黑的情况下,依然会有电压输出,引起结果图像实际像素值大于0,导致图像出现异常。

最简单的做法:在实验室全黑环境下,拍摄一张全黑的raw图像,分别计算图像rggb通道平均值并保存,实际拍图时候,每张图像的rggb通道都减去对应的平均值,并归一化得到矫正之后图像。

1.3 ISP RAW 之LSC

LSC(Lens Shading Correction)也就是镜头阴影矫正,常规意义上来说,这一步也可理解为硬件缺陷导致的,本质上是由于镜头光学特性引起的。

整体上这种缺陷又可以分为两类:

1、Luma shading:镜头从中心到边缘逐渐出现了能量衰减,导致结果图像呈现中心亮四周黑的现象。

2、不同颜色的光折射率不同,白光经过镜头到成像sensor时候,由于折射率问题,会导致不同颜色光落到不同位置上,引起偏色。

最简单暴力的矫正方法:将输入图像平均分成24x24之类的块,默认中心块的亮度和颜色为gt,将其他块的亮度和颜色直接往中心块靠齐。矫正前和矫正后图像可以参考如下图片。

需要特别注意的是,本身来说,核心缺陷在于中心进光量远大于边角,这一步虽然可以亮度/颜色强行修正,但是必然出现噪声放大和缓解不了解析力不足的缺陷,

边角去噪可以在继续牺牲解析力情况下,缓解放大后的边角噪声,但是边角解析力在不引入额外设备或者说叠多帧的条件下,那是基本没救了的。

1.4 ISP-NR Raw

NR Raw(noise reduction for Raw)也就是Raw域去噪,单纯的图像去噪算法在这几十年发展中,已经有了无数种,简单按类别来分,就有简单空域滤波(比如高斯),考虑像素值相识性(如双边),变换域去噪(如小波),考虑图像块内容结构相似性(如nlm,bm3d),加入时域信息(mfnr),基于聚类训练(如各类字典或者RAISR等),基于nn网络等。

去噪算法这块,有兴趣的后面慢慢折腾讲,这里展开讲的话,相对于isp来说,就有点太发散了。我们这里重点只讲下isp raw当前这个节点去噪的明显优势。

去噪之前,首先我们需要知道噪声产生原因:噪声一般是 sensor 接收光子,然后转化成 RAW 图的过程中产生的,通常由这几个阶段参数:

1、sensor接收到光粒子,光粒子激发电子时候,会产生 photon noise,该噪声服从泊松分布。

2、sensor本身发热产生暗电流,引入dark noise 或者热噪声,该噪声服从泊松分布。

3、电子产生电流再被模拟放大器放大信号时候,产生read noise噪声,属于加性噪声。

4、模拟信号进行ADC模数转换,得到离散照度值时候,会产生adc 噪声,也属于加性噪声。

总结下来,Raw图像上一共应该会有两类噪声:泊松和加性噪声。 设备在实验室特定环境下,拍摄特定场景并通过计算,可以直接估算出这两类的噪声参数

将这些噪声参数,引入去噪算法中,比如nlm之类权重计算时候,加入这些参数引导去噪,可以进一步改善算法去噪效果。更明显优势是:当我们有了sensor的噪声参数之后,就可以根据这些参数数据,生成符合该sensor噪声形态的无数噪声图像数据,这些噪声叠加到干净gt图像上之后,就有了无数训练数据对,nn去类算法最头痛的训练数据问题在这里得到解决,并且nn训练时候只需要学会对这类噪声形态去噪,泛化性要求明显降低,对去噪效果提升和模型小型化非常友好,

但是如果Raw图像经过了后续的Demosiac/gamma/ltm之类操作之后,那么噪声形态会被严重破坏,导致无法估算sensor的噪声参数。所以后续阶段上做去噪,不止无法使用噪声参数这个先验信息,还将面对更复杂的噪声形态

1.4 RAW ISP AWB

AWB(Auto White Balance)也就是自动白平衡,该模块存在的原因在于,人眼本身拥有视觉矫正功能,它可以在不同光源情况下,还原识别出物体本身的颜色。

但是sensor没有这个能力,光源变化产生的颜色变化,会对sensor带来一样的变化影响,不同色温环境下,拍出来的图像颜色会随着色温变化而变化(如暖色温情况下,排出的结果图会偏红)。

自动白平衡就是给sensor加上人眼的视觉矫正功能,简单实现来说,就是计算出当前场景的偏色情况,然后方向补偿,将偏色强行拉回到正常颜色上。最暴力的做法,在需要矫正的环境光线下拍一张灰卡,灰卡在实际场景上拍摄出来的偏色层度,就是WB需要反向补偿矫正的强度。

1.5 RAW ISP demosaic

Demosaic也就是去马赛克,该模块存在价值,主要是为了节约sensor成本,理论上来说,将拍摄现实场景画面,使用三个sensor同时收集r,g,b通道信息,并保证r,g,b通道像素点对齐的话(其实不保证也应该没关系,配准算法后端对齐后也能用),就不需要Demosaic,直接可以得到rgb彩色图像了。

RAW ISP demosaic(RAW图像处理中的插值处理)是图像处理中的一项重要步骤,它用于将原始RAW图像数据转换成彩色图像。当摄像头捕捉到图像时,传感器通常只能记录单色(例如红色、绿色和蓝色)的图像信息,而不是完整的彩色图像。为了生成彩色图像,需要对这些单色数据进行插值处理,将它们组合成完整的彩色图像。

这个过程通常包括以下步骤:

1. **Bayer图像排列**:传感器记录的原始数据通常采用 Bayer 排列,其中单个像素只记录一种颜色(红、绿或蓝),并按照一定的模式排列。常见的 Bayer 排列模式包括 RGGB、BGGR、GRBG 和 GBRG。

2. **插值处理**:插值处理是将单色像素插值为彩色像素的过程。最常见的插值算法之一是双线性插值,它通过对周围像素的加权平均来估算中间像素的值。还有一些更复杂的插值算法,如基于梯度的插值算法、自适应插值算法等,它们可以在不同条件下提供更好的性能和质量。

3. **去马赛克处理**:在插值完成后,可能需要进行去马赛克处理,以减少图像中可能出现的色斑和伪影。去马赛克处理通常是通过一系列滤波和平滑操作来实现的。

4. **色彩校正**:最后,可能需要进行色彩校正以调整图像的颜色和对比度,以确保最终输出的图像质量和色彩准确性。

总的来说,RAW ISP demosaic 是将原始的单色图像数据转换成彩色图像的关键步骤之一,它对于获得高质量的彩色图像具有重要意义。

二、RGB

2.1 rgb isp之gamma

ISP流程里加入gamma

1、在液晶屏作为新一代显示器之前,早期的显示器设备主要是一种叫CRT的显示设备,这类显示器输入电压和屏幕亮度并不是线性关系,而是大概满足:gamma_2.2的映射关系,所以图像输入数据,需要反向进行gamma_1/2.2的调整,来保证图像显示正常。

2、人眼对环境亮度的响应并不是线性关系,而是对暗处环境变化更加敏感,所以通常我们希望对暗区提亮和拓宽暗区的动态范围。

但是目前实际上来说,并不会完全参考所谓gamma_1/2.2之类操作,而是通常ISP调试时候,会根据不同硬件,不同应用场景和不同客户喜好,针对性的做不同强度的gamma调整。

并且随着动态范围和对比度调整算法的相关发展,除了全局gamma之外,各类局域gamma或者叫ltm调整之类算法,也被广泛应用在ISP内部芯片中

2.2 rgb isp 之CCM

CCM(Color Correction Matrix)也就是颜色矫正矩阵,该模块引入的原因在于:

1、sensor本身并不能保证很好的色彩还原,不同的镜头/感光芯片对色彩的还原程度都有不同强度的偏差。

2、ISP前端处理,比如Gamma之类操作,会导致图像的色彩还原效果偏差变得更加严重。

因此,我们需要一步类似标定的颜色矫正工作,将不同硬件差异的sensor和不同gamma强度调整等操作后的图像,还原到真实色彩空间样子。

简单来说,就是我们希望得到一个3x3的M矩阵,可以让右边输入图像的R/G/B颜色,经过该矩阵变换后还原为左边颜色水平。反应到实际操作:

1、获取到当前sensor拍摄,待CCM矫正的RGB 24色卡图像,作为input图像。

2、使用现有拍摄好,色彩还原良好的24色卡图像作为ref(这个标准图像可以直接在网上找到),取出24色卡上各自对应色块信息填充到公式中(所以公式中的n=24, 有些计算里面色块最下面那排没有参加计算,这种情况下n=18)。

3、使用最小二乘法,求解出该sensor的颜色矫正矩阵M。

这里需要特别注意的是,通常来说ISP走到这一步的时候,基本是已经经过了AWB白平衡调整了,所以必须要保证这里做颜色矫正,不会破坏调整好的白平衡效果,那么就需要求解出的M矩阵还要满足一个特定条件:

a11+a12+a13=1.0

a21+a22+a23=1.0

a31+a32+a33=1.0

让原本R=G=B的输入图像,在经过M矩阵矫正之后,还能满足Rnew=Gnew=Bnew。所以在前面第三步,求解M的时候,需要使用带约束条件的最小二乘法求解。

2.3 rgb isp csc

CSC(Color Space Convert)也就是颜色空间转换,在ISP里面的物理意义,通常都是都是将RGB图像转换到YUV空间中。这一步的基本左右,在我理解里面主要是两方面考虑:

1、将rbg分离为Y(亮度)和UV(颜色)信息,由于人眼对亮度信息的敏感程度远大于颜色,因此在一些亮度调整,纹理信息处理(Y去噪/锐化)等操作,可以在Y通道针对性处理;而一些对亮度纹理信息不相关的颜色操作,就可以在uv通道上进行调整。

2、ISP里面通常转换后的UV通道图像尺寸,宽高都只有Y一半左右,也就是RGB转YUV数据之后,全图像的像素值数量减少一半,ISP需要处理的数据量大幅度降低。

常见的RGB转YUV方法,都是一些标准公式操作,我这边就不详细讲解了,小伙伴们可以参考:

图像信号处理芯片设计原理----11 RGB转YUV及YUV格式 - 知乎

YUV有多少种标准?为什么YUV和RGB转换有那么多种公式? - 知乎

等文章,需要特别小心的就是,RGB和YUV的数据转换公式有很多套,当使用了某一个RGB转YUV格式之后,必须使用它配套的YUV转RGB公式,才能对应恢复出原图

三、yuv

上文已经分别讲了raw域和rgb域的相关算法流程 从前面文章里面可以看到,在Raw和Rgb域里面,很多ISP算法操作,更像是属于sensor矫正或者说sensor标定操作。本质上来说,设计的目的上很多是为了改善sensor本身的硬件缺陷。

而在Yuv域中,更多一些的是对图像画质的增强或者说风格化处理,在设计意义上,与前面Raw和Rgb阶段稍微存在一点区别。如前文描述,Rgb图像经过CSC格式转换得到YUV图像,将人眼敏感的亮度信息和不太敏感的颜色信息分离。因此,在Yuv阶段整个流程中,可以看作是能够并行的对亮度通道Y处理,和对颜色通道UV处理。

2.1 Y通道处理

2.1.1 Luma NR

Luma NR也就是对亮度通道去噪,其实前面Raw格式阶段,已经有去噪模块,并且有提到,在Raw图像上去噪,去噪难度上能明显好于在后端去噪。但是这块存在历史问题,以前的ISP设计或者说低端硬件设备上,通常无法集成太强大的复杂去噪算法,这就导致Raw图像去噪时候,为了保留更多细节,通常并不会做太多或者太强的去噪,导致后面这边YUV处理时候,需要做进一步的去噪处理。

就目前来说,比较好的ISP上,比如最近比较火的AI ISP,通常都集成的相对强大的Raw去噪算法,可以做到在保住尽可能多细节情况,把图像噪声基本处理到期望水平。这种情况下Yuv这里,就可以直接把去噪模块省掉了。

常见的luma NR算法有很多,这里就不详解列举了,后面要研究去噪算法时候再慢慢折腾。

如下图所示:左边为待去噪图像,右边为Luma去噪后图像,可以看到去噪后图像上亮噪基本没了,但是由于没有UV去噪,导致残留有大量的色斑

2.2.2 Edge Enhance

Edge Enhance某种程度上可以理解成抗噪声的图像锐化,期望是在不明显放大噪声情况下,对图像做一些锐度调整,让图像清晰度看起来更加符合人眼感觉。需要注意的是:该模块通常可以明显提升图像清晰度,让图像纹理更清晰,但是并不能无中生有,生成出图像上原本没有的纹理细节。

常见的作法有选择性锐化或者说多尺度锐化,简单理解就是将输入图像分解到不同频段,在不同频段做纹理细节或者说边缘检测,然后做不同强度的锐化增强,进而得到期望的清晰度增强结果图像。

但是边缘增强,并不是越强越好,如下图可以看到,右边锐化后结果图像,红框位置出现了明显黑白边异常,因此调整边缘增强时候,需要主要各个频段增强系数,避免图像异常。

根据个人经验来说,这类算法在实现上,最大的难点在于如何抗噪声干扰,也就是如何保证确实只对连续的边缘进行了增强,这就需要比较准确的,从噪声中分离出边缘细节。但是换句话说,既然都能把噪声和边缘细节分离出来,那基本上也就做了和去噪类似的事情。换个角度来说,如果去噪算法足够好,那么细节增强时候,不用考虑噪声干扰的话,该算法在设计和实现上,将会变得非常简单。

2.1.3 Contrast&Brightness

亮度的定义上:Y图像上像素值越接近255表示图像越亮,越接近0表示图像越暗;

对比度的定义上:假定图像亮度范围为[a, b],那么b-a越接近255则表示图像对比度越强,反之越接近于0,则表示图像对比度越差。

数字图像处理上,定义了最常见的亮度/对比度调整公式:g(x)=αf(x)+β, 其中α和β分别表示图像的对比度和亮度调整强度。

常用的对比度调整算法还有直方图均衡化,CLAHE等,主要用来控制结果图像的用户风格喜好。

简单效果对比,可以参考如下截图(左图为亮度/对比度调整前,右图为调整后)。

2.2 UV通道处理

2.2.1 chroma NR

Chroma NR也就是彩色噪声去除,它的实现和Luma NR有比较大的区别,最明显的差异在于人眼对颜色的敏感程度远小于亮度变化,因此设计UV通道去噪时候,可以不用考虑微弱纹理,只需要保住强边就好,简单暴力来说,可以直接使用多尺度的强保边滤波器进行去噪处理, 另外在不考虑微弱纹理情况下,多帧堆叠对去uv色噪非常友好。当然了,如果是因为awb异常导致的整体色斑偏色或者暗电流整片底噪的话,那当我没说过。。。

需要特别小心2个地方:1、边缘颜色扩散。2、滤波去噪后uv出现颜色偏差。一般来说,会考虑将y通道信息加入滤波,使用y通道信息作为引导,来改善滤波可能引起的颜色扩散和偏色等问题

具体算法实现的话,等后面有兴趣整理这块时候,在单独慢慢折腾了。对细节感兴趣的话,小伙伴们可以先参考这个:刘斯宁:Understanding ISP Pipeline - Noise Reduction

去噪前和去噪后效果对比大致如下,可以看到输入图像上色斑基本处理干净。

2.2.2 Hue & Saturation

Hue & Saturation主要是在做颜色和饱和度调整,简单来说就是根据需求,针对性的对图像不同区域的UV通道信息进行调整。YUV格式之类科普我这里就不做了,需要了解的话,可以参考:YUV格式到底是什么?-腾讯云开发者社区-腾讯云 等资料。

具体来说,这里设计的功能,最初主要用来对不同应用场景和不同客户喜好的风格调整,比如希望颜色更鲜艳一些之类需求。随着发展逐渐加入了肤色调整(让肤色还原度更高),天空调整(比如让天空更蓝)等操作,近些年很多还加入了场景适配,简单理解就是对预览输入画面进行场景识别,比如风景/人像/宠物/美食等,对不同场景适配不同参数,让对应的场景颜色等维度,分别能都更加符合人眼感官。

具体颜色转换相关细节,这里也不深入讲了,后面研究这块时候慢慢刷再。目前的话,小伙伴们,可以参考:刘斯宁:Understanding Hue and Saturation 等资料

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

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

相关文章

硅谷甄选项目笔记

硅谷甄选运营平台 此次教学课程为硅谷甄选运营平台项目,包含运营平台项目模板从0到1开发,以及数据大屏幕、权限等业务。 此次教学课程涉及到技术栈包含***:vue3TypeScriptvue-routerpiniaelement-plusaxiosecharts***等技术栈。 一、vue3组件通信方式 通信仓库地…

maven下载与使用

Maven介绍 Maven 是一款为 Java 项目构建管理、依赖管理的工具(软件),使用 Maven 可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。 总结:Maven就是一个软件,掌握软件安装、配置、以及基…

苍穹外卖项目笔记

软件开发流程 需求分析:说明书和原型 设计:UI,数据库,接口设计 编码:项目代码,单元测试 测试:测试用例,测试报告 上线运维:软件环境安装,配置 软件环境…

《大模型技术要求标准》重磅发布,九章云极DataCanvas公司助力我国大模型技术发展

近日,中国信息通信研究院(简称“中国信通院”)重磅发布**《人工智能开发平台通用能力要求 第4部分:大模型技术要求》**(以下简称“大模型技术要求标准”),九章云极DataCanvas公司依托在大模型领…

Linux收到一个网络包是怎么处理的?

目录 摘要 ​编辑 1 从网卡开始 2 硬中断,有点短 2.1 Game Over 3 接力——软中断 3.1 NET_RX_SOFTIRQ 软中断的开始 3.2 数据包到了协议栈 3.3 网络层处理 3.4 传输层处理 4 应用层的处理 5 总结 摘要 一个网络包的接收始于网卡,经层层协议栈…

Samtec应用漫谈 | EVSE基础设施的前进道路

【摘要/前言】 能源的格局正在不断变化,燃油价格正在上升,因此越来越多的人正在考虑个人电动车的经济性。 此外,全球物流公司正在更多地采用电动面包车和卡车进行物流运输。大街小巷中,大家可以看到各式新能源汽车,电…

闻了刚脱下的袜子导致肺部感染真菌?后果很严重

之前有网友分享自己只因闻了刚脱下的袜子,就导致了肺部感染真菌的经历,引发众多网友的关注与热议。 那么,臭袜子又怎么会和肺部感染有关系呢?臭袜子为什么不能闻呢?袜子上面到底有什么有危险的成分呢? 图源…

10-shell编程-辅助功能

一、字体颜色设置 第一种: \E[1:色号m需要变色的字符串\E[0m 第二种: \033[1:色号m需要变色的字符串\033[0m ########################### \E或者\033 #开启颜色功能 [1: #效果 31m #颜色色号 \E[0m #结束符 1,颜色案例 2,效果案例 二、gui&am…

应急响应实战笔记04Windows实战篇(1)

第1篇:FTP暴力破解 0x00 前言 ​ FTP是一个文件传输协议,用户通过FTP可从客户机程序向远程主机上传或下载文件,常用于网站代码维护、日常源码备份等。如果攻击者通过FTP匿名访问或者弱口令获取FTP权限,可直接上传webshell&#…

C语言学习 五、一维数组与字符数组

5.1一维数组 5.1.1数组的定义 数组特点: 具有相同的数据类型使用过程中需要保存原始数据 C语言为了方便操作这些数据,提供了一种构造数据类型——数组,数组是指一组具有相同数据类型的数据的有序集合。 一维数组的定义格式为 数据类型 数…

删除数组中的指定元素(了解如何删除数组中的指定元素,并返回一个新的数组,看这一篇就足够了!)

前言:有时候我们会遇到要在数组中删除指定元素,但是不能创建新的数组,那么这个时候应该如何操作呢? ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 废话不多讲,让我们…

阿里 Modelscope 创空间部署在本地环境操作文档

创建创空间的步骤直接跳过。 备注:我的电脑是Windows 第一步:获取创空间代码,直接下载代码太慢了,建议通过git获取代码 第二步:复制链接,打开cmd 直接粘贴回车下载。下载完之后的到了我的Service-Assistant文件夹。再git clone https://gith…

幻尔机械臂FPV安装darknet_ros(YOLO V3)

mkdir -p catkin_workspace/src cd catkin_workspace/src git clone --recursive gitgithub.com:leggedrobotics/darknet_ros.git cd ../ 在ROS工作空间目录下,执行命令: catkin_make -DCMAKE_BUILD_TYPERelease 发布摄像头图像话题: …

电商API数据采集接口——电商大数据构建及智能应用

现在越来越多的电商企业和运营都开始关注数据的应用,在13年淘宝运营技巧的爆发,这其实就是数据带来的红利。在数据大爆炸的时代,数据分析已经成为了企业制定策略、发现问题的重要方法,所以,数据分析绝对是企业管理的贤…

利用云手机高效运营多个海外社媒账户

随着全球化进程的不断推进,中国出海企业和B2B外贸企业日益重视海外社媒营销,将其视为抢占市场份额的关键策略。在海外社媒营销中,企业通常会在多个平台上批量开通账户,搭建自己的社媒内容矩阵。本文将会介绍如何用云手机高效运营多…

【HarmonyOS】ArkUI - 页面路由

一、概念 页面路由是指在应用程序中实现不同页面之间的跳转和数据传递。 案例:第一次使用某个购物应用,打开时肯定会是一个登录页,在登录成功以后,会跳转到首页,然后可能会去搜索,就会进入到搜索列表页&am…

NFTScan | 03.18~03.24 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2024.03.18~ 2024.03.24 NFT Hot News 01/ NFT 系列 NodeMonkes 地板价已超越 BAYC 3 月 18 日,据数据显示,NFT 系列 NodeMonkes 地板价已超越 Bored Ape Yacht …

C#宿舍信息管理系统

简介 功能 1.发布公告 2.地理信息与天气信息的弹窗 3.学生信息的增删改查 4.宿舍信息的增删改查 5.管理员信息的增删改查 6.学生对宿舍物品的报修与核实 7.学生提交请假与销假 8.管理员对保修的审批 9.管理员对请假的审批 技术 1.采用C#\Winform开发的C\S系统 2.采用MD5对数据…

python每日分析练习:电商平台用户行为数据洞察

模拟电商平台进行数据分析。数据分析最重要的是分析思路,工具是辅助,企业案例都是基于实际案例简单模拟后给出,只有通过实际的练习才能提高我们对数据的敏感度和分析能力,每天一个分析练习场景,一起打怪升级 场景与分…

(bug2总结)-mysql 字段为varchar,用int去查的时候可能会多返回数据

场景:表结构和数据如下图 查询语句如下 总结: mysql 字段为varchar,用int去查的时候可能会多返回数据。mysql版本为5.7.4