ios - 从 GPUImageVideoCamera 获取像素颜色

标签 ios swift gpuimage chromakey

我使用 GPUImage 库和以下代码创建了一个简单的绿屏:

import UIKit
import GPUImage


class CaptureViewController: UIViewController {

  var videoCamera:GPUImageVideoCamera?
  var filter:GPUImageChromaKeyFilter?

@IBOutlet weak var cameraView: GPUImageView!

override func viewDidLoad() {
    super.viewDidLoad()
    cameraView.backgroundColor = UIColor.clearColor()
    videoCamera = GPUImageVideoCamera(sessionPreset: AVCaptureSessionPreset640x480, cameraPosition: .Back)
    videoCamera!.outputImageOrientation = .Portrait;
    filter = GPUImageChromaKeyFilter()
    filter?.setColorToReplaceRed(0.0, green: 1.0, blue: 0.0)
    filter?.thresholdSensitivity = 0.4
    videoCamera?.addTarget(filter)
    filter?.addTarget(cameraView)
    videoCamera?.startCameraCapture()
}

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
}
}

现在我想将颜色从绿色更改为用户点击视频的位置。

:如何获取点击位置的像素数据?

最佳答案

您的问题是如何在 View 中获取触摸点(覆盖touchesEnded并查看touch.locationInView)或者如何读回该点处或周围的像素值?

后者的答案是 GPUImage 项目有一个名为 RawDataTest 的示例,该示例向您展示如何从 GPU 读取 View 中任意像素的 RGBA 值。

https://github.com/BradLarson/GPUImage/tree/master/examples/iOS/RawDataTest/RawDataTest

关于ios - 从 GPUImageVideoCamera 获取像素颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34880493/

相关文章:

iphone - 使用 AVAudioRecorder 录制 WAV 格式文件?

android - 仅将新项目从 Crashlytics 迁移到 Fabric

swift - 在Swift中计算通过将颜色与透明颜色叠加而获得的没有透明度的颜色

ios - Swift iOS Firebase - 如何组合 queryOrdered(byChild) 和 GeoFireobserve(.keyEntered) 以同时获取快照和位置结果?

ios - 透明的 GPUImageView?

ios - 无法创建用作带有通配符标识符的 iOS 应用程序配置文件的应用程序包 ID 的显式 AppID

ios - iPhone ipa 分发 ike Diawi.com 的任何替代方式?这个网站最近几天不能用

ios - 如何在 swift iOS 中清除惰性变量的值?

ios - GPU图像性能

ios - 无法使 GPUImageAlphaBlendFilter 在电影文件上覆盖静态图像