机器视觉-相机、镜头、光源(总结)
目录
1、机器视觉光源概述
2、光源的作用
3、光谱
4、工业场景常见光源
4.1、白炽灯
4.2、卤素灯
4.3、 荧光灯
4.4、LED灯
4.5、激光灯
5、光源的基本性能
5.1、光通量
5.2、光效率
5.3、发光强度
5.4、光照度
5.5、均匀性
5.6、色温
5.7、显色性
6、基本光学原理
6.1、光的直线传播
6.2、光的反射
6.3、光的折射
6.4、光的散射
6.5、光的透射
6.6、光的偏振
6.7、光的衍射
6.8、光的波段
6.9、光颜色的合成和互补
7、光学辅助配件
7.1、偏振片
7.2、漫射片
7.3、棱镜
7.4、反射镜
7.5、分光镜
8、光照方式
8.1、直射光
8.2、漫射光(扩散光)
8.3、偏光
8.4、平行光
9、相机、镜头的分类和相关参数
10、光源的分类和应用场景
11、相机的选型和应用
12、镜头选型和应用:
13、光源选型和应用
13.1、光源选型标准
13.2、选择光源时应该考虑的主要特征
13.3、光源选型的步骤
13.4、光照方式
13.5、光源选型要领
13.6、光源选型技巧
13.7、光源选型案例----酒瓶盖条码检测
1、机器视觉光源概述
光照的目的,是提高对比度,突出目标对象,以便提取出其轮廓等物理特征。光源作为辅助成像设备,是机器视觉系统的重要组成部分,它为机器视觉系统的图像获取提供足够的光线。
2、光源的作用
机器视觉系统的核心是图像的采集和处理,所有信息均来源于图像,图像的质量对整个视觉系统极为关键,一副好的图像可以提高整个系统的稳定性,从而大大降低图像处理算法的难度,同时提高系统的精度和可靠性。
光源作用:可以照亮目标,提高目标亮度。
形成最有利于图像处理的成像效果。
克服环境光干扰,保证图像稳定性。
用作测量的工具或参照。
3、光谱
光本质上是一种电磁波,在整个电磁辐射波谱中,可见光只占 其中一小部分,波长在380nm ~ 780nm之间的那部分可以为人眼所感知,称为可见光。对不可见光,一般将波长在10nm-400nm之间的光称为紫外光,将波长在770nm ~ 1mm之间的光称为红外光。
4、工业场景常见光源
4.1、白炽灯
波长:主要集中在红外和可见光部分,波长范围为380nm-700nm。
亮度:较高,但随着温度升高亮度会下降。
均匀性:低,因为灯光在灯泡内部时光线无法均匀分布。
稳定性:低,因为白炽灯的发光效率随着工作时间和温度变化而变化。
寿命:短,正常工作条件下寿命约为1000-2000小时。
功率和能耗:较高,因为白炽灯的热损失和效率低,导致能耗大。
4.2、卤素灯
波长:主要集中在可见光部分,波长范围为380nm-720nm。
亮度:较高,因为卤素灯的热效率更高。
均匀性:较好,因为卤素灯的光线分布更均匀。
稳定性:高,因为卤素灯的发光效率相对稳定。
寿命:相对较长,约为3000-4000小时。
功率和能耗:较高,但相对于白炽灯有所改善。
4.3、 荧光灯
波长:主要集中在可见光部分,波长范围为380nm-720nm。
亮度:较高,但发光效率较低。
均匀性:较好,因为荧光灯采用的是汞蒸气弧光灯技术。
稳定性:较好,因为荧光灯的发光效率相对稳定。
寿命:较长,约为6000-10000小时。
功率和能耗:相对较低,因为荧光灯的发光效率较高。
4.4、LED灯
波长:可控制在红、橙、黄、绿、蓝、靛、紫等不同颜色,波长范围为380nm-1000nm。
亮度:较高,发光效率可超过100lm/W。
均匀性:较好,因为LED灯采用的是自发光技术。
稳定性:高,因为LED灯的发光效率相对稳定。
寿命:较长,一般为50000-100000小时。
功率和能耗:较低,因为LED灯的发光效率高。
4.5、激光灯
波长:由激光二极管产生,波长范围可达到1064nm-1720nm。
亮度:非常高,因为激光灯的发光效率极高。
均匀性:较好,因为激光灯的光线分布可精确控制。
稳定性:非常高,因为激光灯的发光效率非常稳定。
寿命:较长,一般可达到数万小时。
功率和能耗:相对较低,因为激光灯的发光效率高。
5、光源的基本性能
5.1、光通量
光源在单位时间内发射的可以引起人眼感光刺激的那部分辐射通量称为光通量,单位为流明(lm)。由于人眼对不同波长光的感光性能不同,不同波长的光源,即使辐射功率相同,其光通量也不一定相同,相机与人眼的感光范围和感光能力不同,在相同光通量下,相机与人眼感受的光的强弱也有差异。
5.2、光效率
光源消耗单位电功率所产生的光通量称为发光效率,是用光源发出的光通量除以电功率表示。其计量单位为流明/瓦(lm/w)。
5.3、发光强度
光源在空间沿着某一方向上,单位立体角内发出的光通量大小称为发光强度,单位为坎德拉(cd)。
5.4、光照度
被照面单位面积接受的光通量称为光照度,单位为勒克斯(lx)
5.5、均匀性
通常指光源发出的光线在某一受照面的一定范围内的照度值均匀,亮度一致。则称光源在该受照面的照度均匀。光源在该受照面的均匀性受到光源本身的设计以及工作距离和工作角度影响。
5.6、色温
色温表示光线中包含颜色成分的一个计量单位,从理论上讲,色温是指绝对黑体从绝对零度(-273℃)开始加温后所呈现的颜色。 黑体在受热后,逐渐由黑变红,转黄,发白,最后发出蓝色光。当加热到一定的温度,黑体发出的光所含的光谱成分,就称为这一温 度下的色温,计量单位为“K”(开尔文)、如果某一光源发出的光, 与某一温度下黑体发出的光所含的光谱成分相同,即称为某K色温。
5.7、显色性
显色性是光源的光照射到物体上所产生的客观效果和对物体真实颜色的显现程度。光源的显色性是由显色指数(Ra)来表明,它表示物体在光下颜色比基准光(太阳光)照明时颜色的偏离,能较全面反映光源的颜色特性。显色性高的光源对颜色显现能力较强,在其照射之下看到的颜色就比较接近自然原色,比较逼真;显色性低的光源对颜色的显现能力就比较差,在其照射下看到的物体颜色与自然原色差异也比较大。
6、基本光学原理
6.1、光的直线传播
光在同种均匀介质中沿直线传播
6.2、光的反射
光在两种物质分界面上改变传播方向又返回原来物质中的现象,叫光的反射。反射光线与入射光线、法线在同一平面上,反射光线和入射光线分居在法线的两侧,反射角等于入射角
6.3、光的折射
光从一种透明介质斜射入另一种透明介质时,传播方向一般会发生变化,这种现象叫光的折射。如下图,其中i为入射、i'为折射角、n1和n2分别为界面两侧物质的折射率。
6.4、光的散射
光线照射到微小构造时,不再严格遵循反射和折射等规律,其能量将以散射点为中心,杂乱无章的向四周发射出去,这种现象称为光的散射。
6.5、光的透射
当光入射到透明或半透明材料表面时,一部分被反射,一部分被吸收,还有一部分可以透射过去。被透射物体为透明或半透明体,如玻璃、滤色片等。透射率受物体材质和厚度的影响。光的波长越长,对物质的透射能力越强。
6.6、光的偏振
光是电磁波,是电场和磁场交互感应行进的一种能量传播,振动方向由电矢量表征;在光的传播过程中,光矢量的横向振动状态相对于传播方向表现出不对称性,称之为光的偏振性。
6.7、光的衍射
衍射又称为绕射,波遇到障碍物或小孔后通过散射继续传播的现象。衍射现象是波的特有现象,一切波都会发生衍射现象。波长越长越容易发生衍射。
6.8、光的波段
光色 | 波长(nm) | 代表波长 |
红 | 630~780 | 700 |
橙 | 600~630 | 620 |
黄 | 570~600 | 580 |
绿 | 500~570 | 550 |
青 | 470~500 | 500 |
蓝 | 420~470 | 470 |
紫 | 389~420 | 420 |
6.9、光颜色的合成和互补
7、光学辅助配件
7.1、偏振片
偏振片的作用是限制特定的光波通过,使用偏振片可以消除光反射产生的影响从而突出表面的细节。一般安装在镜头上或光源的一侧。
7.2、漫射片
漫射片是机器视觉光源中一种常见的光学器件,漫射片可以使光照变得均匀,减少不需要的反光
7.3、棱镜
不同频率的光在介质中的折射率是不同的,根据光学的这一基本原理可以把不同颜色的复合光分开,从而得到频率较为单一的光源。
7.4、反射镜
反射镜可以优化光源的光路和角度,为光源的安装提供了更大的选择空间。
7.5、分光镜
分光镜通过特殊的镀膜技术,不同的镀膜参数可以实现反射光和折射光比例的任意调节,同轴光就是分光镜的具体应用。
8、光照方式
8.1、直射光
直射光为来自于一个方向的光,可以在亮色和暗色阴影之间产生相对高的对比度图像
8.2、漫射光(扩散光)
各种角度的光混合在一起。日常中的生活用光几乎都是扩散光
8.3、偏光
在垂直于传播方向的平面内,光矢量只沿着某一个固定方向偏振的光,通常是利用偏光板来阻止特定方向的反射
8.4、平行光
照射角度一致的光,太阳光就是平行光。发光角度越窄的LED直射光越接近平行光
9、相机、镜头的分类和相关参数
10、光源的分类和应用场景
有关相机、镜头、光源方面的知识在前面的文章分享过,这里放个链接:
光源、镜头_光源 同轴光 环光 条光 面光-CSDN博客
相机、光源(结构光、面光源、红外紫外光源)_红外光和结构光-CSDN博客
相机、镜头参数详解以及相关算公式_相机镜头参数知识普及-CSDN博客
11、相机的选型和应用
已知:被检测物体大小为A×B,要求能够分辨率小于C,工作距离为D
相机选型步骤:
(1). 相机的最低分辨率=(A×B)/(C×C) ,
(2). 相机在选型时,最好缺陷的面积在3到5个像素以上,在选择相机时,相机的最低分辨率应大于3×(A×B)/(C×C)。
相机选型原则:当视野大小即检测目标大小一定时(选相机时一般将目标大小视为视野大小),相机分辨率越大,精度越高,图像分辨率也越大;当视野大小不确定时,不同分辨率相机也能达到同样的精度,这时选择大像素相机可以扩大视野范围,减少拍摄次数,提高测试速度。若1个是1百万像素,另1个是3百万像素,当清晰度相同(精度均为20um/pixel),第1个相机的FOV是20mm×20mm=400平方mm,第二个相机的FOV是1200平方mm,拍摄生产线上同样数量的目标,假设第1个相机要拍摄30个图像,第2个相机则只需拍摄10个图像就可以了。
相机选型案例(已定镜头):已知客户的镜头的尺寸是1/3,接口是CS接口,视野大小为12*10mm要求精度为0.02mm,则应该选用多大分辨率相机?
计算方法:(12/0.02)*(10/0.02)=30万像素,但是如果是缺陷检测通常不会只用一个像素表示一个精度,而是乘以3-4倍,即30*4=120万像素。最低不少于120万像素。
12、镜头选型和应用:
已知:被检测物体大小为A×B,要求能够分辨率小于C,工作距离为D
镜头选型步骤:
(1)、计算短边对应的像素数E = B / C,相机长边和短边的像素数都要大于E;
(2)、像元尺寸 = 产品短边尺寸B / 所选相机的短边像素数
(3)、放大倍率 = 所选相机芯片短片尺寸 / 相机短边的视野范围
(4)、可分辨的产品精度 = 像元尺寸 / 放大倍率 (判断是否小于C)
(5)、物镜的焦距 = (工作距离 × 相机传感器短边尺寸)/ 物体宽度。单位:mm
以上仅针对镜头的主要参数进行计算选择,其他如畸变、景深、环境等,可根据实际要求进行选择。
镜头选型案例(已定相机):
1、已知客户观察范围为30mm*30mm,工作距离为100mm,CCD尺寸为1/3',那么需要多少焦距的镜头
计算方法: 焦距 = (工作距离 * 相机传感器短边尺寸)/ 物体宽度
CCD1/3‘ = 4.8mm*3.6mm(垂直)
焦距(F) = (100 * 3.6) / 30 = 12mm
2.条形码识别:目标宽度 = 30 毫米,拍摄距离 = 300 毫米,CCD型号 = 1/4" (CCD宽度 = 3.2 毫米)
计算方法: 焦距 = (工作距离 * 相机传感器短边尺寸)/ 物体宽度
F = (300 * 3.2)/ 30 = 32mm
镜头、相机选型参考链接:工业相机与镜头选型方法(含实例)_工业相机选型-CSDN博客
工业相机、镜头、选型计算方式_工业相机选型计算公式-CSDN博客
13、光源选型和应用
13.1、光源选型标准
1)、光源均匀性要好,在有效的照射范围内,灰度值标准差要小。
2)、具有较宽的光谱范围,可以对不同材料的物体进行检测
3)、光照强度要足够,提高信噪比,利于图像处理
4)、具有较长的使用寿命及较高的稳定性,要保障光源在长时间运行状态下能够持续稳定的提供照明环境
5)、成本低,易根据现场情况定制特殊形状光源
13.2、选择光源时应该考虑的主要特征
1)、亮度:尽可能选亮的,当光源不够亮时,可能出现三种不好的情况:
1.1)、相机的信噪比不够,对比度下降,噪声增大。
1.2)、亮度不够,必须加大光圈,从而减少了景深。
1.3)、自然光等随机光对系统的影响会加大。
2)、光源均匀性:不均匀的光会造成不均匀的反射,关系到下面三个方面:
2.1)、视野范围部分应该是均匀的,图像中俺的区域就是缺少反射光,亮点即反射太强。
2.2)、不均匀的光会使视野范围内部分区域的光比其他区域多,造成物体表面反射不均匀。
2.3)、均匀的光源会补偿物体表面的角度变化,即使物体表面的集合形状不同,光源在各部分的反射也时均匀的
3)、光谱特性:当分析多颜色特征的时候,色温是选择光源的一个只要参数
4)、对比度:机器视觉应用的照明的最重要的任务就是使需要被观察的特征与需要被忽略的图像特征之间产生最大的对比度。
13.3、光源选型的步骤
1)、确定照明的类型:直射、漫射、透射
1.1)、确定要检测目标的内容(缺陷、外观检查、尺寸测定、有无、OCR、定位)
a、通过表面的反射检测微小物体表面的形状,可以使用暗场照明;
b、检查透明物体的透过率和不透明物体的轮廓,可以使用背光照明;
c、检测平坦的、光滑的表面较深的特征,消除阴影,可以使用同轴照明。
1.2)、检查表面状态(镜面、糙面、曲面、平面、立体):
a、 曲面,考虑用散射圆顶光;
b、平面、但粗糙的表面,尝试用同轴散射光。
2)、确定照明光源的外形及尺寸:环形光源、低角度、同轴光源、穹顶光源
2.1)、检测目标的尺寸(照明的大小,照明下端到被测物表面的距离 a、条形光源可灵活安装,照明面积较大,适合大目标的拍摄。
b、一般环形光源照射面积较大,可安装位置较高。
c、低角度环形光源照射面积较小,安装位置距离目标很近 d、同轴光源照明面积有限 e、穹顶光源安装位置距离目标较近,适合拍摄较小的目标
2.2)、安装环境(温度、外乱光等):如果有环境光影响造成晕光现象,尝试用单色光源,配一个滤镜
2.3)、视场范围、动态还是静态(相机快门速度): a、单个光源不能有效解决问题时可考虑使用组合光源 b、对于有频闪的光源,其曝光的频率和相机的采集频率需要匹配,频闪光源能产生比常亮照明强20倍的光。
3)、确定照明光源的颜色
3.1)、为了加大前景和背景的对比度,可以考虑用黑白相机与彩色光源结合,使用与物体颜色相同的光源照射,使其在相机中成白色区域;用与物体颜色补色的光源,使其在相机中呈黑色。
3.2)、若检测物体表面比较均匀,且缺陷非常小,可使用波长较短的光源,必要时可以考虑使用紫外光源
3.3)、对于需要通过透过率的差别来进行检测,可以使用红外光源,通常在印染包装表面材质或印字检测,可见光波段透过性不好的薄壁体内物体检测等。
13.4、光照方式
光源是影响机器视觉图像质量的重要因素,照明对输入数据的影响至少占到 30 % 。好的打光方式可以准确捕捉物体特征,提高物体与背景的对比度。
1)、高角度照射
特点:在一定工作距离下,光束集中、亮度高、均匀性好、照射面积相对较小。常用于液晶校正、塑胶容器检查、工件螺孔定位、标签检查、管脚检查、集成电路印字检查等(30、45、60、75等角度环光)。
2)、低角度照射
特点:对表面凹凸表现力强。适用于晶片或玻璃基片上的伤痕检查(90度环光,90度条光)
3)、垂直照射
特点:照射面积大、光照均匀性好、适用于较大面积照明。可用于基底和线路板定位、晶片部件检查等(0度环光、面光源)
4)、背光照射
特点:光源安置在与相机同轴且位于被测物体的后面。背光方式用来突出显示不透明物体的外形轮廓,所以这种照明方式只适合用于待测目标需要的信息可以从其轮廓中获取的场合。例如尺寸检测、形状判断等。(背光源、平行背光源)
5)、多角度照射
特点:RGB三种不同颜色不同角度光照,可以实现焊点的三维信息获取,适用于组装机板的焊锡部分、球形或半圆形物体、其他奇怪形状物体、接脚头(AOI光源—)。
6)、球积分照明
特点:360度底部发光,通过碗状内壁发射,形成球形均匀光照。用于检测曲面的金属表面文字和缺陷。(球积分光源,通常也叫圆顶光)
7)、同轴光照射
特点:类似于平行光的应用,光源前面带漫反射板,形成二次光源,光线主要趋于平行。用于半导体、PCB板、以及金属零件的表面成像检测,微小元件的外形、尺寸测量。(同轴光源、平行同轴光源)
13.5、光源选型要领
1)、条光选型:条光照射宽度最好大于检测的距离,否则可能会因为照射距离远造成亮度差,或者距离近而辐射面积不够。条光长度受光源安装高度影响,高度越高,光源长度越长,否则图像两侧亮度比中间暗。如果照明目标是高反光物体,最好加上漫射板。
2)、环光选型:根据光源安装距离,过滤某些角度光源。如光源安装尺寸高,选用小角度光源,同样高度越高,要求光源直径越大;目标面积小,且主要特征在表面中间,可选择小尺寸0角度或小角度光源;目标需要表现的特征如果在边缘,可选择90度环光,或大尺寸高角度环形光;检测表面划伤,可选择90度环光,尽量选择波长短的光源。
3)、条形组合光选型:条形组合光可根据被测目标形状、大小选择不同的条光进行组合;条形组合光在选择时,一定要考虑光源的安装高度,再根据四边被测特征点的长度宽度选择对应的条形光进行组合。
4)、背光源/平行背光源选型:根据物体大小选择合适大小的背光源,避免增加成本造成浪费;使用背光检测轮廓时,尽量使用波长短的光源,波长短的光源其衍射性弱,图像边缘不容易产生重影,对比度更高;检测液位可以将背光源测立使用;螺旋状、圆轴类产品尽量使用平行背光源。
5)、同轴光选型:根据目标大小选择合适发光面积的同轴光;同轴光的发光面积最好比目标尺寸大1.5~2倍左右,因为同轴光的光路设计是让光路通过一片45度半反半透镜改变,光源靠近灯板的地方会比远离灯板的亮度,所以,尽量选择大一点的发光面避免光线左右不均匀;同轴光安装时尽量不要离目标太高,越高,要求选用的同轴光越大,才能保证光源均匀性。
6)、平行同轴光选型:主要用于检测各种划痕;不能代替同轴光使用;检测划伤之类的产品,尽量不要选用波长长的光源。
13.6、光源选型技巧
1)、检测材料缺损使用亮度高的光
2)、精确定位使用合适波长的光
3)、检测玻璃上的刮痕使用非漫射的光
4)、检测透明包装使用漫射光
5)、检测快速移动的物体使用频闪光
6)、创造对比使用颜色光
7)、消除反射使用红外光
8)、消除颜色变化使用红外光
13.7、光源选型案例----酒瓶盖条码检测
产品:金属材质酒瓶盖条码检测 ,要求装在包装箱里检测
选型分析
1)、了解产品特性: 瓶盖上面是黑色,另有红黑交错背景图案,条码为激光刻印显灰色,为了显现出条码,应该将字符打亮,背景与字符分辨明显;我们如果选用红色光源的话,背景中的红色会滤掉打白,会干扰同为白色的字符,所以,我们应该利用光源的互补原理,采用蓝色光源,将红色背景尽量打黑;
2)、了解产品形状选择合适光源:瓶盖为圆形,直径为25MM,一般此情况可以选择同轴光或者环形光比较合适;
3)、了解产品材质特性选择合适光源: 瓶盖为金属材料,表面有印刷图案,比较光滑,反光度很强,选用同轴光或带角度的环形光比较合适;
4)、模拟现场打光选择能用的光源:由于酒瓶必须装在包装纸箱里,瓶盖离纸箱上顶部的距离有80MM,考虑需要留一定的空间,因此,瓶盖离光源需要的距离为100MM或以上,如此高的距离,小同轴光跟小环光以及低角度光就不能满足要求,必须选用大同轴光跟大环光。
选择大致的光源后,再进行性价比对比,选择性价比高的光源进行实际打光测试。
打光总结:
a、 同色打白,异色打黑(“红橙黄绿青蓝紫” 安装这个顺序,顺序比较近的打白, 比较远的打黑。用材质颜色的光会吸收其他颜色的光,反射出本身的光,就是亮色,在黑白相机中显示白色。)
b、 白色物体在任何光的照射下都是白色(白色是复合光,全反射)
c、黑色物体在任何光的照射下都是黑色(全吸收,不反射)
d、彩色成像,一般用白光
e、 对于单一频谱的光,没有特殊要求,红光就是最常用的
f、 红外主要测试金属物体,穿透性强
参考链接:机器视觉中的光源选型及打光方案分析_机器视觉中的光源与打光-CSDN博客
机器视觉中的打光技巧、选择光源的流程_机器视觉打光方式-CSDN博客
相关文章:
机器视觉-相机、镜头、光源(总结)
目录 1、机器视觉光源概述 2、光源的作用 3、光谱 4、工业场景常见光源 4.1、白炽灯 4.2、卤素灯 4.3、 荧光灯 4.4、LED灯 4.5、激光灯 5、光源的基本性能 5.1、光通量 5.2、光效率 5.3、发光强度 5.4、光照度 5.5、均匀性 5.6、色温 5.7、显色性 6、基本光学…...
第六十二周周报 HestGCL
文章目录 week 62 HestGCL摘要Abstract1. 题目2. Abstract3. 文献解读3.1 Introduction3.2 创新点 4. 网络结构4.1 基础4.2 HestGCL4.2.1 图的构造和数据的预处理4.2.2 双视图异构时空图神经网络4.2.3 预测与优化 5. 实验过程5.1 实验设置 6. 结论参考文献 week 62 HestGCL 摘…...
存储期类别
文章目录 前言一、自动存储期(Automatic Storage Duration)二、静态存储期(Static Storage Duration)三、动态存储期(Dynamic Storage Duration)四、线程存储期(Thread Storage Duration&#x…...
开源模型应用落地-Qwen2-VL-7B-Instruct-vLLM-OpenAI API Client调用
一、前言 学习Qwen2-VL ,为我们打开了一扇通往先进人工智能技术的大门。让我们能够深入了解当今最前沿的视觉语言模型的工作原理和强大能力。这不仅拓宽了我们的知识视野,更让我们站在科技发展的潮头,紧跟时代的步伐。 Qwen2-VL 具有卓越的图…...
风电叶片损伤YOLO检测数据集(猫脸码客第229期)
风电叶片损伤检测:为清洁能源保驾护航 一、风电叶片:清洁能源的关键组件 风电叶片作为风力发电的核心组件,在将风能转化为电能的过程中起着至关重要的作用。它犹如巨大的风车翅膀,捕捉流动的风,将其转化为机械能&…...
修改 RN 打包后生成的app-release 安装包的名称
在React Native项目中,修改打包后生成的Android app-release.apk 安装包的名称通常涉及修改Android的构建配置。以下是详细步骤: 修改Android打包后的APK名称 找到build.gradle文件: 打开你的React Native项目中的android/app/build.gradle文…...
大模型EfficientSam用于图像语义分割自动标注
安装labelme Labelme安装及使用教程-CSDN博客 pip install labelme -i https://pypi.tuna.tsinghua.edu.cn/simple 在安装的过程中因为会需要pyqt5 error: subprocess-exited-with-error Building wheel for PyQt5-sip (pyproject.toml) did not run successfully. │ exit …...
一个关于@JsonIgnore的isxxx()问题
一个关于JsonIgnore的问题 版本:2.13.5 <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><optional>true</optional></dependency>代码: Data public clas…...
Django-cookie,session
Cookie简介 Cookie,有时也用Cookies,是指web程序为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密),一般是以键值对的形式存在,Cookie具有不可跨域名性 Cookie是http协议中…...
HarmonyOS开发 - 本地持久化之实现LocalStorage支持多实例
用户首选项为应用提供Key-Value键值型的数据处理能力,支持应用持久化轻量级数据,并对其修改和查询。数据存储形式为键值对,键的类型为字符串型,值的存储数据类型包括数字型、字符型、布尔型以及这3种类型的数组类型。 在上一篇中&…...
【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成功训练(二)
配置torch环境 pip升级 因为一些包安装不成功可能和pip版本有关,所以先升级pip 吸取之前python有多个版本的经验,所以我指定了Python版本的pip进行升级 就是python3.8版本: /home/某某/Python3.8/bin/python3.8 (要换成你实际的…...
Flutter鸿蒙next 刷新机制的高级使用【衍生详解】
✅近期推荐:求职神器 https://bbs.csdn.net/topics/619384540 🔥欢迎大家订阅系列专栏:flutter_鸿蒙next 💬淼学派语录:只有不断的否认自己和肯定自己,才能走出弯曲不平的泥泞路,因为平坦的大路…...
c/c++--静态变量和静态函数(static)
目录 1 c静态函数和静态变量 1.1 C静态成员函数: 1.1.1定义与基本语法 1.1.2 不依赖于实例 1.1.3 访问限制 1.1.4共享数据 1.1.5 作用域与命名 1.1.6 工厂函数和工厂方法(常用途) 1.2 c静态函数() 1.3c静态变量 …...
Windows系统启动MongoDB报错无法连接服务器
文章目录 发现问题解决办法 发现问题 1)、先是发现执行 mongo 命令,启动报错: error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017; 2)、再检查 MongoDB 进程 tasklist | findstr mongo 发现没有进程&a…...
Linux的makefile与进度条小程序实践
makefile make命令主要功能使用方法常用选项 makefile文件基本结构使用案例变量定义内置变量(即系统定义的确定变量)伪目标模式规则条件语句注释makefile中的常用函数 进度条小程序创建文件编辑.h文件编辑.c文件创建main函数makefile文件执行效果 make命令 在linux中ÿ…...
latex写作基础
参考:https://www.bilibili.com/video/BV1ku4y1X7Rz 在线latex:https://cn.overleaf.com/ tex文件基本结构 \documentclass{article} % 文档类型,%是注释\usepackage{graphicx} % 导入各种包,这里是graphicx包\titl…...
Chromium HTML5 新的 Input 类型email对应c++
一、Input 类型: email email 类型用于应该包含 e-mail 地址的输入域。 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>test</title> </head> <body><form action"demo-form.php"…...
嵌入式Linux的AXI平台(platform)驱动教程
本文以JFMQL100的Linux系统的AXI接口的平台驱动为例,介绍嵌入式Linux的平台驱动编写、测试软件编写以及验证方式。本文的方法适用于任意嵌入式芯片Linux的物理地址映射的平台(platform)驱动的编写、测试与应用。 本文中AXI的开始地址为0x8000…...
什么是Java策略模式?与Spring的完美结合
文章目录 什么是策略模式?策略模式的组成部分: 策略模式的示例在Spring中的妙用1. 使用Spring配置2. 在上下文中选择策略3. 动态切换策略 总结推荐阅读文章 在软件设计中,策略模式是一种非常常见的设计模式,它能够让算法的变化独立…...
[Go实战]:HTTP请求转发
前言 在Web应用开发中,请求转发是一项核心且常见的功能,用于负载均衡、服务拆分、路由重定向和业务逻辑处理。通过在Go语言中封装一个通用的HTTP请求转发方法,我们可以简化代码结构,提升可读性、可维护性和可扩展性。本文将探讨如…...
【C++单调栈 贡献法】907. 子数组的最小值之和|1975
本文涉及的基础知识点 C单调栈 LeetCode907. 子数组的最小值之和 给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。 由于答案可能很大,因此 返回答案模 109 7 。 示例 1&#x…...
极狐GitLab 17.5 发布 20+ 与 DevSecOps 相关的功能【二】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
Django 5 增删改查 小练习
1. 用命令创建目录和框架 django-admin startproject myapp cd myapp py manage.py startapp app md templates md static md media 2. Ai 生成代码 一、app/models.py from django.db import modelsclass Product(models.Model):name models.CharField(max_length255, verb…...
【STM32 Blue Pill编程实例】-I2C主从机通信(中断、DMA)
I2C主从机通信(中断、DMA) 文章目录 I2C主从机通信(中断、DMA)1、STM32的I2C介绍2、I2C模式3、STM32 I2C 数据包错误检查4、STM32 I2C 错误情况5、STM32 I2C中断6、STM32 I2C 主发送和接收(Tx 和 RX)6.1 I2C 轮询模式6.2 I2C 中断模式6.3 I2C DMA 模式6.4 STM32 I2C 设备…...
基于SSM+小程序的旅游社交登录管理系统(旅游4)
👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 本旅游社交小程序功能有管理员和用户。管理员有个人中心,用户管理,每日签到管理,景点推荐管理,景点分类管理,防疫查询管理&a…...
高级java每日一道面试题-2024年10月24日-JVM篇-说一下JVM有哪些垃圾回收器?
如果有遗漏,评论区告诉我进行补充 面试官: 说一下JVM有哪些垃圾回收器? 我回答: 1. Serial收集器 特点:Serial收集器是最古老、最稳定的收集器,它使用单个线程进行垃圾收集工作。在进行垃圾回收时,它会暂停所有用户线程,即St…...
Java-内部类
个人主页 学习内部类(Inner Class)是Java编程中一项重要且强大的特性,它允许你在一个类的内部定义另一个类。内部类提供了一种将逻辑上相关的类组织在一起的方式,增加了代码的封装性和可读性。接下来带领大家进入內部类的学习。 …...
flutter集成极光推送
一、简述 极光推送,英文简称 JPush,免费的第三方消息推送服务,官方也推出众多平台的SDK以及插件。 参考链接 名称地址客户端集成插件客户端集成插件 - 极光文档 二、操作步骤 2.1 添加插件 flutter项目中集成官方提供的 极光推送flutte…...
D. Skipping 【 Codeforces Round 980 (Div. 2)】
D. Skipping 思路: 注意到最佳策略是先往右跳转到某处,然后按顺序从右往左把没有遇到过的题目全部提交。 将从 i i i跳转到 b [ i ] b[i] b[i]视为通过边权(代价)为 a [ i ] a[i] a[i]的路径,而向左的路径边权都是 0 0 0;目的是找到到从出发…...
【golang】学习文档整理
Binding | Echo 传值时注意零值和传空的区别 需要validate require 和 设置指针配合使用 保证不同值的返回不同 不能客户端传0值被判断为空 测试时要空值零值去测试字段是否正确返回 返回错误是否符合预期...
超大免费网站空间/搜索词
从设置进入是灰色的 但从控制面板进入可以更改设置...
温州市建设小学大南网站/南宁关键词排名公司
5 类型参数列表我们学习了模板函数和模板类的定义和使用。但是,看到的“类型形参表”都只有一个元素,那么,如果要定义多个类型,应该怎么样操作?在telplate<类型形参表>中,“类型形参表”可以定义多个…...
wordpress会员发布文章/上海公司排名
设置定时任务很简单,用Timer类就搞定了。一、延时执行首先,我们定义一个类,给它取个名字叫TimeTask,我们的定时任务,就在这个类的main函数里执行。代码如下:package test;import java.util.Timer;public cl…...
打开网站显示建设中/查询网站
为什么使用Maven? 手工操作较多,项目的构建过程都是独立的,很难一步完成。比如:编译、测试、部署等。开发时每个人的IDE配置都不同,很容易出现本地代码换个地方编译就出错 以往开发项目时,程序员往往需要…...
网站开发公司地址/广州市新闻发布
题库来源:安全生产模拟考试一点通公众号小程序 2021年流动式起重机司机报名考试及流动式起重机司机考试软件,包含流动式起重机司机报名考试答案和解析及流动式起重机司机考试软件练习。由安全生产模拟考试一点通公众号结合国家流动式起重机司机考试最新…...
政府 网站建设自查报告/搜什么关键词能搜到好片
如果使用了Set newname for datafile 1 to ‘新数据文件路径’;修改数据文件路径在recover前,需要使用switch datafile all;修改控制文件中关于数据文件的路径run{allocate channel c1 type disk;allocate channel c2 type disk;set newname for datafile G:\ORACLE…...