Tag: 核心图像

Xcode:使用核心图像合成alpha

我想要创build一个CoreImage过滤链,并能够通过合成其单独的效果与alpha或不透明度设置来控制链中每个filter的“强度”,但我没有看到一种方法来与alpha或文档中的不透明度。 我可以跳出核心图像filter链,并与核心graphics上下文我想。

在AVFoundation中使用CIFilter(iOS)

我正在尝试在iOS上使用AVFoundation创build的video合成filter(filter可能是,例如模糊,像素化,深褐色等)。 我需要实时应用这些效果,并且能够将复合video渲染到磁盘上,但我很高兴从一个或另一个开始。 不幸的是,我似乎无法找出这一个。 以下是我能做的事情: 我可以为正在播放电影的UIView添加一个animation层,但是如果我能够以这种方式处理传入的video图像,我不清楚。 我可以添加一个CIFilters数组到AVPlayerLayer,但事实certificate,这些在iOS中被忽略(它只适用于Mac OS X)。 我可以添加一个AVVideoCompositionCoreAnimationTool到AVVideoCompopsition,但我不确定这将完成video处理(而不是animation),并且会崩溃,并且不会被devise用于实时播放。 我相信这是渲染到磁盘时渲染animation的解决scheme。 其他应用程序这样做(我认为),所以我想我错过了一些明显的东西。 注意:我已经研究过GPUImage,我很乐意使用它,但是对于电影,特别是带有audio的电影来说,这并不适用。 看例如: 在AVMutableComposition中,GPUImage在运行时过滤 https://github.com/BradLarson/GPUImage/issues/1339

CIGaussianBlur图像大小

嘿想模糊我的看法,我用这个代码: //Get a UIImage from the UIView NSLog(@"blur capture"); UIGraphicsBeginImageContext(BlurContrainerView.frame.size); [self.view.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); //Blur the UIImage CIImage *imageToBlur = [CIImage imageWithCGImage:viewImage.CGImage]; CIFilter *gaussianBlurFilter = [CIFilter filterWithName: @"CIGaussianBlur"]; [gaussianBlurFilter setValue:imageToBlur forKey: @"inputImage"]; [gaussianBlurFilter setValue:[NSNumber numberWithFloat: 5] forKey: @"inputRadius"]; //change number to increase/decrease blur CIImage *resultImage = [gaussianBlurFilter valueForKey: @"outputImage"]; //create UIImage from […]

从CMSampleBuffer创build一个UIImage

这与关于将CMSampleBuffer转换为UIImage的无数问题并不相同。 我只是想知道为什么我不能像这样转换它: CVPixelBufferRef pixelBuffer = (CVPixelBufferRef)CMSampleBufferGetImageBuffer(sampleBuffer); CIImage * imageFromCoreImageLibrary = [CIImage imageWithCVPixelBuffer: pixelBuffer]; UIImage * imageForUI = [UIImage imageWithCIImage: imageFromCoreImageLibrary]; 这似乎更简单,因为它适用于YCbCr色彩空间,以及RGBA和其他。 这个代码有什么问题吗?

核心图像人脸检测破64位iOS?

