我正在使用GPUImage2進行視頻處理。當應用程序啓動時,我創建一個六角形網格並將其添加到我的cameraView。網格是全屏的,由大約100個六邊形組成。 一般來說,我試圖實現的是GPUImage:如何確定六邊形內的平均顏色?
對於每一幀我想在網格的每個單元格中找到平均顏色(RGB或甚至更好的HSV)。 當確定顏色時,我想根據平均顏色在每個六邊形的中心畫一些東西。
我有一個六邊形數組,每個人都知道它的頂點的座標和中心。 我也有一個包含這些六邊形邊界的UIBezierPaths數組(以防萬一)。
所以我的代碼看起來像這樣
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 {
}
}
}
我猜didCaptureBuffer()應該是averageColorExtractor適用於每個六邊形的地方,但沒有一個想法,下一步怎麼辦..
我我是iOS開發新手,這是我第一次使用GPUImage2 ...請引導我朝着正確的方向發展。