确定HTC智能手机的焦距

时间:2012-09-13 09:54:04

标签: android camera htc-android

我正在开发一款可在HTC智能手机上运行的应用程序。我希望找到HTC智能手机相机的焦距(以像素为单位)。我需要这些信息来在计算机视觉算法中执行姿态估计。

我知道相机的焦距是3.5毫米。

我如何编写代码来确定这个?

3 个答案:

答案 0 :(得分:0)

您无法将mm与像素完全关联到所有设备,因为不同的屏幕具有不同的像素:mm比率。

例如,iPod touch上的像素尺寸仅为0.15875 mm x 0.15875 mm,而Nexus S上的像素大约为0.1075 mm x 0.1705 mm。

由于这个原因,不可能将mm可靠地映射到多个设备的像素,并且由于你没有提到你正在使用哪种智能手机,我不能说你的。

答案 1 :(得分:0)

相同型号的传感器的焦距确实不同。我不知道你的情况如何,但可能不足以知道整个系列的平均焦距,而是对每个传感器进行单独校准以获得更高的精度。

如果您有手机,一种计算焦距的简单方法是,当您拍摄已知尺寸和已知相机位置的物体时,可以看到相机镜架的实际视野范围。< / p>

另一种选择是使用此处描述的方法:OpenCV camera calibration

答案 2 :(得分:0)

您必须首先找到DPI才能找到像素中的焦距。计算像素焦距的公式为:

focal_length(pixel)=25.4/(dpi*focal_length(mm))

DPI可以确定如下:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
dp = dm.densityDpi;