2014-11-10 2 views
0

내 IOS 응용 프로그램에서 이미지 필터링에 CIFilter를 사용하고 있습니다. 다음 코드는 부드럽게 작동합니다. 그러나 한 가지 문제가 있습니다. 나는 이미지 처리가 시간이 걸린다고 생각합니다. (실시간 효과를 얻을 수 없습니다.)이 문제를 해결하는 방법 ?CIFilter를 사용하여 실시간 이미지 처리 방법

cameraImgView.image = [ImageProcessing sepian:myOriginalImage withInensity:0.5]; //method call  

방법 정의

+(UIImage*)sepian:(UIImage*)img withInensity:(float)intensity{ 

CIImage *cimage = [[CIImage alloc] initWithImage:img]; 

CIFilter *sepiaFilter = [CIFilter filterWithName:@"CISepiaTone"]; 
[sepiaFilter setDefaults]; 
[sepiaFilter setValue:cimage forKey:@"inputImage"]; 
[sepiaFilter setValue:[NSNumber numberWithFloat:intensity] 
       forKey:@"inputIntensity"]; 

CIImage *outputImage = [sepiaFilter outputImage]; 
CIContext *context = [CIContext contextWithOptions:nil]; 
CGImageRef cgImage = [context createCGImage: 
         outputImage fromRect:[outputImage extent]]; 
UIImage *resultUIImage = [UIImage imageWithCGImage:cgImage]; 
    CGImageRelease(cgImage); 
return resultUIImage; 

}

답변

0

이 시도 :

:

filter = [CIFilter filterWithName:@"CISepiaTone" 

          keysAndValues: kCIInputImageKey, rawImageData, 

        @"inputIntensity", @3.5, nil]; 

같은 아래에이 필터를 부여

CIImage *filteredImageData = [filter valueForKey:@"outputImage"]; UIImage *filteredImage = [UIImage imageWithCIImage:filteredImageData]; self.img_view.image = filteredImage; 
관련 문제