0
我想在pandaboard ubuntu 12.04上使用OpenCV庫。在ubuntu上使用C++ opencv:cvCaptureFromAVI()不起作用
所以我安裝了Opencv2.4.2版本,代碼在下面。
#include <stdio.h>
#include <stdlib.h>
#include "opencv2/opencv.hpp"
int main*int argc, char** argv)
{
cvNamedWindow("origin", CV_WINDOW_AUTOSIZE);
CvCapture *capture = cvCaptureFromAVI("hkleecv-desktop:/home/hkleecv/OpenCV-2.4.2/samples/cpp/captured.avi");
IplImage *frameOrigin;
if(!capture0 return 1;
int key = 0;
int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
while(key != 'q')
{
frameOrigin = cvQueryFrame(capture);
cvShowImage("origin", frameOrigin);
key = cvWaitKey(1000/fps);
}
cvReleaseCapture(&capture);
cvDestroyWindow("origin");
}
問題是這個程序無法從avi文件中抓取幀。 (此代碼工作以及在VS2010 C++)
當我用gdb shell中運行的程序,它只是返回消息「劣質1(過程NNNN)與代碼01退出」
我GOOGLE了這個錯誤並找到一個與我有類似問題的人發佈的頁面,但cvCaptureFromAVI()目前無法正常工作。
- http://cellprogramming.wordpress.com/2009/05/24/opencv-cvcapturefromavi-error-in-ubuntu-9-04/
- http://gijs.pythonic.nl/blog/2009/may/3/getting-video-io-working-opencv-and-ubuntu-jaunty-/
有人可以告訴我,我能在這裏做,使cvaptureFromAVI()工作?
哦,我解決了這一問題。我只是在寫文件地址時犯了一個錯誤。在終端上寫pwd命令,我找到了正確的地址。 – user1990294
現在frameOrigin上的另一個SIGSEGV段錯誤= cvQueryframe(capture); ...我想我得問另外一個問題。 – user1990294