Iphone AVCaptureVideoPreviewLayer和OpenCV

Iphone AVCaptureVideoPreviewLayer和OpenCV,iphone,ios,calayer,avcapture,Iphone,Ios,Calayer,Avcapture,我在使用iOS SDK将结果显示到preivewLayer时遇到问题。我需要您提供一些建议,帮助我理解如何用经过处理的帧“替换”捕获的帧 事实是:我有一个非常标准的AVCapture配置应用程序,它与OpenCV框架混合在一起 -(void)captureOutput... { // I think that is here where I have to do operations... so // for example a simple RGB->GRAY...

我在使用iOS SDK将结果显示到preivewLayer时遇到问题。我需要您提供一些建议,帮助我理解如何用经过处理的帧“替换”捕获的帧

事实是:我有一个非常标准的AVCapture配置应用程序,它与OpenCV框架混合在一起

-(void)captureOutput... {
    // I think that is here where I have to do operations... so
    // for example a simple RGB->GRAY...
    UIImage* img = [[UIImage alloc] initWithCMSampleBuffer:sampleBuffer];
    cv::Mat m_img; 

    m_img = [img CVMat];

    // you can do this using m_img both as a src and dst
    cv::cvtColor( m_img, m_img, CV_BGR2GRAY );

    img = [[UIImage alloc] initWithCvMat:m_img]; 

    [previewLayer setContent:[img CGImage]];

}
显然,这是不正确的。例如,新内容的大小没有正确调整,而捕获的帧是正确的,因为我设置了

[previewLayer setVideoGravity:AVLayerVideoGravityResizeAspect];
但“最大”的问题是,我处理过的图像在捕获的帧后面,视频非常流畅,而我处理过的视频(在帧后面)不那么流畅(即使我什么都不做,直接指定相同的图像)

你们中的任何人都可以帮助我理解如何将处理后的图像直接应用到previewLayer(在本例中使用OpenCV)

非常感谢你