我有一个应用程序应该计算给定照片的照度。
我的问题是:i can't find a way to calculate this illuminance index (in lux)
我可以得到luminosity
这个代码:
UIImage* image = [UIImage imageNamed:@"image.png"];
unsigned char* pixels = [image rgbaPixels];
double totalLuminance = 0.0;
for(int p=0;p<image.size.width*image.size.height*4;p+=4) {
totalLuminance += pixels[p]*0.299 + pixels[p+1]*0.587 + pixels[p+2]*0.114;
}
totalLuminance /= (image.size.width*image.size.height);
totalLuminance /= 255.0;
NSLog(@"Image.png = %f",totalLuminance);
但结果介于两者之间0 and 1
,我想我不能用它来illuminance
计算lux
寻找堆栈溢出的答案我找到了这个答案https://stackoverflow.com/a/2720635/839049女巫给了我一个方向,但我不知道如何继续,因为我不知道如何处理曝光.
..您可以忽略像素数据,将曝光信息用作测光表。...
如何?有谁知道我该怎么做?或者有更好的方法吗?