1

わかりました、私がしようとしているのは、既存のビデオ ファイルからフレームを取得し、そのフレームでいくつかの作業を行ってから、新しいファイルに保存することです。

実際に何が起こるかというと、コードが非常に高速であるため、いくつかのフレームを書き込んでからクラッシュします。

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
        }
    }

iPhone/iPad アプリで (表示せずに) OpenCV を使用してビデオ ファイルを変換しようとしていますが、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 で同じエラーが発生します。

4

2 に答える 2

0

再描画UIImageView:

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

imshowあなたのまたはが続くcvShowImage

于 2016-06-07T12:08:49.770 に答える
0

iOS開発については何も知らないのですが、C++インターフェースメソッドを呼び出してみましたwaitKey()か?

于 2012-08-26T21:36:13.807 に答える