一般在iOS上做录像都可以直接使用UIImagePickerController。
但有时候难免需要做逐帧的处理,比如实时的滤镜之类的。
参照这个帖子: A (quasi-) real-time video processing on iOS 把使用AVFoundation做录像的代码,做了一个简单的封装。
Delegate可以得到逐帧的彩色或者灰度图,然后就可以加上自己需要的处理了。
代码放在Gihub上:MPVideoProcessor
具体使用请参见Github上的Readme.
你好,请教个问题。
在代码中设置的帧格式是:kCVPixelFormatType_420YpCbCr8BiPlanarFullRange
然后在回调函数captureOutput中得到raw数据是:
Pixel_8 *lumaBuffer = CVPixelBufferGetBaseAddressOfPlane(imageBuffer, 0);
显示出来是灰度图(只有Y通道,没有UV通道),如果我想显示的是彩色图(YUV420(NV12)),那么应该怎么做呢?
感谢解惑~
Hello, 如果取图像的时候用的是GrayColorSpace,应该只能显示出灰度图的。你可以看看WWDC里面的Capturing from the Camera using AV Foundation on iOS 5这个部分,貌似不是换一个ColorSpace这么直接。我没用过YUV的彩图,如果我搞清楚了再会更新的…