Tag: cifilter

将button从过滤的图像重置为原始图像

我试图在图像视图中添加filter到我的图像,当我试图点击他们正在堆叠的filterbutton。 你能帮我创build一个重置或撤消button来转到原始图像与IAM从相机和相机胶卷获取原始图像? (IBAction)filter:(id)sender { CIContext *context=[CIContext contextWithOptions:nil]; CIImage *image =[CIImage imageWithCGImage:imageview.image.CGImage]; CIFilter *filter =[CIFilter filterWithName:@"CISepiaTone"]; [filter setValue:image forKey:kCIInputImageKey]; [filter setValue:@1.0f forKey:@"InputIntensity"]; CIImage *result =[filter valueForKey:kCIOutputImageKey]; CGImageRef cgImage =[context createCGImage:result fromRect:result.extent]; UIImage *uiImage =[[UIImage alloc]initWithCGImage:cgImage]; [self.imageview setImage:uiImage];

AVMutableVideoComposition请求sourceImage有时是空的

这是我的这个问题的延伸,但我认为这是不同的值得自己的问题: 我正在过滤各种大小,尺度等video喂养他们成AVMutableVideoComposition 。 这是我目前的代码: private func filterVideo(with filter: Filter?) { if let player = playerLayer?.player, let playerItem = player.currentItem { let composition = AVMutableComposition() let videoAssetTrack = playerItem.asset.tracks(withMediaType: .video).first let videoCompositionTrack = composition.addMutableTrack(withMediaType: .video, preferredTrackID: kCMPersistentTrackID_Invalid) try? videoCompositionTrack?.insertTimeRange(CMTimeRange(start: kCMTimeZero, duration: playerItem.asset.duration), of: videoAssetTrack!, at: kCMTimeZero) let videoComposition = AVMutableVideoComposition(asset: composition, applyingCIFiltersWithHandler: { (request) in print(request.sourceImage.pixelBuffer) […]

如何将任何颜色的色度键filter应用于相机馈送ios?

基本上我想将色度键filter应用于ios实时摄像头,但我希望用户select将被另一种颜色replace的颜色。 我发现一些使用绿色屏幕的例子,但我不知道如何dynamicreplace颜色,而不是只是绿色。 任何想法如何才能达到最佳性能?

CIFilter已经改变了UIImage长宽比 – SWIFT

我在我的iOS应用程序中实现了一个CIFilter来profileImages。 我已经添加了方向来防止像素化,但是我正在忍受长宽比 “ScaleAspectFill”不适用于图像。 在颜色相同的图像有完美的长宽比…即,当我只有: self.p1ProfilePic.image = p1Img 我已经为Storyboard中的configuration文件图像指定了确切的高度和宽度。 我已经尝试添加.contentMode编程方式为.ScaleAspectFill但没有任何效果。 我在这里错过了什么? 的CGRect? let originalImageP1 = CIImage(image: p1Img!) let filter = CIFilter(name: "CIPhotoEffectTonal") filter!.setDefaults() filter!.setValue(originalImageP1, forKey: kCIInputImageKey) let outputImage = filter!.outputImage self.p1ProfilePic.image = UIImage(CIImage: outputImage!, scale: UIScreen.mainScreen().scale, orientation: .Up)

将CIFiler应用于图像的蒙版部分

我正在寻找一种方法来将CIFilter应用于由掩码定义的图像的一部分。 像这样的东西,给一个图像: 来源http://imageshack.us/scaled/landing/213/browserpreviewtmp1p.jpg 还有一个面具: 我申请了一些变化 CIFilter *filter = [CIFilter filterWithName:@"CIColorControls" keysAndValues: kCIInputImageKey, beginImage,@"inputSaturation", @0, @"inputContrast", @1, @"inputBrightness", @0, nil]; 得到这个: 结果http://imageshack.us/a/img689/5297/browserpreviewtmpd.jpg 我怎样才能做到这一点?

从函数中获取UIImage

我写了一个函数来将filter应用到照片上。 为什么函数总是返回零? func getImage() -> UIImage? { let openGLContext = EAGLContext(api: .openGLES2) let context = CIContext(eaglContext: openGLContext!) let coreImage = UIImage(cgImage: image.cgImage!) filter.setValue(coreImage, forKey: kCIInputImageKey) filter.setValue(1, forKey: kCIInputContrastKey) if let outputImage = filter.value(forKey: kCIOutputImageKey) as? CIImage { let output = context.createCGImage(outputImage, from: outputImage.extent) return UIImage(cgImage: output!) } return nil }

将核心图像滤镜(CIBumpDistortion)应用于图像的一个部分+改变CIFilter的select和强度的半径

我想复制这里显示的一些function: 所以我希望用户将CIBumpDistortionfilter应用于图像,并让他select 1)正是他想要通过让他刚刚触摸图像上的相应位置来应用它 2a)圆圈select的大小(上图中的第一个滑块) 2b)CIBumpDistortionfilter的强度(上图中的第二个滑块) 我阅读了一些以前提出的问题,但是它们并没有真正的帮助,其中一些解决scheme听起来非常友好(例如剪切需要的部分,然后重新应用到旧的图像)。 希望我一次不要求太多。 Objective-C将是首选,但任何帮助/提示将非常感激! 先谢谢你!

在Swift中使用实时filter录制video

我是新来的迅速,并试图build立一个相机应用程序,可以应用实时filter,并保存与应用的filter。 到目前为止,我可以预览实时应用的filter,但是当我保存video全黑。 import UIKit import AVFoundation import AssetsLibrary import CoreMedia import Photos class ViewController: UIViewController , AVCaptureVideoDataOutputSampleBufferDelegate { var captureSession: AVCaptureSession! @IBOutlet weak var previewView: UIView! @IBOutlet weak var recordButtton: UIButton! @IBOutlet weak var imageView: UIImageView! var assetWriter: AVAssetWriter? var assetWriterPixelBufferInput: AVAssetWriterInputPixelBufferAdaptor? var isWriting = false var currentSampleTime: CMTime? var currentVideoDimensions: CMVideoDimensions? override func viewDidLoad() […]

如何将LUT png用于CIColorCubefilter?

我想在Swift中使用查找表png( 示例 )作为CIColorCubefilter的颜色立方体数据。 所有我尝试(和发现)到目前为止是一个计算的颜色立方体的例子,在这个例子中 。 我怎样才能读取一个PNG作为查找数据?

将CIFilter应用于video文件并保存

有没有快速,轻量级的方式来将CIFilter应用于video? 在提到之前,我已经看过GPUImage–它看起来像是非常强大的魔法代码,但是对于我正在尝试做的事情来说,这确实是过度杀伤力。 本质上,我想 拍一个video文件,比如保存在/tmp/myVideoFile.mp4 将CIFilter应用于此video文件 将video文件保存到不同(或相同)的位置,例如/tmp/anotherVideoFile.mp4 我已经能够将CIFilter应用于使用AVPlayerItemVideoOutput let player = AVPlayer(playerItem: AVPlayerItem(asset: video)) let output = AVPlayerItemVideoOutput(pixelBufferAttributes: nil) player.currentItem?.addOutput(self.output) player.play() let displayLink = CADisplayLink(target: self, selector: #selector(self.displayLinkDidRefresh(_:))) displayLink.addToRunLoop(NSRunLoop.mainRunLoop(), forMode: NSRunLoopCommonModes) func displayLinkDidRefresh(link: CADisplayLink){ let itemTime = output.itemTimeForHostTime(CACurrentMediaTime()) if output.hasNewPixelBufferForItemTime(itemTime){ if let pixelBuffer = output.copyPixelBufferForItemTime(itemTime, itemTimeForDisplay: nil){ let image = CIImage(CVPixelBuffer: pixelBuffer) // apply filters to […]