所以,我有一个应用程序,使用核心图像的面部检测function( https://itunes.apple.com/us/app/ace-freakyface-cartoon-mask/id454513332?mt=8 ),我刚刚得到新的iPhone 5s和应用程序不再检测到一张脸。 我也在debugging时在控制台中收到一个错误: /System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat:mach-o,但错误的体系结构2013-09-25 20:17:22.861 faceMaker [474:a16b]人脸检测发现脸部错误:错误域= FCRFaceDetectorErrorDomain Code = 2“dlopen(/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat,2):没有find合适的图像find了: 我已经用iOS 7更新了我的iPhone 4(非64位),并且应用程序可以正常工作。 我认为我需要更新有效的体系结构,但是当我这样做时,我会中断AdMob库。 可能有解决方法,但不是我所知道的。 无论如何,我会继续尝试的东西,但想知道是否有其他人有类似的问题。 我也下载了什么看起来是应用程序商店中的其他应用程序使用面部检测器API和相同的结果,即没有64位的喜悦。 谢谢, 缺口

kCGImageAlphaNone无法parsing的标识符在swift中

我想在Swift中使用CoreImage将图像/纹理(SpriteKit)转换为灰度: 我发现这个答案: https ://stackoverflow.com/a/17218546/836501我试图转换为iOS7 / 8的Swift 但是kCGImageAlphaNone不存在。 相反,我可以使用CGImageAlphaInfo.None但函数CGBitmapContextCreate()不喜欢它作为其最后一个参数。 我有义务使用枚举CGBitmapInfo但似乎没有kCGImageAlphaNone等价的内部。 这是错误的参数(最后一个)的完整行: var context = CGBitmapContextCreate(nil, UInt(width), UInt(height), 8, 0, colorSpace, kCGImageAlphaNone) 我只需要在Swift中将UIImage转换为灰度。

从CIImage获取CGImage

我有一个UIImage从CIImage加载: tempImage = [UIImage imageWithCIImage:ciImage]; 问题是我需要裁剪tempImage到一个特定的CGRect和我知道如何做到这一点的唯一方法是通过使用CGImage 。 问题是,在iOS 6.0文档中,我发现这个: CGImage If the UIImage object was initialized using a CIImage object, the value of the property is NULL. A.如何将CIImage转换为CGImage? 我正在使用这个代码,但我有一个内存泄漏(并不明白在哪里): +(UIImage*)UIImageFromCIImage:(CIImage*)ciImage { CGSize size = ciImage.extent.size; UIGraphicsBeginImageContext(size); CGRect rect; rect.origin = CGPointZero; rect.size = size; UIImage *remImage = [UIImage imageWithCIImage:ciImage]; [remImage drawInRect:rect]; UIImage *result = UIGraphicsGetImageFromCurrentImageContext(); […]

在CIFilter中使用来自CIColor的CIImage:获取空图像

我正在尝试使用混合模式创buildCIFilter(如叠加或乘法)。 相关代码: // Let's try a filter here // Get the data NSData *imageData = UIImageJPEGRepresentation(image, 0.85); // Create a CI Image CIImage *beginImage = [CIImage imageWithData:imageData]; CIImage *overlay = [CIImage imageWithColor:[CIColor colorWithRed:0.7 green:0.75 blue:0.9 alpha:0.75]]; // Create a context CIContext *context = [CIContext contextWithOptions:nil]; // Create filter CIFilter *filter = [CIFilter filterWithName:@"CIOverlayBlendMode" keysAndValues:@"inputImage", beginImage, […]

将CIFilter应用于CALayer

所以, CIfilter现在可以在iOS 5中使用,而且我正试图将一个应用到CALayer上, 就像在Mac上一样 。 这是我的代码: CALayer *myCircle = [CALayer layer]; myCircle.bounds = CGRectMake(0,0,30,30); myCircle.position = CGPointMake(100,100); myCircle.cornerRadius = 15; myCircle.borderColor = [UIColor whiteColor].CGColor; myCircle.borderWidth = 2; myCircle.backgroundColor = [UIColor whiteColor].CGColor; CIFilter *blurFilter = [CIFilter filterWithName:@"CIDiscBlur"]; [blurFilter setDefaults]; [blurFilter setValue:[NSNumber numberWithFloat:5.0f] forKey:@"inputRadius"]; [myCircle setFilters:[NSArray arrayWithObjects:blurFilter, nil]]; [self.view.layer addSublayer:myCircle]; 我的白色圆圈画得很好,但没有应用filter。 有什么想法吗?

iOS白点/白平衡调整示例/build议

我正在尝试以编程方式更改白点/白平衡。 这是我想要完成的: – 从图像中select一个(随机)像素 – 获取该像素的颜色 – 转换图像,使该颜色的所有像素将被转换为白色,所有其他颜色转换为匹配 我已经完成了前两步,但第三步并没有真正解决。 起初,我认为,根据苹果文档CIWhitePointAdjust应该是完成的东西,但是,虽然它确实改变了形象,但它并没有做我希望/期望它做的事情。 那么看起来CIColorMatrix应该是能够帮助我改变颜色的东西,但是我仍然(并且仍然)不知道用那些讨厌的vectorinput什么东西。 我已经尝试了几乎所有的东西(所有vector上的相同RGB值,每个vector上的对应值(R代表R等),1-相应值,1 +相应值,1 /相应值)RGB值和不同(1 – x ,1 + x,1 / x)。 我也遇到过CITemperatureAndTint ,根据苹果文档也应该有所帮助,但是我还没有想出如何从RGB转换成温度和色调。 我已经看到关于从RGB转换到温度的algorithm和公式,但没有关于色调。 不过我会继续尝试一下。 任何帮助非常感谢!