[英]How to get real time image processing using CIFilter?
I am using CIFilter for image filtering in my iOS app.My following code works smoothly.But i have one problem,i think processing of image is time taken(I can't get real time effect).How to solve this issue? 我在我的iOS应用中使用CIFilter进行图像过滤。我的以下代码运行顺利。但是我有一个问题,我认为图像处理需要时间(我无法获得实时效果)。如何解决此问题?
cameraImgView.image = [ImageProcessing sepian:myOriginalImage withInensity:0.5]; //method call
Method Definition 方法定义
+(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;
} }
Try this: 尝试这个:
filter = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, rawImageData,
@"inputIntensity", @3.5, nil];
Give this filter like below: 给这个过滤器如下:
CIImage *filteredImageData = [filter valueForKey:@"outputImage"];
UIImage *filteredImage = [UIImage imageWithCIImage:filteredImageData];
self.img_view.image = filteredImage;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.