私はGPUImage2でビデオ処理をしています。アプリケーションが起動すると、六角形のグリッドを作成し、カメラビューに追加します。グリッドはフルスクリーンで、約100個の六角形で構成されています。 一般的には、私が達成しようとしているのはGPUImage:六角形内の平均色を決定する方法は?
グリッドの各セル内の平均的な色(RGBまたはより良いHSV)を探したいと思います。 色が決まったら、平均色に応じて各六角形の中央に何かを描きたいと思います。
私は六角形の配列を持っていますが、それぞれ頂点の座標と中心を知っています。 私はまた、これらの六角形の境界を含むUIBezierPathsを持つ配列を持っています。
だから私のコードは、私はdidCaptureBuffer()はそれぞれの六角形にaverageColorExtractorを適用する場所でなければなりませんが、次に何を行うにアイデアを持っていないと思います。この
class ViewController: UIViewController {
var hexagons = [HKHexagon]()
var hexagonsBounds = [UIBezierPath]()
let averageColorExtractor = AverageColorExtractor()
override func viewDidLoad() {
super.viewDidLoad()
do {
camera = try Camera(sessionPreset:AVCaptureSessionPreset1920x1080)
camera.delegate = self
cameraView.orientation = .landscapeLeft
camera --> cameraView
camera.startCapture()
drawGrid()
} catch {
fatalError("Could not initialize rendering pipeline: \(error)")
}
}
}
extension ViewController: CameraDelegate {
func didCaptureBuffer(_ sampleBuffer: CMSampleBuffer) {
for hexagon in hexagons {
}
}
}
のように見えます。..
私はiOS開発の初心者です。初めてGPUImage2を使用しています...正しい方向に案内してください。