我正在应用滤镜列表以在相机捕获过程中检测形状。检测到形状后-要将其保存到照片中以供查看。用googlet搜索imageFromCurrentFramebuffer,但始终会保存黑色图片。

// camera init
var videoCamera = GPUImageVideoCamera(sessionPreset: AVCaptureSessionPreset1920x1080, cameraPosition: .Back)
videoCamera!.outputImageOrientation = .Portrait;
videoCamera?.startCameraCapture()

// filter init
var houghTransformFilter = GPUImageHoughTransformLineDetector()
houghTransformFilter!.lineDetectionThreshold = 0.3
houghTransformFilter!.useNextFrameForImageCapture() //without this crashes
houghTransformFilter!.linesDetectedBlock = {
    // my custom shape detection logic
    if (found) {
        self.videoCamera?.pauseCameraCapture()
        var capturedImage:UIImage? = self.houghTransformFilter!.imageFromCurrentFramebuffer()
        UIImageWriteToSavedPhotosAlbum(capturedImage, nil, nil, nil);
    }

}

最佳答案

我有一个类似的问题。您可能需要在调用之前添加以下行以获取框架:

self.houghTransformFilter?.useNextFrameForImageCapture()

关于ios - iOS-gpuimage lib中的imageFromCurrentFramebuffer保存黑框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27151644/

10-14 20:40
查看更多