Ios5 核心图像自动调整过滤器未检测到红眼

Ios5 核心图像自动调整过滤器未检测到红眼,ios5,core-image,Ios5,Core Image,我正在使用iOS5中新的核心图像API,它可以自动增强功能。但是,从autoAdjustmentFilters或autoAdjustmentFiltersWithOptions返回的数组从不删除红眼,它只返回诸如CIFaceBalance、CIVibrance和CiHighlights和Shadows等过滤器。我甚至尝试将autoAdjustmentFiltersWithOptions字典键kCIImageAutoAdjustRedEye设置为TRUE,即使文档默认为TRUE。我知道Camera

我正在使用iOS5中新的核心图像API,它可以自动增强功能。但是,从autoAdjustmentFilters或autoAdjustmentFiltersWithOptions返回的数组从不删除红眼,它只返回诸如CIFaceBalance、CIVibrance和CiHighlights和Shadows等过滤器。我甚至尝试将autoAdjustmentFiltersWithOptions字典键kCIImageAutoAdjustRedEye设置为TRUE,即使文档默认为TRUE。我知道Camera/Photos应用程序会在同一张图像上检测到红眼,所以有点不对劲

此代码将返回CiredeyeCorrection。因为我没有任何真正红眼的照片。我刚在谷歌上搜索了一下,发现这张是“redeye\u不正确的\u lg.jpg”。这是谷歌图片返回的第一张女性图片。我发现并不是所有的红眼图像都能被检测到。。。。所以确保你的眼睛是真的红眼

-(void) coreImageInit
{
    NSString *sourcePath = [[NSBundle mainBundle] resourcePath];
    NSString *file1 = [sourcePath stringByAppendingPathComponent:@"/redeye_incorrect_lg.jpg"];
    UIImage *img = [[[UIImage alloc]initWithContentsOfFile:file1]autorelease];
    CIImage *image = [[CIImage alloc]initWithImage:img]; 
    NSLog(@"after ciimage: %@", kCIImageAutoAdjustEnhance);
    NSDictionary *options = [NSDictionary dictionaryWithObject:@"NO" forKey:kCIImageAutoAdjustEnhance];
    NSLog(@"options: %@", options);
    NSArray *adjustments = [image autoAdjustmentFiltersWithOptions:options];
    NSLog(@"adjustments: %@  ", adjustments);

}
以下是我的日志输出,显示检测到红眼:

