ISP-AF相关-聚焦区域选择-清晰度评价-1(待补充)
1、镜头相关
镜头类型
变焦类型:
定焦、手动变焦、自动变焦
光圈:
固定光圈、手动光圈、自动光圈
视场角:
鱼眼镜头、超广角镜头、广角镜头、标准镜头、长焦镜头、超长焦镜头(由大至小)
光圈:
超星光镜头、星光镜头、通用镜头
接口类型:
M12、$\Phi$14、C、CS、尼康F口、索尼A口、佳能E口等
外形功能:
球面镜头、非球面镜头、针孔镜头、鱼眼镜头
自动聚焦是指通过电机控制载物台或镜头的运动使物体的成像由模糊变得清晰的过程。
变焦
变焦通常指通过移动镜头内的透镜镜片位置来拉长或缩短焦距,也叫ZOOM。变焦目前可以分为光学变焦和数字变焦两种类型,光学变焦不会牺牲清晰度,数字变焦显著牺牲清晰度
光学变焦:
光学变焦是通过移动镜头内部镜片的相对位置来改变焦点的位置,改变镜头焦距的长短,并改变镜头的视角大小,从而实现影像的放大与缩小。如果被拍摄的物体位置保持不变,镜头的焦距与物体的放大倍率会呈现正比例的关系,如果要用一个词来形容光学变焦的话,那就是“望远镜”。(成像面水平方向移动)
数字变焦:
数字变焦是通过可拍照手机处理器,把图片内的每个像素面积增大,从而达到放大的目的,就像我们在ACDSEE等图像处理软件中,强行拉大图像的像素一样,只不过这个过程在手机中进行,把原来SENSOR上的一部分像素使用插值手段进行放大。与光学变焦不同的是,数码变焦是在SENSOR垂直方向上的变化,而给人以变焦效果的。由于整个过程焦距没有任何变化,所以图像质量是会随着放大比例的增加,逐渐下降。(成像面垂直方向缩放)
数字变焦也可以分为插值算法变焦和伪数字变焦两种:
插值算法变焦:对图像进行插值运算,将图像的尺寸扩大到所需的规格,这种算法就其效果而言,并不理想,尤其是当使用在手机上的时候,手机上的摄像头本身得到的数据就有较大的噪声,再插值的话,得到的图像几乎没法使用。
伪数字变焦:当摄像头不处在最大分辨率格式的情况下,比如130万像素的 sensor 使用 640x480的规格拍照时,仍旧设置 sersor 工作在 1280x960 的分辨率下,而后通过采集中央部分的图像来获取 640x480 的照片,使得在手机上看来所拍物体尺寸被放大了一倍。这种办法几乎不需要额外的算法支持,对图像质量也没有影响,缺点是只有小尺寸情况下可以采用。
对焦(调焦)
用凸透镜做照像机的镜头时,最清晰的像一般不会正好落在焦点上,或者说,最清晰的像到光心的距离(像距)一般不等于焦距,而是略大于焦距。具体的距离与被照的物体与镜头的距离(物距)有关,物距越大,像距越小,(但实际上总是大于焦距)。
对焦实际上是调整整个镜头的位置(而不是镜头内的镜片)的位置,来控制像距,从而使成像最清晰。被照的物体与相机(镜头)的距离不总是相同的,比如给人照像,有时,想照全身的,离得就远,照半身的,离得就近。要想照得到清晰的像,就必须随着物距的不同而改变感光面到镜头光心的距离。
由于人眼分辨能力的限制,一定范围内的模糊量不会对观察到的成像效果产生影响。对于清晰的成像,人眼视网膜对模糊感知的最大程度就是允许模糊量s,s的值在O.03.0.04mm之间。
对焦可以分为手动对焦,自动对焦,多点对焦:
手动对焦,它是通过手工转动对焦环来调节相机镜头从而使拍摄出来的照片清晰的一种对焦方式。
自动对焦,由照相机根据被摄体距离的远近,自动地调节镜头的对焦距离。
多点对焦,也叫区域对焦,当对焦中心不设置在图片中心的时候,可以使用多点对焦。常见的多点对焦为5点,7点和9点对焦。
2、聚焦区域选择
窗口过小容易丢失图像的重要细节;窗口过大会加重背景区域的干扰,同时也带来更大的计算量
聚焦窗口应该位于图像的主体目标区域,常用的窗口选择方法主要分为静态和动态两类。静态取窗方法有:中心区域取窗法、黄金分割十字区域取窗法和倒T型取窗法等;动态取窗方法有:高斯非均匀采样取窗法、一阶矩取窗法和人眼视觉显著机制取窗法等。前者通常是根据某个特征选定固定区域作为聚焦窗口,聚焦窗口大小由实际目标图像确定;后者是对图像的信息分布进行统计分析,给出一个最优的主体景物估计区域,然后取单个或多个窗口作为聚焦区域。
1、中心取窗法
中心取窗法认为人眼感兴趣目标总是位于图像的中心位置,故把中心部分作为聚焦区域。计算聚焦区域内的图像清晰度值,根据自动聚焦调节方法使聚焦区域内的物体达到最清晰即完成自动聚焦。这种聚焦区域选择方法适用于大多数情况,但若感兴趣目标偏离图像中心位置,摄像机将无法聚焦到感兴趣目标,聚焦质量会严重下降
【示意图待补充】
中心取窗方法的假设前提是主体目标位于图像中心,当图像中心是纯色背景时,会导致聚焦失败,窗口矩形框的长、宽分别为图像长、宽的1/4,中心区域的大小一般为图像的1/1 6,计算量减少了93.75%。
2、倒T型区域取窗
观察一幅图像时,人眼的注意力第一时间通常会放在图像的中下部分。在摄影构图时,人们也通常会将被摄物体放于整个场景的中下部分。因此可选择图像中下部的区域作为聚焦区域,如图 2.5 所示。该方法提高了感兴趣区域覆盖成功率,但同时会引入更多背景信息,导致图像清晰度值的计算量相应增加。
3、黄金多点取窗选择法
在实际场景中,往往包含多个不同的物体,物体的纹理以及距离摄像机的远近不尽相同。多点取窗法是将图像按照一定的规则划分为几个区域,选择与感兴趣目标较接近的区域作为图像的聚焦区域。聚焦区域选择灵活多变,使用场景更丰富。
光学成像系统中,只存在一个正确的焦平面,只有在焦平面位置才可以得到清晰的物体成像,并且在其他位置时目标点的成像会出现斑点。考虑到人眼的最小角度分辨率,当斑点直径小于一定值时,可以将其识别为清晰的图像点。
图像存在边缘,一幅图像聚焦与否与图像边缘信息的高频成分有关,当完全聚焦时,图像清晰,边缘信息的多,聚焦评价函数值最大;当图像离焦时,图像模糊,边缘信息较少,聚焦评价函数值小。
图像聚焦评价函数:
特性
1)无偏性:
清晰度评价函数曲线的峰值应该对应最清晰的聚焦的位置,不同离焦程度的评价值也对应着不同的离焦图像采集位置。
2)单峰性:
从远离准焦面到正焦面再到远离准焦面的过程中,聚焦评价函数曲线对应地先递增再递减,准确聚焦位置时取值最大,应该满足单峰性要求。
3)灵敏度:
评价函数曲线的陡峭程度反映了自动聚焦过程中的灵敏度,若曲线越平缓,则灵敏度越低。自动聚焦过程中希望有较高的灵敏度,曲线应该有一定的陡峭度。
4)抗噪性:
在噪声干扰下,曲线是否依旧能保持较好的形状特性。
5)实时性:
我们希望自动聚焦的过程是一个较为短暂的时间,为满足自动聚焦系统实时性的要求,设计的算法不能过于复杂,计算量不能太大。
评价函数
(1)SMD函数
SMD函数称为灰度差分和函数。它依据某一像素点的相邻的左像素点和上像素点与这一点的差值之和,来计算图像聚焦极值点
FSMD=∑i,j(∣f(i,j)−f(i,j−1)∣+∣f(i,j)−f(i−1,j)∣)F_{SMD}=\sum_{i,j}(\lvert f(i,j)-f(i,j-1) \rvert +\lvert f(i,j)-f(i-1,j) \rvert ) FSMD=i,j∑(∣f(i,j)−f(i,j−1)∣+∣f(i,j)−f(i−1,j)∣)
SMD函数算法简单、速度快、抗干扰能力较强,但精度不高。
(2)Brenner函数
计算相邻k个单位像素点间的灰度差,然后得到差的平方
FBrenner=∑i,j∣f(i+k,j)−f(i,j)∣2F_{Brenner}=\sum_{i,j}\lvert f(i+k,j)-f(i,j) \rvert ^2 FBrenner=i,j∑∣f(i+k,j)−f(i,j)∣2
Brenner函数复杂度低,计算过程简单,
(3)Tenengrad函数
FTenengrad=∑i,j(∣Gi2(i,j)+Gj2(i,j)∣)F_{Tenengrad}=\sum_{i,j}(\lvert G_{i}^{2}(i,j)+G_{j}^{2}(i,j) \rvert ) FTenengrad=i,j∑(∣Gi2(i,j)+Gj2(i,j)∣)
其中,Gi(i,j)G_{i}(i,j)Gi(i,j)和Gj(i,j)G_{j}(i,j)Gj(i,j)是i,j方向的一阶sobel算子差分
(4)EOG函数 平方梯度
FEOG=∑i,j(∣f(i,j)−f(i,j−1)∣2+∣f(i,j)−f(i−1,j)∣2)F_{EOG}=\sum_{i,j}(\lvert f(i,j)-f(i,j-1) \rvert ^2 +\lvert f(i,j)-f(i-1,j) \rvert ^2) FEOG=i,j∑(∣f(i,j)−f(i,j−1)∣2+∣f(i,j)−f(i−1,j)∣2)
(5)Robert算子梯度函数
FRobert=∑i,j(∣f(i,j)−f(i+1,j+1)∣+∣f(i+1,j)−f(i,j+1)∣)F_{Robert}=\sum_{i,j}(\lvert f(i,j)-f(i+1,j+1) \rvert +\lvert f(i+1,j)-f(i,j+1) \rvert ) FRobert=i,j∑(∣f(i,j)−f(i+1,j+1)∣+∣f(i+1,j)−f(i,j+1)∣)
Roberts梯度函数根据聚焦区域内所有交叉像素点间像素差值之和计算得出,以计算图像的聚焦清晰点,改进SMD函数,抗干扰性能比SMD函数的强
(6)sobel算子梯度函数
FSobel=∑i,j∣Gi(i,j)+Gj(i,j)∣F_{Sobel}=\sum_{i,j}\lvert G_{i}(i,j)+G_{j}(i,j) \rvert FSobel=i,j∑∣Gi(i,j)+Gj(i,j)∣
其中,Gi(i,j)G_{i}(i,j)Gi(i,j)和Gj(i,j)G_{j}(i,j)Gj(i,j)是i,j方向的一阶sobel算子差分
(7)Laplace算子函数
FLaplace=∑i,j∣f(i−1,j)−f(i+1,j)+f(i,j−1)−f(i,j+1)−4f(i,j)∣2F_{Laplace}=\sum_{i,j}\lvert f(i-1,j)-f(i+1,j) + f(i,j-1)-f(i,j+1) - 4f(i,j) \rvert ^2 FLaplace=i,j∑∣f(i−1,j)−f(i+1,j)+f(i,j−1)−f(i,j+1)−4f(i,j)∣2
参考文章:<基于梯度计算的自动聚焦图像清晰度评价函数仿真分析>
<自动聚焦 系统研究>
结合之前清晰度的计算,补充一些AF的内容
觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。
我的个人博客主页,欢迎访问
我的CSDN主页,欢迎访问
我的GitHub主页,欢迎访问
我的知乎主页,欢迎访问
相关文章:

