2012-04-24 43 views
0

我正在嘗試使用CIUnsharpMask過濾器來處理圖像。問題是返回的圖像是空白的。圖像視圖中沒有任何內容出現。我一直在爲我的其他濾鏡使用相同的模板,並且它們工作正常。 radiusValue和intensityValue都是NSNumbers btw。CIUnsharpMask無法正常工作?

CIImage *ciUnsharpMaskImage = [[CIImage alloc] initWithImage:preFilterImage]; 
CIContext *ciUnsharpMaskContext = [CIContext contextWithOptions:nil]; 
CIFilter *ciUnsharpMaskFilter = [CIFilter filterWithName:@"CIUnsharpMask" 
              keysAndValues: kCIInputImageKey, ciUnsharpMaskImage, 
           @"inputRadius", radiusValue, 
           @"inputIntensity", intensityValue, nil]; 
CIImage *ciUnsharpMaskOutputImage = [ciUnsharpMaskFilter outputImage]; 
CGImageRef ciUnsharpMaskCgimg = [ciUnsharpMaskContext 
           createCGImage:ciUnsharpMaskOutputImage 
           fromRect:[ciUnsharpMaskOutputImage extent]]; 
preFilterImage = [UIImage imageWithCGImage:ciUnsharpMaskCgimg]; 
CGImageRelease(ciUnsharpMaskCgimg); 
NSLog(@"unsharp mask filter applied"); 

[self.imageView setImage:preFilterImage]; 

回答

0

沒關係,我用下面的代碼來獲取可用filteres的列表,CIUnsharpMask是不是其中之一:(

NSArray *supportedFilters = [CIFilter filterNamesInCategory:kCICategoryBuiltIn]; 
for (CIFilter *filter in supportedFilters) { 
    NSString *string = [NSString stringWithFormat:@"%@",[[CIFilter filterWithName:(NSString *)filter] inputKeys]]; 
    NSLog(@"%@ %@", filter, string); 
} 
+0

如果您確實想要在iOS上應用加速的非銳化遮罩,請查看我的GPUImage框架中的GPUImageUnsharpMask濾鏡:https://github.com/BradLarson/GPUImage – 2012-05-02 16:57:02

0

CIUnsharpMask加入到核心映像中的iOS 6