11/4/11 10:13:19.231 AM iPadTestBed: after ciimage: kCIImageAutoAdjustEnhance
11/4/11 10:13:19.232 AM iPadTestBed: options: {
    kCIImageAutoAdjustEnhance = NO;
}
11/4/11 10:13:19.879 AM iPadTestBed: adjustments: (
    "<CIRedEyeCorrections: inputImage=<CIImage: 0x878a980 extent [0 0 370 427]> inputCameraModel=nil inputCorrectionInfo=(\n        {\n        averageSkinLuminance = 0;\n        bitmaskThreshold = \"0.1372549\";\n        bitmaskX = \"0.372973\";\n        bitmaskY = \"0.5854801\";\n        cornealReflectionThreshold = \"0.854902\";\n        cornealReflectionX = \"0.3783784\";\n        cornealReflectionY = \"0.587822\";\n        existingPupilAverage = \"0.1607843\";\n        existingPupilHigh = \"0.345098\";\n        existingPupilLow = \"0.01176471\";\n        existingPupilMedium = \"0.1333333\";\n        finalEyeCase = 0;\n        forceCase = 0;\n        fullImageHeight = 427;\n        fullImageWidth = 370;\n        imageOrientation = 1;\n        imageSignalToNoiseRatio = 20;\n        imageSpecialValue = 0;\n        interocularDistance = \"0.2284475\";\n        pointX = \"0.3702703\";\n        pointY = \"0.587822\";\n        pupilShadeAlignment = 1;\n        pupilShadeAverage = \"0.2117647\";\n        pupilShadeHigh = \"0.2901961\";\n        pupilShadeLow = \"0.1372549\";\n        pupilShadeMedium = \"0.2117647\";\n        repairRectangleMaximumX = \"0.4162162\";\n        repairRectangleMaximumY = \"0.557377\";\n        repairRectangleMinimumX = \"0.3513514\";\n        repairRectangleMinimumY = \"0.6135831\";\n        searchRectangleMaximumX = \"0.4864865\";\n        searchRectangleMaximumY = \"0.4871194\";\n        searchRectangleMinimumX = \"0.2540541\";\n        searchRectangleMinimumY = \"0.6885245\";\n        size = \"0.012472\";\n        snappedX = \"0.3702703\";\n        snappedY = \"0.587822\";\n    },\n        {\n        averageSkinLuminance = 0;\n        bitmaskThreshold = \"0.09411766\";\n        bitmaskX = \"0.7081081\";\n        bitmaskY = \"0.6533958\";\n        cornealReflectionThreshold = \"0.8745099\";\n        cornealReflectionX = \"0.7081081\";\n        cornealReflectionY = \"0.6487119\";\n        existingPupilAverage = \"0.1686275\";\n        existingPupilHigh = \"0.3490196\";\n        existingPupilLow = \"0.03921569\";\n        existingPupilMedium = \"0.1372549\";\n        finalEyeCase = 0;\n        forceCase = 0;\n        fullImageHeight = 427;\n        fullImageWidth = 370;\n        imageOrientation = 1;\n        imageSignalToNoiseRatio = 20;\n        imageSpecialValue = 0;\n        interocularDistance = \"0.2284475\";\n        pointX = \"0.7081081\";\n        pointY = \"0.6557377\";\n        pupilShadeAlignment = 1;\n        pupilShadeAverage = \"0.2117647\";\n        pupilShadeHigh = \"0.2901961\";\n        pupilShadeLow = \"0.1372549\";\n        pupilShadeMedium = \"0.2117647\";\n        repairRectangleMaximumX = \"0.7405406\";\n        repairRectangleMaximumY = \"0.6229508\";\n        repairRectangleMinimumX = \"0.6864865\";\n        repairRectangleMinimumY = \"0.6697892\";\n        searchRectangleMaximumX = \"0.827027\";\n        searchRectangleMaximumY = \"0.5526932\";\n        searchRectangleMinimumX = \"0.5945946\";\n        searchRectangleMinimumY = \"0.7540984\";\n        size = \"0.010893\";\n        snappedX = \"0.7081081\";\n        snappedY = \"0.6557377\";\n    }\n)>"
)  
11/4/11 10:13:19.231 AM iPadTestBed:在ciimage之后:kCIImageAutoAdjustEnhance
11/4/11 10:13:19.232 AM iPadTestBed:选项:{
kCIImageAutoAdjustEnhance=否;
}
2011年11月4日10:13:19.879 AM iPadTestBed:调整:(
""
)  

此代码将返回CiredeyeCorrection。因为我没有任何真正红眼的照片。我刚在谷歌上搜索了一下,发现这张是“redeye\u不正确的\u lg.jpg”。这是谷歌图片返回的第一张女性图片。我发现并不是所有的红眼图像都能被检测到。。。。所以确保你的眼睛是真的红眼

-(void) coreImageInit
{
    NSString *sourcePath = [[NSBundle mainBundle] resourcePath];
    NSString *file1 = [sourcePath stringByAppendingPathComponent:@"/redeye_incorrect_lg.jpg"];
    UIImage *img = [[[UIImage alloc]initWithContentsOfFile:file1]autorelease];
    CIImage *image = [[CIImage alloc]initWithImage:img]; 
    NSLog(@"after ciimage: %@", kCIImageAutoAdjustEnhance);
    NSDictionary *options = [NSDictionary dictionaryWithObject:@"NO" forKey:kCIImageAutoAdjustEnhance];
    NSLog(@"options: %@", options);
    NSArray *adjustments = [image autoAdjustmentFiltersWithOptions:options];
    NSLog(@"adjustments: %@  ", adjustments);

}
以下是我的日志输出,显示检测到红眼:

