首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查给定的相机是普通相机还是广角相机?

如何检查给定的相机是普通相机还是广角相机?
EN

Stack Overflow用户
提问于 2017-12-22 00:52:03
回答 1查看 1.3K关注 0票数 3

有没有办法检测给定的相机是普通相机还是广角相机?

通过Oppo、Vivo、LG等设备,他们使用Camera2应用程序接口提供对每个摄像头的访问。但是如何知道哪个摄像头是主摄像头,哪个摄像头是广角摄像头呢?

EN

回答 1

Stack Overflow用户

发布于 2017-12-23 03:58:40

您可以计算每个摄像机的视场,并确定它是否足够宽来计数。

以度为单位的水平视野的标准公式为:

代码语言:javascript
复制
FOV = 2 * arctan(sensor_width / (2 * lens_focal_length) )

对于垂直FOV,使用传感器高度。

在camera2接口中,焦距在AVAILABLE_FOCAL_LENGTHS中列出,传感器的物理尺寸在PHYSICAL_SIZE中列出。

如果想要完全准确,还应该考虑active array,它是实际用于生成图像的physical pixel array的子集。但这通常只是几千个像素中的几行。但是如果你想把它考虑进去,你需要类似这样的东西:

代码语言:javascript
复制
active_width = sensor_width * active_array_width / pixel_array_width

用来计算FOV。此外,有时报告的FOV是对角线的,在这种情况下,您需要的传感器尺寸为

代码语言:javascript
复制
sensor_diagonal = sqrt(sensor_width^2 + sensor_height^2)

广角相机没有统一的定义,特别是大多数移动设备的相机已经在65-75度视野范围内。

三星S8前置摄像头的视野为80度,三星称其为“宽自拍”,而后置摄像头的视野为77度。但不确定这些是水平还是对角线FOV。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47929422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档