Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let context = CIContext()
- let context = CIContext(eaglContext: EAGLContext(api: .openGLES3)!)
- let context = CIContext(mtlDevice: MTLCreateSystemDefaultDevice()!)
- let context = CIContext()
- func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {
- connection.videoOrientation = orientation
- connection.isVideoMirrored = !cameraModeIsBack
- let videoOutput = AVCaptureVideoDataOutput()
- videoOutput.setSampleBufferDelegate(self, queue: DispatchQueue.main)
- let sharpenFilter = CIFilter(name: "CISharpenLuminance")
- let saturationFilter = CIFilter(name: "CIColorControls")
- let contrastFilter = CIFilter(name: "CIColorControls")
- let pixellateFilter = CIFilter(name: "CIPixellate")
- let pixelBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)
- var cameraImage = CIImage(cvImageBuffer: pixelBuffer!)
- saturationFilter?.setValue(cameraImage, forKey: kCIInputImageKey)
- saturationFilter?.setValue(saturationValue, forKey: "inputSaturation")
- var cgImage = context.createCGImage((saturationFilter?.outputImage!)!, from: cameraImage.extent)!
- cameraImage = CIImage(cgImage: cgImage)
- sharpenFilter?.setValue(cameraImage, forKey: kCIInputImageKey)
- sharpenFilter?.setValue(sharpnessValue, forKey: kCIInputSharpnessKey)
- cgImage = context.createCGImage((sharpenFilter?.outputImage!)!, from: (cameraImage.extent))!
- cameraImage = CIImage(cgImage: cgImage)
- contrastFilter?.setValue(cameraImage, forKey: "inputImage")
- contrastFilter?.setValue(contrastValue, forKey: "inputContrast")
- cgImage = context.createCGImage((contrastFilter?.outputImage!)!, from: (cameraImage.extent))!
- cameraImage = CIImage(cgImage: cgImage)
- pixellateFilter?.setValue(cameraImage, forKey: kCIInputImageKey)
- pixellateFilter?.setValue(pixelateValue, forKey: kCIInputScaleKey)
- cgImage = context.createCGImage((pixellateFilter?.outputImage!)!, from: (cameraImage.extent))!
- applyChanges(image: cgImage)
- }
- func imagePixelate(sliderValue: CGFloat){
- let cgImg = image?.cgImage
- let ciImg = CIImage(cgImage: cgImg!)
- let pixellateFilter = CIFilter(name: "CIPixellate")
- pixellateFilter?.setValue(ciImg, forKey: kCIInputImageKey)
- pixellateFilter?.setValue(sliderValue, forKey: kCIInputScaleKey)
- let outputCIImg = pixellateFilter?.outputImage!
- let outputCGImg = context.createCGImage(outputCIImg!, from: (outputCIImg?.extent)!)
- let outputUIImg = UIImage(cgImage:outputCGImg!, scale:(originalImage?.scale)!, orientation: originalOrientation!)
- imageSource[0] = ImageSource(image: outputUIImg)
- slideshow.setImageInputs(imageSource)
- currentFilteredImage = outputUIImg
- }
Add Comment
Please, Sign In to add comment