从GPUImage捕获的CIImage获取图像数据时的EXC_BAD_ACCESS

时间:2016-08-10 05:07:14

标签: swift exc-bad-access gpuimage core-image

我正在使用GPUImage库从我的iPad相机捕捉视频帧,并尝试对生成的图像缓冲区进行一些处理。

我有以下用于检索CFData字节数组的代码:

func testImage(image: CIImage) -> Bool {
    let ciContext = CIContext()
    let cgImg = ciContext.createCGImage(image, fromRect: image.extent)

    if let dataProvider = CGImageGetDataProvider(cgImg),
           imageData = CGDataProviderCopyData(dataProvider) {
        print("Retrieved image byte array with length: \(CFDataGetLength(imageData))")
    }

    return false
}

// Camera delegate function
func didCaptureBuffer(sampleBuffer: CMSampleBuffer) {
    if let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) {
        let image = CIImage(CVImageBuffer: imageBuffer)

        if testImage(image) {
            print("Image tested true!")
        }
    }
}

每当我尝试在iPad上运行此代码时,if let imageData....行都会出现EXC_BAD_ACCESS内存问题。有没有人见过这个或知道我怎么调试它?

0 个答案:

没有答案