[英]How to get real time image processing using CIFilter?
我在我的iOS應用中使用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;
}
嘗試這個:
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.