OpenCV参考手册之摄像头

OpenCV中用于摄像头视频读取的函数说明 OpenCV中用于摄像头视频读取的函数说明。这里主要说明了这样几个函数的使用:1、cvQueryFrame;2、cvCaptureFromCAM;3.cvCreateCameraCapture;4、CvCapture; 阅读详情

1、从摄像机读入数据

a)cvCreateCameraCapture(摄像设备ID):

只有存在多个摄像设备时,这个参数才起作用。默认值为-1,代表“随机选择一个”,自然,它更适合仅有一个摄像设备的情况。

cvCreateCameraCapture()同样返回相同的CvCapture指针,这使得我们后面可以完全类似于从视频流中获取帧的方法。为了便于开发工作,大多程序实时处理的程序同样会有视频文件读入模式,CvCapture结构的通用性使得这非常容易实现。

2、写入AVI视频文件

我们想将输入视频流或者捕获的图像序列记录到输出视频流中,OpenCV提供了一个简洁的方法来实现这个功能。可以创建一个捕获设备以便每次都能从视频流中提取一帧一样,我们同样可以创建一个写入设备以便逐帧将视频流写入视频文件。实现这个功能的函数是cvCreateVideoWriter()

当输出设备被创建之后,我们可以通过调用cvWriteFrame()逐帧将视频流写入文件。写入结束后,我们调用cvReleaseVideoWriter()来释放资源。

a)cvVideoWriter():

CvVideoWriter* cvCreateVideoWriter(const char* filename,int fourcc,double fps,CvSize frame_size,int is_color=1);

filename 输出视频文件名

fourcc 通过四个字符来表示压缩帧的codec,例如:

CV_FOURCC('P','I','M','1')=MPEG-1 codec

CV_FOURCC('M','J','P','G')=motion-jpeg codec

CV_FOURCC('M','P','4','2')=MPEG-4.2 codec

CV_FOURCC('D','I','V','3')=MPEG-4.3 codec

CV_FOURCC('D','I','V','X')=MPEG-4 codec

CV_FOURCC('I','2','6','3')=H263I codec

CV_FOURCC('F','L','V','1')=FLV1 codec

若编码器代号为-1,则运行时会弹出一个编码器选择框

fps被创建视频流的帧率

frame_size 视频流的大小

is_color 如果非零,编码器将希望得到彩色帧并进行编码;否则,是灰度帧(只有在Windows下支持这个标志)

函数cvCreateVideoWriter创建视频写入器结构

b) cvConvertImage

把一幅图像转换为另外一幅,并可以选择同时对其进行垂直翻转

void cvConvertImage(const CvArr* src,CvArr* dst,int flags=0);

src:输入图像

dst:目标图像,必须为单通道或者3通道8位图像。

flags:

操作标志:

CV_CVTIMG_FLIP - 垂直翻转图像

CV_CVTIMG_SWAP_RB - 交换红蓝通道。在OpenCV中,彩色图像的通道顺序是BGR然而在一些系统中,在显示图像之前通道顺序应该被翻转(cvShowImage能够自动转换)。

函数cvConvertImage转换一幅图像到另一幅图像,如果需要的话可以垂直翻转图像。这个函数被cvShowImage使用。

c) cvLogPolar:对数极坐标变换(我也不太懂,不过根据例子可以悟出来一些东西)

void cvLogPolar(const CvArr* src,CvArr* dst,CvPoint2D32f center,double M,int flags = CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);

//src:输入图像;dst:输出图像;center变换中心;输出的图像在这里最精确。M幅度的尺度参数。flags:插值方法和以下选择标志的结合:

CV_WARP_FILL_OUTLIERS -填充输出图像所有像素,如果这些点有和外点对应的,则置零。
CV_WARP_INVERSE_MAP - 表示矩阵由输出图像到输入图像的逆变换,并且因此可以直接用于像素插值。否则,函数从map_matrix中寻找逆变换。


以下为转载的内容:http://hi.baidu.com/yuzaihuan/item/dc72f5e1188642314ddcaf03