11/4/11 10:13:19.231 AM iPadTestBed: after ciimage: kCIImageAutoAdjustEnhance
11/4/11 10:13:19.232 AM iPadTestBed: options: {
    kCIImageAutoAdjustEnhance = NO;
}
11/4/11 10:13:19.879 AM iPadTestBed: adjustments: (
    "<CIRedEyeCorrections: inputImage=<CIImage: 0x878a980 extent [0 0 370 427]> inputCameraModel=nil inputCorrectionInfo=(\n        {\n        averageSkinLuminance = 0;\n        bitmaskThreshold = \"0.1372549\";\n        bitmaskX = \"0.372973\";\n        bitmaskY = \"0.5854801\";\n        cornealReflectionThreshold = \"0.854902\";\n        cornealReflectionX = \"0.3783784\";\n        cornealReflectionY = \"0.587822\";\n        existingPupilAverage = \"0.1607843\";\n        existingPupilHigh = \"0.345098\";\n        existingPupilLow = \"0.01176471\";\n        existingPupilMedium = \"0.1333333\";\n        finalEyeCase = 0;\n        forceCase = 0;\n        fullImageHeight = 427;\n        fullImageWidth = 370;\n        imageOrientation = 1;\n        imageSignalToNoiseRatio = 20;\n        imageSpecialValue = 0;\n        interocularDistance = \"0.2284475\";\n        pointX = \"0.3702703\";\n        pointY = \"0.587822\";\n        pupilShadeAlignment = 1;\n        pupilShadeAverage = \"0.2117647\";\n        pupilShadeHigh = \"0.2901961\";\n        pupilShadeLow = \"0.1372549\";\n        pupilShadeMedium = \"0.2117647\";\n        repairRectangleMaximumX = \"0.4162162\";\n        repairRectangleMaximumY = \"0.557377\";\n        repairRectangleMinimumX = \"0.3513514\";\n        repairRectangleMinimumY = \"0.6135831\";\n        searchRectangleMaximumX = \"0.4864865\";\n        searchRectangleMaximumY = \"0.4871194\";\n        searchRectangleMinimumX = \"0.2540541\";\n        searchRectangleMinimumY = \"0.6885245\";\n        size = \"0.012472\";\n        snappedX = \"0.3702703\";\n        snappedY = \"0.587822\";\n    },\n        {\n        averageSkinLuminance = 0;\n        bitmaskThreshold = \"0.09411766\";\n        bitmaskX = \"0.7081081\";\n        bitmaskY = \"0.6533958\";\n        cornealReflectionThreshold = \"0.8745099\";\n        cornealReflectionX = \"0.7081081\";\n        cornealReflectionY = \"0.6487119\";\n        existingPupilAverage = \"0.1686275\";\n        existingPupilHigh = \"0.3490196\";\n        existingPupilLow = \"0.03921569\";\n        existingPupilMedium = \"0.1372549\";\n        finalEyeCase = 0;\n        forceCase = 0;\n        fullImageHeight = 427;\n        fullImageWidth = 370;\n        imageOrientation = 1;\n        imageSignalToNoiseRatio = 20;\n        imageSpecialValue = 0;\n        interocularDistance = \"0.2284475\";\n        pointX = \"0.7081081\";\n        pointY = \"0.6557377\";\n        pupilShadeAlignment = 1;\n        pupilShadeAverage = \"0.2117647\";\n        pupilShadeHigh = \"0.2901961\";\n        pupilShadeLow = \"0.1372549\";\n        pupilShadeMedium = \"0.2117647\";\n        repairRectangleMaximumX = \"0.7405406\";\n        repairRectangleMaximumY = \"0.6229508\";\n        repairRectangleMinimumX = \"0.6864865\";\n        repairRectangleMinimumY = \"0.6697892\";\n        searchRectangleMaximumX = \"0.827027\";\n        searchRectangleMaximumY = \"0.5526932\";\n        searchRectangleMinimumX = \"0.5945946\";\n        searchRectangleMinimumY = \"0.7540984\";\n        size = \"0.010893\";\n        snappedX = \"0.7081081\";\n        snappedY = \"0.6557377\";\n    }\n)>"
)  
11/4/11 10:13:19.231 AM iPadTestBed:在ciimage之后:kCIImageAutoAdjustEnhance
11/4/11 10:13:19.232 AM iPadTestBed:选项:{
kCIImageAutoAdjustEnhance=否;
}
2011年11月4日10:13:19.879 AM iPadTestBed:调整:(
""
)  

谢谢您的检查。我确实注意到在那张照片上它起了作用。我想我遇到的问题是,在照片应用程序中删除红眼的图像并不总是使用带选项的自动调整过滤器返回CIRedEyeCorrections。感谢检查。我确实注意到在那张照片上它起了作用。我想我遇到的问题是,在照片应用程序中删除红眼的图像并不总是使用autoAdjustmentFiltersWithOptions返回CIRedEyeCorrections。