替代iOS中的cvWaitKey()函数

时间:2012-08-25 21:53:43

标签: ios opencv

好吧,我要做的是从现有的视频文件中检索一个帧,在帧上做一些工作,然后将其保存到一个新文件,

实际发生的是它写了一些帧然后崩溃,因为代码非常快, 如果我没有把cvWaitKey()我得到相同的错误,我在使用AVFoundation Library编写视频帧时没有使用

AVAssetWriterInput.readyForMoreMediaData

OpenCV视频编写器是使用AVFoundation类实现的,但我们无法访问

AVAssetWriterInput.readyForMoreMediaData

还是我错过了什么?

这里的代码类似于我正在尝试的代码,

while (grabResult&&frameResult) {

        grabResult = cvGrabFrame(capture);          // capture a frame
        if(grabResult){
            img = cvRetrieveFrame(capture, 0);  // retrieve the captured frame
            cvFlip(img,NULL,0);                 // edit img
            frameResult = cvWriteFrame(writer,img);      // add the frame to the file
            cvWaitKey(-1); or anything that helps to finish adding the previous frame
        }
    }
  

我正在尝试使用OpenCV转换视频文件(不显示)   在我的iPhone / iPad应用程序中,除了cvWaitKey()函数外,一切正常   我收到这个错误:

OpenCV Error: Unspecified error (The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) in cvWaitKey,
     

如果没有此功能,帧将被删除,因为无法知道是否   视频作家准备好了,有没有替代我的问题?

     

我正在使用OpenCV 2.4.2并且我得到了与最新版本相同的错误   预编译版本的OpenCV。

2 个答案:

答案 0 :(得分:0)

我对iOS开发一无所知,但您是否尝试调用C ++接口方法waitKey()

答案 1 :(得分:0)

重新绘制UIImageView

[[NSRunLoop currentRunLoop]runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.0f]];

后跟您的imshowcvShowImage