等效焦距与视场

等效焦距是摄影中衡量不同传感器尺寸下相同视角的重要概念,它允许我们比较不同尺寸传感器的镜头视场。通过计算,例如一个F7621镜头的实际焦距2.504mm,在全画幅标准下,其等效焦距约为18.3mm,这有助于确定该镜头的视场角度。进一步,利用特定公式,我们可以计算出对应的视场角度(FOV),确保了不同设备间视角的一致性。
摘要由CSDN通过智能技术生成

1为什么引入等效焦距?

         等效焦距可以让我们知道视场。

2怎么计算等效焦距?

     (全画幅尺寸36mm*24mm. 斜对角约43mm, 宽度35mm),我们的标准都是以全画幅为标准。

            比如F7621lens Focallenth = 2.504mm。镜头的成像圆直径为5.892mm

            pixelsize=1um。则对角线长度为6.475mm.

         根据 计算公式:实际焦距/成像对角线长度=等效焦距/43.

                  带入公式:等效焦距=2.504/5.892*43.27=18.3mm

3.FOV对应关系如下:

   

     根据计算公式可得fov=100 ;与下面规格书中基本一致。

 

 

 

           

在Android Camera2 API中,设置数字焦距(Digital Zoom)实际上并不是真正改变物理镜头的焦距,而是通过软件放大已捕获的画面。当你试图增加数字焦距时,系统会拉伸原始像素,导致图像质量下降,视角确实会变宽,但这通常会产生像素化的效果,并可能导致边缘模糊。 为了设置数字焦距,你需要在CameraDevice的CaptureSession中创建一个SurfaceTextureView来显示放大的图像。首先,获取相机设备的CameraCharacteristics,然后查找支持缩放的CameraInfo: ```java CameraCharacteristics characteristics = cameraManager.getCameraCharacteristics(cameraId); StreamConfigurationMap configMap = characteristics.get(CameraCharacteristics.SCALER_STREAM_MAPS); ``` 接着,选择合适的配置(比如JPEG或YUV),并指定放大倍率: ```java SurfaceTexture surfaceTexture = ...; // 获取SurfaceTextureView的SurfaceTexture SurfaceTexture.setDefaultBufferSize(width * zoomFactor, height * zoomFactor); Surface plane = Surface.create(surfaceTexture); CameraCaptureSession session = cameraDevice.createCaptureSession(Arrays.asList(outputSurface), new CaptureRequest.Builder().build(), callback); session.setRepeatingRequest(captureRequestBuilder.build(), null, CameraCaptureSession.StateCallback...'); ``` 在这个过程中,`zoomFactor`是你想要的数字焦距放大倍数,`width`和`height`则是预览或输出图片的实际尺寸。请注意,虽然可以调整数字焦距,但过多的缩放将影响最终照片的质量,应该谨慎使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Camera Man

知识无价,但打赏不要超过早饭钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值