模块[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

相关文章

多模块的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

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

python内置模块datetime.time类详细介绍

​​​​​​​Python的datetime模块是一个强大的日期和时间处理库,它提供了多个类来处理日期和时间。主要包括几个功能类datetime.date、datetime.time、datetime.datetime、datetime.timedelta,datetime.timezone等。 ----------动动小手,非常感谢各位的点赞收藏和关注。----------- 使用datet