(x,y)平面内尺寸的差异被转换为数极坐标平面内沿着Log(r)轴的位移,旋转差异被转换成对数极坐标平面内沿Sita轴的位移

看下面的例子:(当你修改atof('这里面的值')的时候,出现的图像会发生变化)

#include"stdafx.h"
#include"highgui.h"
#include"cv.h"
int _tmain(int argc, _TCHAR* argv[])
{
     IplImage* src;
     double M;
	 printf("1111111111111111111111111111111111111111111111");
        
    if(((src=cvLoadImage("lena.jpg",1))!=0))
    {
		 M=atof("1");
         IplImage* dst=cvCreateImage(cvGetSize(src),8,3);
         IplImage* src2=cvCreateImage(cvGetSize(src),8,3);
         cvLogPolar(src,dst,cvPoint2D32f(src->width /4,src->height /2),M,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
         cvLogPolar(dst,src2,cvPoint2D32f(src->width /4,src->height /2),M,CV_INTER_LINEAR+CV_WARP_INVERSE_MAP);
         cvNamedWindow("log-polar",1);
         cvShowImage("log-polar",dst);
         cvNamedWindow("inverse log-polar",1);
         cvShowImage("inverse log-polar",src2);
         cvWaitKey(0);
     }
    return 0;
}
中心点是(width/4,height/2) M=1


全面掌握OpenCV:参考手册与函数库指南 OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。自2000年由Intel启动以来,OpenCV已经发展成为一个庞大的计算机视觉库,包含了超过2500个优化的算法,几乎覆盖了计算机视觉领域的所有常见任务。OpenCV的.chm文档对开发者而言是一本不可或缺的参考手册。文档内容分为几个核心模块,每个模块都代表了OpenCV中的一个主要功能集。核心模块包括:core。 阅读详情

相关推荐

opencv编的多摄像头显示的源代码

用opencv编的多摄像头显示程序,我同时显示了两个,如果有需要显示更多的,只需要简单的改一下就可以了。opencv的环境配置要正确,然后把DXshow的库文件和头文件路径加进工程既可以运行,在多台机器上实验过,都可以运行,可以放心下载。

OpenCV——启动摄像头

一、两个重要函数 1.cvCreateCameraCapture 初始化从摄像头中获取视频 CvCapture* cvCreateCameraCapture( int index ); index  要使用的摄像头索引。如果只有一个摄像头或者用哪个摄像头也无所谓,那使用参数-1应该便可以。 函数cvCreateCameraCapture给从摄像头的视频流分配和初始C

Z's Palace 2771

opencv打开摄像头读取视频程序

opencv用摄像头读取视频程序;用opencv内部函数采集视频code

OpenCV控制摄像头实现拍照

OpenCV控制摄像头实现  拍照功能 注意注释部分,其中使用的比较生疏的 API 包括 cvPyrDown  , cvCreateCameraCapture 以及 cvCopy 和 cvSaveImage 下面就来一一解释这几个 API 的具体使用:            void cvPyrDown( const CvArr* src, CvArr* dst, i

小龙王2010 9662

量化回测框架三选一:Backtrader、Zipline、PyAlgoTrade,新手到底该跟谁学?

本文对比分析了三大量化回测框架Backtrader、Zipline和PyAlgoTrade,帮助新手选择最适合的入门工具。从安装配置、策略编写到文档查阅,详细解析各框架的特点和适用场景,为量化交易初学者提供实用指南。

weixin_28745309的博客 268

Synopsys Sentaurus TCAD新手教程:从零开始仿真trench MOSFET(附完整代码解析)

本文提供Synopsys Sentaurus TCAD新手教程,详细讲解从零开始仿真trench MOSFET的全过程,包括环境搭建、外延生长、沟槽刻蚀、栅极形成等关键步骤,并附完整代码解析。通过实际案例帮助半导体工程师掌握Sprocess操作技巧,优化工艺参数设置,提升仿真效率。

weixin_30505225的博客 217

opencv(3)-读取摄像头cvCreateCameraCapture

读取摄像头cvCreateCameraCapture

健景的博客 1万+

Unraid小白必看:5分钟搞定OpenWrt软路由安装(附iStoreOS配置技巧)

本文为Unraid新手提供了一份详尽的OpenWrt软路由安装与配置指南。通过虚拟机技术,在Unraid系统上快速部署基于iStoreOS的软路由,详细讲解了旁路由与主路由两种模式的网络配置、性能优化技巧及常见故障排查方法,帮助用户充分利用闲置硬件,打造高性能、可定制的家庭网络中枢。

wine的专栏 485

我的OpenCV学习笔记(11):启动摄像头

在网上看了许多关于OpenCV启动摄像头的资料,但是,都是基于C语言的,代码又臭又长,(其实主要是因为我学的OpenCV就是用C++的,C语言的基本数据结构不太熟悉),所以一直想找一个用C++写的程序,最后让我在OpenCV自带的英文参考手册上找见了,整个代码30行都不到!nice啊!我对代码做了一点修改,发上来吧! #include #include #include using na

thefutureisour的专栏 9万+

离散系统傅里叶变换的常用结论证明

本文介绍了离散系统傅里叶变换的三个重要结论:1)时域卷积对应频域相乘(公式1-3);2)时域相乘对应频域卷积(公式4-6);3)帕塞瓦尔定理(公式7)及其广义形式,证明信号能量在变换域保持不变。文末提供了MATLAB卷积运算演示程序,通过动画展示离散信号卷积过程(翻转、平移、相乘、累加),并以方波信号为例给出运行结果图。该程序直观呈现了卷积运算的步骤与结果。