ISP-AF相关-聚焦区域选择-清晰度评价-1(待补充)
1、镜头相关 镜头类型 变焦类型: 定焦、手动变焦、自动变焦 光圈: 固定光圈、手动光圈、自动光圈 视场角: 鱼眼镜头、超广角镜头、广角镜头、标准镜头、长焦镜头、超长焦镜头(由大至小) 光圈: 超星…...

[element-ui] el-table行添加阴影悬浮效果
问题: 在el-table每一行获得焦点与鼠标经过时,显示一个整行的阴影悬浮效果 /*其中,table-row-checkd是我自定义的焦点行添加类名,大家可以自己起名*/ .el-table tbody tr:hover,.el-table tbody tr.table-row-checked{box-shadow: 0px 3px …...

分布式存储技术(上):HDFS 与 Ceph的架构原理、特性、优缺点解析
面对企业级数据量,单机容量太小,无法存储海量的数据,这时候就需要用到多台机器存储,并统一管理分布在集群上的文件,这样就形成了分布式文件系统。HDFS是Hadoop下的分布式文件系统技术,Ceph是能处理海量非结…...

【python设计模式】20、解释器模式
哲学思想: 解释器模式(Interpreter Pattern)是一种行为型设计模式,它提供了一种方式来解释和执行特定语言的语法或表达式。该模式中,解释器通过将表达式转换为可以执行的对象来实现对表达式的解释和执行。通常…...

【PostgreSQL】通过docker的方式运行部署PostgreSQL与go操作数据库
目录 1、docker的方式运行部署PostgreSQL 2、控制台命令 3、go操作增删改查 1、docker的方式运行部署PostgreSQL docker pull postgres docker run --name learn_postgres -e POSTGRES_PASSWORDdocker_user -e POSTGRES_USERdocker_user -p 5433:5432 -d postgres进入容器&am…...

Kotlin协程序列:
1: 使用方式一 ,callback和coroutine相互转化。 import kotlinx.coroutines.* import java.lang.Exception class MyCallback {fun doSomething(callback: (String?, Exception?) -> Unit) {// 模拟异步操作GlobalScope.launch {try {delay(1000) // 延迟 1 秒…...

java获取视频时长
1、先导包 <dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>2.6.0</version> </dependency>2、获取时长 Testpublic void test01() {long time 0;try {String url "http://…...

EDAS投稿系统的遇到的问题及解决办法
问题1: gutter: Upload failed: The gutter between columns is 0.2 inches wide (on page 1), but should be at least 0.2 inches 解决: 在\begin{document}前添加\columnsep 0.201 in(0.2in也会报错,建议填大一点点)…...

t-learning 产品经理课程笔记
t-learning 腾讯公开课——产品经理课程 第一课 化身用户研究员,张小龙《产品精讲》 1-3:执行 4-7:中坚力量 7:核心leader 能解决问题的,就是好的产品经理 如何储备产品知识与素养 (1)了解并…...

校招,从准备开始准备(持续更新ing...)
诸神缄默不语-个人CSDN博文目录 作者现在有科研任务在身(今天还在标数据哦),所以不能实习。 所以就是纯纯拉个表。 最近更新时间:2023.4.9 最早更新时间:2023.4.6 文章目录1. 学习资料和知识点清单1.1 机器学习1.2 深…...

Android:使用LayerDrawable动态生成四宫格头像(包含双人、三人头像)
其实用自定义View也可以实现,我比较懒,就用LayerDrawable来创建一个新的Drawable资源实现。 举例4宫格,9宫格原理类似,每个图标的位置需要用边距慢慢调成预期的效果 效果如下: 双人头像: 三人头像&#x…...

Android Jetpack 从使用到源码深耕【数据库注解Room 从实践到原理 】(三)
前面两篇文章,我们一起学习了,Room引入的背景、Room的使用方式、Room的实现原理猜想验证、Room的源码原理探索总结。 本文,我们将其中牵扯到的课外知识点 or 过程中没有说到的知识点,进行一下单独的总结。 题外话:扩展知识点总结 1. 抽象工厂的设计模式应用 在源码探索…...

中国电子学会2023年03月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)
2023-03 Scratch三级真题 分数:100 题数:38 测试时长:60min 一、单选题(共25题,共50分) 1.计算“248……128”,用变量n表示每项,根据变化规律,变量n的赋值用下列哪个最合适?&am…...

分布式事务培训
MQ发生成功 MQ响应失败 断网 DIY seary 不保证隔离性,扣账不成功,钱被花了。导致回滚不成功 超时处理。 超时处理机制 防悬挂, try 的 try catch 导致不报错。空提交 处理链,inputlog万一数据库出现问题。outlog 最终保证回滚。映…...

关键词采集工具可以帮助我们做那些方面的工作
针对搜索引擎的关键词采集工具可以帮助我们做那些方面的工作,至少从10个工作场景说明,并列举详细的使用场景 Msray-plus,是一款企业级综合性爬虫/采集软件。 支持亿级数据存储、导入、重复判断等。无需使用复杂的命令,提供本地W…...

2023年5月PMP难考吗?
PMP考试难不难,还是因人而异的,对小白而言,肯定是难的,对项目管理老人而言,难度肯定是没那么高。 难点主要是非常多而难理解的知识点,以及答题时的知识点提取。经过系统的学习,分解知识点&…...

定语从句的省略
1. 关系代词的省略(即that which之类的) 条件:首先限制定语从句(即没有逗号的) 先行词在从句中作宾语成分 两个条件缺一不可,先行词中作主语成分是不可以的。(这就是形容词短语作定语后置和定…...

简易小工具实现批量打开多个网页
最近有个需求,希望一次性可以打开多个网页,网址自由指定,这个需求的实现非常简单,使用基本的c代码调用system函数即可,都不需要MFC相关的东西。 但是我实测一些工具后发现一个问题,当打开超过大约3个网址的…...

swiper 点击事件
点击swiper 获取当前下标 两种模式 "swiper": "^5.4.5", "vue-awesome-swiper": "^3.1.3",swiperOption: {autoplay: { delay: 3000 },loop: true, //循环slidesPerView: auto,direction: "vertical",disableOnInteraction:…...

旅游心得Traveling Experience
前言 加油 原文 旅游心得常用会话 ❶ Share photos of the trip with friends. 与朋友分享旅游的照片。 ❷ We’ll go to the Great Wall, if you prefer. 你如果愿意的话,我们去长城。 ❸ Would you go to the church or the synagogue or the mosque? 你会去教堂,犹太…...

【 SpringBoot ⽇志⽂件 】
文章目录一、⽇志的作用二、认识⽇志三、⾃定义⽇志打印3.1 在程序中得到⽇志对象3.2 使⽤⽇志对象打印⽇志3.3 ⽇志格式说明四、⽇志级别4.1 ⽇志级别的作用4.2 ⽇志级别的分类与使⽤4.2.1 ⽇志级别的分类4.2.2 ⽇志使⽤4.2.2.1 配置全局日志级别4.2.2.2 配置局部文件夹的日志…...

ThinkPHP路由不转换的原因及解决方法
随着互联网的发展,网站开发技术日新月异。而ThinkPHP作为一款流行的PHP开发框架之一,也在不断地吸纳更多的开发者来使用。然而,有时候我们在使用过程中会遇到一些问题,比如ThinkPHP路由不转换的问题。本文将详细介绍这个问题以及解…...

【案例教程】基于RWEQ模型的土壤风蚀模数估算及其变化归因分析实践技术
土壤风蚀是一个全球性的环境问题。中国是世界上受土壤风蚀危害最严重的国家之一,土壤风蚀是中国干旱、半干旱及部分湿润地区土地荒漠化的首要过程。中国风蚀荒漠化面积达160.74104km2,占国土总面积的16.7%,严重影响这些地区的资源开发和社会经…...

Twitter推荐算法总架构和算法说明
Twitter推荐算法总架构: 这个推荐架构的作用是生成在用户首页上显示的推文列表 步骤: 1、从不同的推荐来源中获取最好的推文,这个过程被称为候选来源。 2、使用机器学习模型对每条推文进行排名。 3、应用启发式方法和过滤器,例如…...

1.C语言题目---指针类(基础)
1. 小端,低地址存低字节,高地址存高字节 大端,低地址存高字节,高地址存低字节 人类读写数据习惯是大端字节序 比如说数字12345678在寄存器大端存储顺序如下: 在寄存器小端存储顺序如下: 假设,a变量的地址为0x64,则a变量在内存中的模型为: 0…...

【算法与数据结构】关于排序的问题思考
文章目录引言不断的插入值,并保证序列是递增的。Python中sort()和sorted()的区别是啥?sorted 函数如何使用?问题: 如何返回排序之后的索引问题:排序的稳定性问题,寻找第K大的元素的算法。引出一个算法题&am…...

行为型模式-命令模式
行为型模式-命令模式命令模式(Command)解决命令执行问题描述适用环境优点:缺点:违反原则:代码实现命令模式(Command) 解决命令执行问题 描述 将一个请求封装为一个对象,并定义该对…...

SHELL综合练习1
文章目录1、编写函数,实现打印绿色OK和红色FAILED 判断是否有参数,存在为Ok,不存在为FAILED2、 编写函数,实现判断是否无位置参数,如无参数,提示错误3、编写函数实现两个数字做为参数,返回最大值…...

ROS开发之如何使用发布者、订阅者和话题消息?
文章目录0、引言1、创建发布者(velocity发布者 →geometry话题消息→turtlesim订阅者)2、创建订阅者(turtlesim发布者→turtlesim话题消息→pose订阅者)3、自定义话题消息4、使用自定义话题消息(person发布者→自定义话…...

基于Java+Springboot+vue高校资源共享交流平台设计和实现
博主介绍:✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…...