[学习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;
	if(argc == 1){
		capture = cvCreateCameraCapture(0);
	}else{
		capture = cvCreateFileCapture(argv[1]);
	}

	//assert(capture != NULL);   在加上这句后程序会死掉,可能是打开相机是capture还没来得及传参数

	IplImage *frame;
	while(1){
		frame = cvQueryFrame(capture);
		if(!frame){
			break;
		}

		cvShowImage("hello", frame);

		char c = cvWaitKey(10);
		if(c == 27){
			break;
		}
	}

	cvReleaseCapture(&capture);
	cvDestroyWindow("hello");

	return 0;
}
时间: 2024-10-08 19:20:27

[学习OpenCV攻略][009][从摄像机读入数据]的相关文章

[学习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攻略][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攻略][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攻略][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攻略][004][播放AVI视频]

cvCreateFileCapture(文件路径) 创建一个影音文件录像机,返回值为CvCapture类型,用于读取视频文件 cvQuerFrame(视频) 将下一帧视频文件载入内存,当CvCapture被释放时,每一帧对应的内存会被释放,所以不需要cvReleaseImage(&frame); cvReleaseCapture(视频) 释放CvCapture结果的内存空间,同时也会关闭所有打开的视频文件相关的句柄. #include "highgui.h" int main(

[学习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

01机器学习算法整体知识体系与学习路线攻略

入行机器学习有一年多了,做过大大小小的机器学习项目,参加数据竞赛等实践活动,从最初的懵懵懂懂到现在逐步的深入,也渐渐的有了很多的体会和理解,本篇文章主要来阐述机器学习的知识体系,以让更多人明白机器学习应该怎样学习.需要学习什么?这些问题就是本篇文章的主要讨论的内容,下面开始进行详细介绍. 先对本篇文章的目录做个介绍: 1.机器学习术语 2.常见算法类型 3.评估方法和指标 4.性能优化和超参数调优 1.机器学习术语 接下来正式介绍机器学习术语.机器学习术语作为作为最基本的常识问题,为了更好的学习