模块[camera]_变焦与对焦(转自csdn)

2024-06-13 13:38

本文主要是介绍模块[camera]_变焦与对焦(转自csdn),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


转自:http://blog.csdn.net/lizhiguo0532/article/details/6918849#comments

声明:此原创非彼原创,资料来源于网络,只是经过加工整理罢了。如果引用了你的资料并没有说明出处,敬请原谅!仅供学习参考。

 

一、变焦

       通常指通过移动镜头内的透镜镜片位置来拉长或缩短焦距,也叫ZOOM。

       变焦目前可以分为光学变焦和数字变焦两种类型:

       光学变焦

               光学变焦是通过移动镜头内部镜片的相对位置来改变焦点的位置,改变镜头焦距的长短,并改变镜头的视角大小,从而实现影像的放大与缩小。如果被拍摄的

       物体位置保持不变,镜头的焦距与物体的放大倍率会呈现正比例的关系,如果要用一个词来形容光学变焦的话,那就是“望远镜”。(成像面水平方向移动)

       

       数字变焦

               数字变焦是通过可拍照手机处理器,把图片内的每个像素面积增大,从而达到放大的目的,就像我们在ACDSEE等图像处理软件中,强行拉大图像的像素一样,

       只不过这个过程在手机中进行,把原来SENSOR上的一部分像素使用插值手段进行放大。与光学变焦不同的是,数码变焦是在SENSOR垂直方向上的变化,而给人以

       变焦效果的。由于整个过程焦距没有任何变化,所以图像质量是会随着放大比例的增加,逐渐下降。(成像面垂直方向缩放)

               数字变焦也可以分为插值算法变焦伪数字变焦两种:

               插值算法变焦:对图像进行插值运算,将图像的尺寸扩大到所需的规格,这种算法就其效果而言,并不理想,尤其是当使用在手机上的时候,手机上的摄像头

       本身得到的数据就有较大的噪声,再插值的话,得到的图像几乎没法使用。

               伪数字变焦:当摄像头不处在最大分辨率格式的情况下,比如130 万像素的 sensor 使用 640*480 的规格拍照时,仍旧设置 sersor 工作在 1280*960 的分辨率

       下,而后通过采集中央部分的图像来获取 640*480 的照片,使得在手机上看来所拍物体尺寸被放大了一倍。这种办法几乎不需要额外的算法支持,对图像质量也没有影

       响,缺点是只有小尺寸情况下可以采用。

 

       光学变焦不会牺牲清晰度

       数字变焦显著牺牲清晰度

       

 

二、对焦(调焦)

       1. 对焦概念

               用凸透镜做照像机的镜头时,它成的最清晰的像一般不会正好落在焦点上,或者说,最清晰的像到光心的距离(像距)一般不等于焦距,而是略大于焦距。

       具体的距离与被照的物体与镜头的距离(物距)有关,物距越大,像距越小,(但实际上总是大于焦距)。

 

               由于我们照像时,被照的物体与相机(镜头)的距离不总是相同的,比如给人照像,有时,想照全身的,离得就远,照半身的,离得就近。也就是说,像距不总是

       固定的,这样,要想照得到清晰的像,就必须随着物距的不同而改变感光面到镜头光心的距离,这个改变的过程就是我们平常说的“调焦”。所以,我们所说的“调焦”

      调整的并不是真正意义上的焦距,而是只不过在摄影中,把投射到底片或感光元件上的图象调整到最清晰这一过程达成共识的称谓罢了。

 

              对焦实际上是调整整个镜头的位置(而不是镜头内的镜片)的位置,来控制像距,从而使成像最清晰。

       

      2. 对焦分类

               对焦可以分为手动对焦,自动对焦,多点对焦:

               手动对焦,它是通过手工转动对焦环来调节相机镜头从而使拍摄出来的照片清晰的一种对焦方式。

               自动对焦,由照相机根据被摄体距离的远近,自动地调节镜头的对焦距离。

               多点对焦,也叫区域对焦,当对焦中心不设置在图片中心的时候,可以使用多点对焦。常见的多点对焦为5点,7点和9点对焦。

 

      3. 自动对焦原理

                

               更多可参考系列文章:

              AF系统:自动调焦(AF)原理

              http://www2.xitek.com/info/showarticle.php?id=1039

              AF系统:主动型自动调焦系统

              http://www2.xitek.com/info/showarticle.php?id=1041

              AF系统:相位检测被动型自动调焦系统

              http://www2.xitek.com/info/showarticle.php?id=1043

             AF系统:透镜分离相位检测原理

             http://www2.xitek.com/info/showarticle.php?id=1048

             AF系统:TCL相位检测原理

             http://www2.xitek.com/info/showarticle.php?id=1045

             AF系统:一些与自动对焦有关的新概念

             http://www2.xitek.com/info/showarticle.php?id=1055

             AF系统:自动调焦系统框图

             http://www2.xitek.com/info/showarticle.php?id=1051

 

            不过大部分手机用camera都没有AF功能,最近接触的OV5640 camera sensor具有AF功能,另外模组厂提供的CCM在结构体上和普通的CCM也有一些差别。

            自动对焦通常是在微量调整镜头,所以需要有相应的驱动机构。通常来说,Voice Coil Motor(音圈马达VCM),Stepping Motor(步进马达),Piezoelectric Motor(压电马达)这3种。此外还有通过改变镜头光学特性的Liquid Lens(液体镜头)而达到真正的变焦的方法。

             

            

           自动对焦模组的基本结构:

           

             

           

     4. VCM音圈马达

          所谓音圈直线电机(Voice Coil Motor)因其结构类似于喇叭的音圈而得名。具有高频响、高精度的特点。

          

          日韩音圈马达的基本结构:

          

          音圈马达的原理:安培力定律(弗莱明左手法则)

          

         空间有磁场B,在横切磁场的电线通电流I,电线产生向上方向的力F。

 

         音圈马达评价指标:

                 手机AF音圈马达(圈内叫法:透镜驱动装置)。评价一个音圈马达,主要是看一个电流和行程距离的比值。一般现在都是15mA作为启动电流,

         之后如果每上升10mA所能驱动的行程距离是相等的那算是一个比较合格的产品,如果精度能达到每上升5mA也能行程相等,那就是很优秀厂家的产品,

         依次类推...而不是像现在的某些厂家鼓吹的最大行程,最大耗电量,最大功率,尺寸大小。当然这些也都是不可烧的衡量指标。

                 

            音圈马达的基本动作:

            

          某种AF镜头的结构以及镜头驱动原理:

           

          

          OV5640 sensor IC集成了VCM控制器,电路模块如图:

          

         

这篇关于模块[camera]_变焦与对焦(转自csdn)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

python中time模块的常用方法及应用详解

《python中time模块的常用方法及应用详解》在Python开发中,时间处理是绕不开的刚需场景,从性能计时到定时任务,从日志记录到数据同步,时间模块始终是开发者最得力的工具之一,本文将通过真实案例... 目录一、时间基石:time.time()典型场景:程序性能分析进阶技巧:结合上下文管理器实现自动计时

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Python模块导入的几种方法实现

《Python模块导入的几种方法实现》本文主要介绍了Python模块导入的几种方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录一、什么是模块?二、模块导入的基本方法1. 使用import整个模块2.使用from ... i