Android デバイス (この場合はエミュレーター) の SD カードに保存されているビデオからフレームごとにキャプチャする必要があります。NDK 経由で Android と OpenCV を使用しています。DDBS (Eclipse) のファイル エクスプローラーを使用して、sdcard 内のファイル "SinglePerson.avi" を手動でプッシュし、以下のコードを使用してファイルを読み取りました。
JNIEXPORT void JNICALL Java_org_opencv_samples_tutorial4_Sample4Mixed_VideoProcessing(JNIEnv*, jobject)
{
LOGI("INSIDE VideoProcessing ");
CvCapture* capture = cvCaptureFromAVI("/mnt/sdcard/SinglePerson.avi");
IplImage* img = 0;
if(!cvGrabFrame(capture)){ // capture a frame
LOGI("Inside the if");
printf("Could not grab a frame\n\7");
exit(0);
}
img=cvRetrieveFrame(capture);// retrieve the captured frame
cvReleaseCapture(&capture);
}
問題は、cvGrabFrame(capture) の結果が常に false になることです。ビデオを正しく開いてフレームを取得するための提案はありますか? 前もって感謝します