OpenCV/无法打开AVI文件
OpenCV / cannot open an AVI file
我正在使用opencv来检测闪烁。我能够用相机拍摄的流来运行我的项目,一切都很好。我试图在*.avi文件的数据库上测试我的算法,但我无法打开其中任何一个。我检查了这些编解码器的版本,并下载了正确的编解码器,但它仍然不起作用。我决定尝试至少加载剪辑,使用我在互联网上找到的代码:
int main( int argc, char** argv ){
int key = 0;
// Initialize camera and OpenCV image
//CvCapture* capture = cvCaptureFromCAM( 0 );
CvCapture* capture = cvCaptureFromAVI( "file.avi" );
IplImage* frame = cvQueryFrame( capture );
// Check
if ( !capture )
{
fprintf( stderr, "Cannot open AVI!n" );
return 1;
}
// Get the fps, needed to set the delay
int fps = ( int )cvGetCaptureProperty( capture, CV_CAP_PROP_FPS );
// Create a window to display the video
cvNamedWindow( "video", CV_WINDOW_AUTOSIZE );
while( key != 'x' )
{
// get the image frame
frame = cvQueryFrame( capture );
// exit if unsuccessful
if( !frame ) break;
// display current frame
cvShowImage( "video", frame );
// exit if user presses 'x'
key = cvWaitKey( 1000 / fps );
}
// Tidy up
cvDestroyWindow( "video" );
cvReleaseCapture( &capture );
return 0;
}
但是它仍然没有改变任何东西,捕获仍然是NULL。你知道我现在能做什么吗?提前感谢!
E: 我在x64窗口上使用opencv 2.4.6
代码似乎是正确的。
您将该问题标记为C++,但IplImage源自英特尔图像处理库,是本机OpenCV C库的一部分。在OpenCV C++库中,我想没有IplImage(或者不应该使用),您必须使用cv::Mat
。
关于这个问题:你确定你编译的OpenCV支持正确的ffmpeg(或任何其他视频库)吗?确保您已经安装了所需的编解码器,然后使用必要的标志重新编译opencv。可能会有所帮助。
确保opencv安装cmake的输出包括类似的文本:
found gstreamer-base-0.10
GTK+ 2.x: YES
FFMPEG: YES
GStreamer: YES
V4L/V4L2: Using libv4l
PSFFMPEG:是
我也遇到了同样的问题,然后我用类VideoCapture代替
http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=videocapture#VideoCapture
我想没有安装正确的编解码器。我们需要按照OpenCV的建议安装正确的编解码器,网址为http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html.检查VideoWriter::VideoWriter部分。我们需要FOURCC的视频编解码器http://www.fourcc.org/codecs.php.小心。安装可能会安装垃圾以及编解码器。并非所有的编解码器都被识别。至少现在我有了mpeg4和DivX,可以打开OpenCV自己的演示程序使用的Megamind.avi。
- 如何从头开始创建 avi 文件?
- 如何从 avi 文件中抓取所有帧 - 如何修改 MS 样本采集卡样本
- 读取视频文件"Open CV WARNING: Couldn't read movie file bird.avi"时出现问题
- openCV读取.avi文件的视频捕获获取空框架
- 由OpenCV 2.4.6创建的AVI文件在应用程序退出时并不总是有效
- OpenCV显示编码在I420中的avi文件
- 在 AVI、H.264 文件中查找关键帧
- visual如何在C++中将捕获的流媒体视频保存到avi文件中
- OpenCV/无法打开AVI文件
- 在C++中通过DirectShow将4:2:0YUV原始数据写入AVI文件
- 在C++中通过Windows视频将4:2:0YUV原始数据写入AVI文件
- 可视化创建后在C++中保存AVI文件
- 如何使用OpenCV编写大于2GB的avi文件
- OpenCV -如何从.ppm文件列表中生成.avi文件
- Qt创建视频/AVI文件从小部件
- Opencv写摄像头输出到avi文件
- Phonon可以在MacOS上读取.avi文件
- 使用AWS -cpp-sdk上传avi文件到AWS S3
- 从JPG制作一个avi文件
- 如何使用 DirectShow 编写 avi 文件