目录前言光阑光阑概述孔径光阑入射光瞳与出射光瞳入射光瞳(入瞳,EntrancePupils)出射光瞳(出瞳,ExitPupils)入射光瞳与出射光瞳主光线与边缘光线系统孔径光阑的确定相对孔径视场视场光阑(FieldStops)入射窗与出射窗视场的度量常见光学元件的视场孔径光阑与视场光阑的区别渐晕渐晕光阑渐晕系数远心光路、场镜及景深物方远心光路像方远心光路场镜光瞳衔接原则景深典型系统的光束限制望远镜开普勒望远镜显微镜前言在理想光学系统中,任意大小的物体能以任意宽的光束成一定倍率的像。当共轭距一定时,像的大小与物的大小成比例。在实际光学系统中,成像光束将会受到限制:成像系统中各个元件的大小有限,从
本文是文章传统图像处理方法实现车辆计数的后续。这里用OpenCV实现了基于yolov5检测器的单向车辆计数功能,方法是撞线计数。该代码只能演示视频demo效果,一些功能未完善,离实际工程应用还有距离。实现流程:(1)训练yolov5模型,这里就没有自己训练了,直接使用官方的开源模型yolov5s.pt;(2)运行yolov5工程下面的export.py,将pt模型转成onnx模型;(3)编写yolov5部署的C++工程,包括前处理、推理和后处理部分;(4)读取视频第一帧,用yolov5检测第一帧图像的车辆目标,计算这些检测框的中心点,(5)读取视频的后续帧,用yolov5检测每帧图像上的车辆目
目录一、抽象类1.1 抽象类概念:1.2 抽象类特点1.3 抽象类存在价值二、接口2.1 接口的概念2.2 接口的特点2.3 接口存在价值三、接口和抽象类的关系3.1 接口和抽象类相同点3.2 接口和抽象类的区别一、抽象类关键字:abstract 是模棱两可的,似是而非的,无法给出具体明确的1.1 抽象类概念:一个方法无法给出具体明确的,该方法可以声明为抽象方法拥有抽象类方法的类,叫做抽象类1.2 抽象类特点继承了抽象类的子类,要么对父类的抽象方法进行重写,要么自己也是抽象类抽象类也可以拥有普通方法抽象类不能创建对象抽象类也有构造方法,但是是为了子类创建对象使用1.3 抽象类存在
通俗理解什么是ADC学懂,用熟练之后,从头介绍一些概念时,总是比较困难的。很难站在一个什么都不懂的角度去讲明白一个概念。入之不深,则有浅易之病;出之不显,则有艰涩之患。文章目录通俗理解什么是ADC什么是ADCADC的采样率采样位数采样精度建议看完“什么是ADC”后,去实操ADC采集直流。实操结束后再往后看。ADC实际没有这么的简单,深入了解需要去学各种寄存器之间如何协作,信号如何走通。这些概念在后面会有讲解。什么是ADC我们在高中物理学习时都了解过电压表,在生活中也都见过。红表头、黑表头分别去触碰待测电路两端,就可以测出来这段的分压。如果让黑表头去触碰电源的负极,那么测出来的就是红表头所在的地
☕️本文来自专栏:大道至简之机器学习系列专栏🍃本专栏往期文章:逻辑回归(LogisticRegression)详解(附代码)---大道至简之机器学习算法系列——非常通俗易懂!_尚拙谨言的博客-CSDN博客_逻辑回归代码❤️各位小伙伴们关注我的大道至简之机器学习系列专栏,一起学习各大机器学习算法❤️还有更多精彩文章(NLP、热词挖掘、经验分享、技术实战等),持续更新中……欢迎关注我,主页:https://blog.csdn.net/qq_36583400,记得点赞+收藏哦!📢个人GitHub地址:fujingnan(fujingnan)·GitHub目录总结一、基础的基础1.数学期望(以下简称“
什么是堆堆是一种叫做完全二叉树的数据结构,可以分为大根堆,小根堆,而堆排序就是基于这种结构而产生的一种程序算法。堆的分类大根堆:每个节点的值都大于或者等于他的左右孩子节点的值小根堆:每个结点的值都小于或等于其左孩子和右孩子结点的值两种结构映射到数组为:大根堆: 小根堆://父-->子:i--->左孩子:2*i+1,右孩子:2*i+2;//子-->父:i--->(i-1)/2; (i为下标元素)排序思想1.首先将待排序的数组构造成一个大根堆,此时,整个数组的最大值就是堆结构的顶端2.将顶端的数与末尾的数交换,此时,末尾的数为最大值,剩余待排序数组个数为n-13.将剩余的n-1个数再构造成大
什么是堆堆是一种叫做完全二叉树的数据结构,可以分为大根堆,小根堆,而堆排序就是基于这种结构而产生的一种程序算法。堆的分类大根堆:每个节点的值都大于或者等于他的左右孩子节点的值小根堆:每个结点的值都小于或等于其左孩子和右孩子结点的值两种结构映射到数组为:大根堆: 小根堆://父-->子:i--->左孩子:2*i+1,右孩子:2*i+2;//子-->父:i--->(i-1)/2; (i为下标元素)排序思想1.首先将待排序的数组构造成一个大根堆,此时,整个数组的最大值就是堆结构的顶端2.将顶端的数与末尾的数交换,此时,末尾的数为最大值,剩余待排序数组个数为n-13.将剩余的n-1个数再构造成大
系列文章目录第一篇文章目录系列文章目录前言一、IPv4是什么?1、十进制与二进制2、IP地址的网络划分二、子网掩码是什么?三、分析子网掩码1、按需规划2、子网计算3、子网CIDR表示法4、IP判断是否是相同网络(号)四、子网掩码计算器总结前言推荐大家观看视频,就连新手也都可以搞懂IPv4地址和子网掩码一、IPv4是什么?IP地址是由4组位二进制所组成,共计32位每组8位二进制,最低可以由8个0组成,最高可以由8个1组成1、十进制与二进制8位二进制与十进制对照图如下:将8位二进制对应的十进制进行累加则位十进制:2552、IP地址的网络划分IP:网络号+主机号二、子网掩码是什么?首先我们先来了解一
目录概念链表的分类链表的结构代码实现链表1.创建节点类2.创建链表方法一:枚举法方法二:头插法publicvoidaddFirst(intdata)方法三:尾插法publicvoidaddLast(intdata)3.打印链表:publicvoiddisplay()4.查找是否包含关键字key是否在单链表当中:publicbooleancontains(intkey)5.得到单链表的长度:publicintSize()6.任意位置插入,第一个数据节点为0号下标:publicbooleanaddIndex(intindex,intdata)7.删除第一次出现关键字为key的节点:publicvo
目录概念链表的分类链表的结构代码实现链表1.创建节点类2.创建链表方法一:枚举法方法二:头插法publicvoidaddFirst(intdata)方法三:尾插法publicvoidaddLast(intdata)3.打印链表:publicvoiddisplay()4.查找是否包含关键字key是否在单链表当中:publicbooleancontains(intkey)5.得到单链表的长度:publicintSize()6.任意位置插入,第一个数据节点为0号下标:publicbooleanaddIndex(intindex,intdata)7.删除第一次出现关键字为key的节点:publicvo