2023-01-20 354
我需要从存储在Android设备的SD卡中的视频中捕获框架(在这种情况下为My Myulator).我通过NDK使用Android和OpenCV.我通过ddbs(eclipse)的文件资源管理器手动将文件” 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(捕获)结果始终是错误的.
有任何建议可以正确打开视频并抓住框架吗?
预先感谢
openCV(在包装OPENCV2中)构建的某些版本没有视频支持.如果是您的情况,则必须在pkg的makefile和重新编译中启用” -d with_ffmpeg = on”.
请看”使用AVI视频显示AVI视频OpenCV” 教程:
“您可能需要确保已成功安装FFMPEG,以允许以不同格式进行视频编码和视频解码.在尝试运行此简单示例并产生汇编错误时,没有FFMPEG功能可能会导致问题”.
还要在cvcapturefromavi中检查路径是否正确.
您要观察到的行为可能是由于cvCaptureFromAVI()失败所致.您需要开始安全地编码并检查您拨打的电话的返回:
CvCapture* capture = cvCaptureFromAVI("/mnt/sdcard/SinglePerson.avi");
if (!capture)
{
printf("!!! Failed to open video\n\7");
exit(0);
}
此功能通常出于2个原因失败:
如果您是OpenCV的新手,建议您先在桌面(PC)上测试OpenCV代码.
以上所述是小编给大家介绍的CvCaptureFromAVI问题-OpenCV Android,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/25938.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态