Expand ar frame metadata with focal length and fnumber
This commit is contained in:
@@ -32,6 +32,8 @@ namespace OpenVulkano::AR::ArKit
|
||||
ARFrame* GetArKitFrame() const { return m_arKitFrame; }
|
||||
|
||||
bool GetCameraImageAsJpeg(const std::function<void(const char*, size_t)>& handler) override;
|
||||
|
||||
std::string GetLensModel() const override;
|
||||
|
||||
private:
|
||||
ARFrame* m_arKitFrame;
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#import <ARKit/ARLightEstimate.h>
|
||||
#import <ARKit/ARPointCloud.h>
|
||||
#import <CoreVideo/CoreVideo.h>
|
||||
#import <ImageIO/CGImageProperties.h>
|
||||
|
||||
namespace OpenVulkano::AR::ArKit
|
||||
{
|
||||
@@ -88,6 +89,12 @@ namespace OpenVulkano::AR::ArKit
|
||||
frameData.timestampDepth = arFrame.capturedDepthDataTimestamp;
|
||||
frameData.trackingState = GetArTrackingState(arFrame.camera);
|
||||
|
||||
if (@available(iOS 16.0, *))
|
||||
{
|
||||
frameData.focalLength = [(NSNumber*)[arFrame.exifData valueForKey:(__bridge NSString*)kCGImagePropertyExifFocalLength] floatValue];
|
||||
frameData.fNumber = [(NSNumber*)[arFrame.exifData valueForKey:(__bridge NSString*)kCGImagePropertyExifFNumber] floatValue];
|
||||
}
|
||||
|
||||
return frameData;
|
||||
}
|
||||
}
|
||||
@@ -236,4 +243,13 @@ namespace OpenVulkano::AR::ArKit
|
||||
[image release];
|
||||
return success;
|
||||
}
|
||||
|
||||
std::string ArFrameArKit::GetLensModel() const
|
||||
{
|
||||
if (@available(iOS 16.0, *))
|
||||
{
|
||||
return [[m_arKitFrame.exifData valueForKey:(__bridge NSString*)kCGImagePropertyExifLensModel] UTF8String];
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user