iOS照片亮度值的最大值和最小值

时间:2018-09-19 07:25:54

标签: ios iphone cmsamplebuffer avcaptureoutput

我正在开发一个使用手机摄像头的应用程序,并使用这段代码提供的亮度值来做一些事情:

- (CGFloat)getBrightnessValue:(CMSampleBufferRef)sampleBuffer {
    CFDictionaryRef metadataDict = CMCopyDictionaryOfAttachments(NULL, sampleBuffer, kCMAttachmentMode_ShouldPropagate);
    NSDictionary *metadata = [[NSMutableDictionary alloc] initWithDictionary:(__bridge NSDictionary*)metadataDict];
    CFRelease(metadataDict);
    NSDictionary *exifMetadata = [[metadata objectForKey:(NSString *)kCGImagePropertyExifDictionary] mutableCopy];
    return [[exifMetadata objectForKey:(NSString *)kCGImagePropertyExifBrightnessValue] floatValue];
}

此方法提供了sampleBuffer:

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection

我已经研究过并且已经阅读过该亮度的最大值和最小值是-99和99,但是我认为这是“理论上的”,因为例如在我的iPhone XI中,亮度不能降低比接近-10和10,或类似的水平。问题是,您是否知道是否有一种方法可以获取指示该值的百分比?我的意思是,这张图片中的亮度是70%,因为它与相机无关,对我来说非常有用:) Thx!

0 个答案:

没有答案