newtton的博客 1302

TNS-12516及ORA-12516错误解决

在客户端进行sqlplus连接报错如下: ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程序 在/home/oracle/product/10.2.0/db_1/network/log/listener.log中查看到错误如下: TNS-12516: TNS:listener could not find available handler with matchin

KEL 2万+

【OpenCV学习笔记】【函数学习】一(MFC+OpenCV2.4.7读取摄像头之cvCaptureFromCAM()的索引问题

由于在程序的前面定义了全局变量CvCapture* capture;,所以capture默认值为零,这段代码开始执行时,首先进入第一个if语句,参照

无敌三脚猫的专栏 7033

Python CalmAn(Calcium Imaging Analysis)神经生物学工具包安装及环境配置过程

CalmAn是一个用于大规模钙成像数据分析和行为分析的Python工具箱。CaImAn实施了大规模钙成像数据分析管道中所需的一套基本方法。针对多天的运动校正、源提取、尖峰反褶积和分量配准,实现了快速且可扩展的算法。它适用于双光子和单光子荧光显微镜数据,可以在批处理和在线模式下运行;CaImAn还包含一些分析摄像机行为的例程。

Fine的优快云博客 3558

OPENCV的介绍

OpenCV是Intel资助的开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个C/C++函数的跨平台的中、高层 API。它不依赖与其它的外部库,尽管也可以使用某些外部库。OpenCV 对非商业应用和商业应用都是免费(FREE)的。(细节参考发布版本的 license)。 另外OpenCV 也

8127

【原创】汇川H5U PLC控制伺服的方法

6、在线调试-进入伺服调试,可以在本软件上进行调试,可以实现原点回归、正向点动、反向电动、使能(这里使能打开时触摸屏上的使能不能打开,会冲突)、复位、停止(如下图所示)。5、在原点返回设置中一般情况下对原点信号、正限位、负限位、原点返回方向、原点返回方式进行设置,其他设置默认不改(如下图所示)。3、在单位换算设置上只需要修改脉冲数和移动量(根据伺服配套导轨上名牌进行设置),其他设置默认不改(如下图所示)。11、双击后右边出现编辑框 在上半部分定义变量(IN、INOUT、OUT、VAR)(如下图所示)。

Qinmingyue13的博客 6663

别再只当调包侠了!YOLO检测头到损失函数全链路拆解,看完才算真懂

YOLO的精妙不在于某个单一创新,而在于各模块围绕“实时精准检测”这一目标的协同设计。Backbone追求高效特征压缩,Neck保障多尺度信息流通,Head解耦任务冲突,Loss动态引导优化方向。只有理解这套内在逻辑,才能跳出“调包-试错”的低效循环,在面对新场景、新问题时做出有理有据的改进决策。技术深度决定职业天花板。下次再调YOLO时,不妨先问自己:我改的这个参数,到底影响了系统中的哪一环?参考资料。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 186

OpenCV 之 HighGUI 参考手册

http://fsa.ia.ac.cn/opencv-doc-cn/opencv-doc-cn-0.9.7/ref/opencvref_highgui.cn.htm#decl_cvCaptureFromCAM

gxuan的专栏 927

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

OpenCV启动摄像头

在网上看了许多关于OpenCV启动摄像头的资料,但是,都是基于C语言的,代码又臭又长,(其实主要是因为我学的OpenCV就是用C++的,C语言的基本数据结构不太熟悉),所以一直想找一个用C++写的程序,最后让我在OpenCV自带的英文参考手册上找见了,整个代码30行都不到!nice啊!我对代码做了一点修改,发上来吧! [cpp] view plain copy #in

ture_dream的博客 860

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

opencv 启动摄像头 C++

http://blog.youkuaiyun.com/thefutureisour/article/details/7530177   在网上看了许多关于OpenCV启动摄像头的资料,但是,都是基于C语言的,代码又臭又长,(其实主要是因为我学的OpenCV就是用C++的,C语言的基本数据结构不太熟悉),所以一直想找一个用C++写的程序,最后让我在OpenCV自带的英文参考手册上找见了,整个代码30行都不到...

weixin_33989058的博客 258

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

深刻了解OPENCV

  深刻了解OPENCV 作者:刘瑞祯 文章来源:http://blog.youkuaiyun.com/hunnish 点击数: 954 更新时间:2007-1-12 下午 03:36:36  

lindazhou2005的专栏 3074

Opencv参考手册之CvCaputre结构体

1、CvCapture结构体: CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCV中,它最大的作用就是处理视频时(程序是按一帧一帧读取),让程序读下一帧的位置,CvCapture结构中,每获取一帧后,这些信息都将被更新,获取下一帧回复。 2、cvCreateFileCapture(const char* mov)...

不积跬步无以至千里 943

OpenCV参考手册之CvCapture结构体

1、CvCapture结构体: CvCapture是一个结构体,用来保存图像捕获的信息,就像一种数据类型(如int,char等)只是存放的内容不一样,在OpenCv中,它最大的作用就是处理视频时(程序是按一帧一帧读取),让程序读下一帧的位置,CvCapture结构中,每获取一帧后,这些信息都将被更新,获取下一帧回复。 2、cvCreateFileCapture(const char*

qq_21693211的博客 426

OpenCV简介

原文转自:http://blog.youkuaiyun.com/hunnish 做了少许修改。OpenCV是Intel资助的开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 OpenCV 拥有包括 300 多个C/C++函数的跨平台的中、高层 API。它不依赖与其它的外部库,尽管也可以使用某些外部库。 OpenCV 对非商业应用和

破冰的专栏 3290

摄像头相关API

OPENCV中国  http://www.opencv.org.cn/index.php/HighGUI中文参考手册  HighGUI中文参考手册 HighGUI概述 简单图形界面 读取与保存图像 视频读写函数 实用函数与系统函数 [编辑] 中文翻译者 HighGUI视频读写函数 目录  [隐藏] 1 CvCapture 2 cvCre

zxg519的专栏 1149
上一篇: OpenCV参考手册之Canny边缘检测
下一篇: 【OpenCV】图像几何变换:旋转,缩放,斜切
R3
R3
博客等级 码龄15年 186粉丝 70原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值