[学习OpenCV攻略][004][播放AVI视频]

cvCreateFileCapture(文件路径)

创建一个影音文件录像机,返回值为CvCapture类型,用于读取视频文件

cvQuerFrame(视频)

将下一帧视频文件载入内存,当CvCapture被释放时,每一帧对应的内存会被释放,所以不需要cvReleaseImage(&frame);

cvReleaseCapture(视频)

释放CvCapture结果的内存空间,同时也会关闭所有打开的视频文件相关的句柄。

#include "highgui.h"

int main(int argc, char** argv){
	char c;
	IplImage* frame;
	CvCapture* capture;

	cvNamedWindow("hello", CV_WINDOW_AUTOSIZE);

	capture = cvCreateFileCapture(argv[1]);
	while(1){
		frame = cvQueryFrame(capture);
		if(!frame){
			break;
		}

		cvShowImage("hello", frame);

		c = cvWaitKey(33);
		if(c == 27){   //Esc
			break;
		}
	}

	//cvReleaseImage(&frame);   加上这句后会产生错误:段错误 (核心已转储)
	cvReleaseCapture(&capture);
	cvDestroyWindow("hello");

	return 0;
}
时间: 2025-01-08 09:55:15

[学习OpenCV攻略][004][播放AVI视频]的相关文章

[学习OpenCV攻略][001][Ubuntu安装及配置]

学习环境: 1.操作系统 Ubuntn 2.学习书籍 <学习OpenCV> 3.OpenCV版本 opencv-1.0.0 root登入配置 Ubuntn默认不允许root用户登入,在登录窗口只能看到普通用户和访客用户.我们做开发需要经常用到root权限,所以把root用户设置成自动登录用户. 1.以普通用户登录后,在终端中输入: sudo passwd root,给root用户添加密码. 2.su root,切换到root用户. 3.vim /etc/lightdm/lightdm.conf

[学习OpenCV攻略][005][视频播放控制]

cvSetCaptureProperty(视频,属性,属性值) 设置视频的属性,属性可以是宏CV_CAP_PROP_POS_FRAMES 视频帧的位置 cvGetCaptureProperty(视频,属性) 得到视频的属性值,属性可以是宏CV_CAP_PROP_FRAMES_COUNT视频帧数,CV_CAP_PROP_FRAME_WIDTH视频的宽度,CV_CAP_PROP_FRAME_HEIGHT cvCreateTrackbar(滚动条名称,窗口名称,滑动条位置,总帧数,回调函数) 在窗口中

[学习OpenCV攻略][011][显示图片]

学习资料: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html   包含头文件 core.hpp:包含了基本的定义和库 highgui.hpp:包含了基本的输入输出操作 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> 创建一个矩阵对象来存储和载入图像数据 Mat image; imread函

[学习OpenCV攻略][016][RedHat下安装OpenCV]

安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: OpenCV-2.3.1a.tar.bz2.cmake-3.5.1.tar.gz 下载地址: OpenCV: http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2 CMake: https://cmake.org/files/v3.5/cmake-3.5.1

[学习OpenCV攻略][009][从摄像机读入数据]

cvCreateCameraCapture(设备ID) 创建一个摄像机视频,返回值是CvCapture*类型.设备ID表示设备的编号,如果有多个摄像机设备,-1表示随机选择一个设备. #include "cv.h" #include "highgui.h" int main(int argc, char **argv){ cvNamedWindow("hello", CV_WINDOW_AUTOSIZE); CvCapture *capture;

[学习OpenCV攻略][007][缩小图片]

cvPryDown(输入图片,输出图片) 根据输出图片的大小,把输入图片进行压缩 cvPryUp(输入图片,输出图片) 根据输出图片的大小,把输入图片进行放大 #include "cv.h" #include "highgui.h" IplImage *doPyrUp(IplImage *in){ //assert(in->width%2 == 0 && in->height%2 == 0); //IplImage *out = cvCr

[学习OpenCV攻略][006][平滑图片]

cvCreateImage(图片大小,像素位数,通道数) 创建图片,根据输入的图片大小,各个通道像素点的位数,和通道数.像素点宏IPL_DEPTH_8U cvGetSize(图片) 得到图片的大小信息 cvSmooth(输入图片,输出图片,平滑方式,平滑宽,平滑高) 输出经过平滑处理后的图片,平滑方式宏CV_GAUSSIAN #include "cv.h" #include "highgui.h" void smooth_example(IplImage *imag

[学习OpenCV攻略][012][读取、修改、保存图像]

使用 imread 读取图像,图像路径为 imageName ,图像按BGR格式读取. image = imread( imageName, CV_LOAD_IMAGE_COLOR); 将RGB图像转化为灰度格式. cvtColor( image, gray_image, CV_BGR2GRAY ); 使用函数 imwrite 将得到的灰度图像 gray_image 保存到硬盘.程序结束时,该灰度图像将会被释放. imwrite( "../../images/Gray_Image.jpg&quo

OpenCV 入门示例之二:播放 AVI 视频

前言 本文展示一个播放 AVI 视频的程序.( 呵呵是 AVI 视频不是 AV 视频噢! ) 代码示例 OpenCV 入门示例之二:播放 AVI 视频,布布扣,bubuko.com