如何找出ios中相机的焦距和传感器高度是多少?

BSK*_*NIA 7 ios

我搜索了每个地方,找到相机的焦距和后传感器的高度.但我没有得到任何具体细节.

我正在开发一个应用程序,它将从ios相机捕获的图像中可见的高度计算现实世界对象的实际高度.

到物体的距离(mm)=

焦距(mm)*物体的实际高度(mm)*图像高度(像素)------------------------------ ---------------------------------------------
对象高度(像素)*传感器高度(mm)

这里我将对象的值距离作为静态,像素的图像高度.现在我需要焦距和传感器高度来找出真实的物体高度.

提前致谢.bskania

Cam*_*mer 5

EXIF 标头

iOS 设备在 JPEG EXIF 标头中提供相机的焦距值。它iPhoto在任何其他工具中都是可见的。

以编程方式检索它的选项

EXIF 标头键列表可以在CGImageProperties Reference中找到。

NSURL *imageFileURL = [NSURL fileURLWithPath:...];
CGImageSourceRef imageSource = CGImageSourceCreateWithURL((CFURLRef)imageFileURL, NULL);
if (imageSource == NULL) {
    // Error loading image
    ...
    return;
}

NSDictionary *options = @{kCGImageSourceShouldCache, @NO};
CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, (CFDictionaryRef)options);
if (imageProperties) {
    NSNumber *width = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth);
    NSNumber *height = (NSNumber *)CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight);
    NSLog(@"Image dimensions: %@ x %@ px", width, height);
    CFRelease(imageProperties);
}
CFRelease(imageSource);
Run Code Online (Sandbox Code Playgroud)


BSK*_*NIA 2

解决这个问题的方法。

首先获取一个现实世界的物体及其尺寸,即高度和宽度。(可乐棒的示例)现在拍摄您要测量的物体的快照。对于 iPhone 或 iPad,焦距固定为 25 毫米。现在,快速将要测量的对象框起来,并根据要测量的对象重新调整现实世界的可乐棒图像的大小。

使用方程

对象距离=(焦点*真实对象高度)/对象高度;

这里,real_object_height = 焦蔗高度;object_height = 可乐拐杖调整大小后的高度

并相应地使用方程测量物体的高度

框架高度 = ((obj_distance) * 测量对象高度_mm / 1000.0))/焦距;

width_of_frame = ((obj_distance) *measured_object_width_in_mm / 1000.0))/focal;

这样您就可以找出物体距离及其测量值。但是您需要两个静态数据,即您正在使用的相机的焦距和一个要比较的现实世界对象测量值。

谢谢,布斯卡尼亚。