Linux OpenCV读取视频失败,cvCreateFileCapture失败的解决
背景:
近期想在嵌入式平台上开发QT+Opencv,无料PC机上编写的OpenCV程序老是打不开视频。
開始提示:OpenCV Error: Bad argument (Array should be CvMat or IplImage) in cvGetSize
可是没实用错。考虑到可能没有打开视频,以作为cvGetSize的參数。
曾经程序执行没有问题。近期电脑进行了一些FFMPEG/ZLIB等的交叉编译。就不能执行了。
解决方法:
网上搜索,发现是由于ffmpeg没有编译到opencv里。于是參照http://blog.csdn.net/tinyway/article/details/9088985进行又一次编译,攻克了问题。
总结例如以下:
PC:Ubuntu12.04LTS OpenCV2.4.3
OpenCV成功编译安装。进而编译算法,也成功编译生成二进制文件,可是执行时候cvCreateFileCapture无法读入视频。终于原因在于ffmpeg没有配置好。删除OpenCV和ffmpeg又一次编译ffmpeg和OpenCV后。视频读入成功。
ffmpeg安装
源代码下载 : svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg(假设没有安装svn。依据提示安装)
安 装: yasm:sudo apt-get install yasm
文件配置 : ./configure --enable-shared --enable-gpl --enable-swscale
编译安装 : make ;sudo make install
然后进行OpenCV安装,安装与使用具体过程參见:http://blog.csdn.net/guo8113/article/details/29211041
以下也给出了简要过程:
OpenCV2.4.4的安装
tar -jxvf OpenCV-2.4.3.tar.bz2
cd OpenCV-2.4.3/
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ..
(这一步,就在这一步之后,会显示是否成功配置ffmpeg,若出现例如以下,则表示配置成功,相反。之前的失败是由于配置都为0(或者false),详细例如以下:
FFMPEG:1
codec:
1
format: 1
util: 1
swscale:1
gentoo-style: 1
)
$make
$sudo make install
$sudo ldconfig
Linux OpenCV读取视频失败,cvCreateFileCapture失败的解决的更多相关文章
- opencv 读取视频内容写入图片帧
现在主要把自己平时用到的opencv功能记录到博客,一方面方便自己有时间来回顾,另一方便提供给大家一个参考. opencv 读取视频内容,把视频帧每一帧写成图片,存入电脑中.这个步骤是许多数据处理的基 ...
- 【计算机视觉】OpenCV读取视频获取时间戳等信息(PS:经测试并不是时间戳,与FFMPEG时间戳不一样)
OpenCV中通过VideoCaptrue类对视频进行读取操作以及调用摄像头,下面是该类的API. 1.VideoCapture类的构造函数: C++: VideoCapture::VideoCapt ...
- Opencv读取视频
CvCapture 是一个结构体,用来保存图像捕获所需要的信息. opencv提供两种方式从外部捕获图像 一种是从摄像头中, 一种是通过解码视频得到图像. 两种方式都必须从第一帧开始一帧一帧的按顺序获 ...
- Opencv读取视频一闪而过情况分析
在参加一个软件比赛需要用opencv对视频的处理,也碰到了一些问题. 最常见的就是视频一闪而过了,在网上查了好久都没解决, 最后重装在配置环境变量时发现的. 现在我来终结一下估计是比较全的了. 先说明 ...
- C/C++ OpenCV读取视频与调用摄像头
原文:http://blog.csdn.net/qq78442761/article/details/54173104 OpenCV通过VideoCapture类,来对视频进行读取,调用摄像头 读取视 ...
- python+opencv读取视频,调用摄像头
引用 import cv2 import numpy 创建摄像头对象 cap = cv2.VideoCapture("videoTest/test1.mp4") #参数为视频文件目 ...
- OpenCV 读取视频 多种方式
OpenCV中常见的视频方式是while循环读取,可是,当遇到嵌套循环呢 1.常见的while循环 ,没有嵌套循环 cv::VideoCapture capture("d:/test/dem ...
- C++ 调用 opencv 读取视频文件列表并处理
//g++ trans_video.cpp -o trans_video `pkg-config opencv --libs --cflags` -L/usr/lib/x86_64-linux-gnu ...
- OpenCV3读取视频或摄像头
我们可以利用OpenCV读取视频文件或者摄像头的数据,将其保存为图像,以用于后期处理.下面的实例代码展示了简单的读取和显示操作: // This is a demo introduces you to ...
随机推荐
- ThinkPHP第五天(提交类型判定常量IS_POST等,错误页面种类,Model实例化方式,模板中使用函数,foreach循环,模板中.语法配置)
1.IS_GET.IS_POST.IS_PUT.IS_DELETE.IS_AJAX常量,方便快捷实现各个判断. 在Action类中还可以使用$this->isPost()等进行判断. 2.错误页 ...
- poj 1430 第二类斯特林数
1 #include <iostream> #include <cmath> #include <algorithm> using namespace std; i ...
- JAVA Metrics 度量工具使用介绍
转载: http://blog.csdn.net/scutshuxue/article/details/8350135 http://koven2049.iteye.com/blog/968143 h ...
- Qt SQL Programming 部分翻译
简介: Qt SQL 是 Qt 的重要模块之一,为了方便,Qt 对 SQL 进行了一系列的封装,并将 SQL API 分为如下三层: (1)驱动层 (2)SQL API ...
- centos下网络代理服务器的配置
一.临时生效,只在当前用户当前打开的shell终端下生效 在当前控制台下执行如下命令 export http_proxy=http://username:password@proxy_ip:port/ ...
- setuptools,easy_install使用
当需要安装第三方python包时,可能会用到easy_install命令.easy_install是由PEAK(Python Enterprise Application Kit)开发的setupto ...
- Robot Framework学习路线
0. 官方网站 http://robotframework.org/ 所有资料都来自这里,从这里找到必要的链接,从而深入其中的细节. 1. Quick Start Guide https://co ...
- Ajax学习(三)——XMLHttpRequest对象的五步使使用方法
Ajax的核心技术是XMLHttpRequest对象,它能够在不向server提交整个页面的情况下.实现局部更新网页.通过这个对象,Ajax能够像桌面应用程序那样仅仅与server进行数据层的 ...
- HDU1163【九余数定理】【水题】
Eddy's digital Roots Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- C++ 表达式语句 海伦的故事
C++ 表达式语句 海伦的故事 摘要: 原创出处: http://www.cnblogs.com/Alandre/ 泥沙砖瓦浆木匠 希望转载,保留摘要,谢谢! 把今天当成最后一天来过.-海伦 请读者在 ...