我正在应用滤镜列表以在相机捕获过程中检测形状。检测到形状后-要将其保存到照片中以供查看。用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/