簡體   English   中英

如何使用CIFilter進行實時圖像處理?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM