Heim > Fragen und Antworten > Hauptteil
项目中用到了人脸识别,目前工作是需要从摄像头中拿数据传入到人脸算法中。
现在数据我通过AVFoundation中的代理方法拿到了原始数据sampleBuffer。
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection
{
}
我如何从原始数据sampleBuffer中将数据转成算法能接收的灰度图像数据?
PHPz2017-04-18 09:37:18
CVImageBufferRef imageBufferRef=CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress(imageBufferRef, 0);
unsigned char *ptr_image=CVPixelBufferGetBaseAddressOfPlane(imageBufferRef, 0);
unsigned char* dst = (unsigned char *)malloc(sizeof(unsigned char) * 640 * 480 * 4);
其中480 640为传入人脸识别算法的宽和高,具体要看算法要求