博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
opencv学习笔记八:图像,视频与数据文件
阅读量:3948 次
发布时间:2019-05-24

本文共 1032 字,大约阅读时间需要 3 分钟。

HighGUI模块包含了静止图像的读写以及视频流的捕获与存储相关的功能。

图像的载入与保存

cv::imread()读取图片

关于图片的读取,虽然有很多内在的讲究,但我们完全可以不关心他,我们仅知道这个函数的两个参数是啥,咋用就可以了;

imread(		const string& filename,    //文件名		int           flags = cv::IMREAD_COLOR   //标识符	);
IMREAD_COLOR  总是读取三位通道图像	IMREAD_GRAYSCALE  总是读取单通道图像	IMREAD_ANYCOLOR   通道数由实际通道数(不超过3)	IMREAD_ANYDEPTH   允许加载超过8bit深度

cv::imwrite()保存图像

imwrite(		const string&    filename,    //给定图片存储的文件名		cv::InputArray   image,  //带存储的输入图像		const vector
& params = vector
() //特殊类型文件的写入操作是所需的数据 )

视频的处理

打开视频对象

打开一个视频对象或者打开一个摄像头设备,有两种思路,一种为使用构造函数:

VideoCapture cap1("1.avi");   //打开工程目录下名为1.avi的文件	VideoCapture cap2(0);    //打开设备号为0的摄像头

还有一种可以先创建一个视频流对象,再对该对象进行.open()操作:

VideoCapture cap3,cap4;	cap3.open("1.avi");	cap4.open(0);

读取图片

从视频流中读取图像也有两种方法,

一种是使用VideoCapture::read()函数进行读取:

Mat frame;	cap1.read(frame);

另一种为使用输入流操作符:

cap1 >> frame;

读取和设置视频对象数据

视频文件中有很多可以设置的参数,我们通常使VideoCapture::get()和VideoCapture::set()函数来进行设置:

VideoCapture::get(		int  propid	  );VideoCapture::set(	int  propid,	double  value  );

在这里插入图片描述

在这里插入图片描述

转载地址:http://rdewi.baihongyu.com/

你可能感兴趣的文章
how to disable watchdog
查看>>
android SDIO error导致wifi无法打开或者连接热点异常的问题
查看>>
android USB如何修改Serial Number or SN?
查看>>
android 用svn管理的版本编译出来有问题
查看>>
android 如何用jar包代替java代码编译
查看>>
android 数据连接关闭的情况下如何让彩信发不出去
查看>>
android 编辑彩信,加入几页铃声,预览暂停界面,铃声名字不见了
查看>>
android 在新建短信时,加入名称为","(英文逗号)的联系人时,应用崩溃的修改
查看>>
android 关于LCD背光调节渐变过程引起背光闪烁问题
查看>>
android 保存具有不同前缀的同一号码分别为A和B,用其中一个呼叫,通话记录一直显示另一个联系人名字的问题
查看>>
android 在手机中预置联系人/Service Number
查看>>
android 系统语言为英语时,Contacts联系人名字含有特殊前缀后缀(Dr. Mr. Lt等)时的相关问题处理
查看>>
android 短信下,添加联系人,进入联系人多选界面出现联系人电话号码晃动的问题
查看>>
android 对一个合并后的联系人选择编辑,手机屏幕会缓慢变暗后再进入编辑界面的问题
查看>>
正确学习javascript。困惑的指南
查看>>
SERO幻影社区的背景怎么样?几大主流隐私币种技术分析!
查看>>
SERO目前具备的十大技术特点
查看>>
Neo4j CQL语句学习Day3
查看>>
Neo4j CQL学习Day4
查看>>
Mysql 数据库
查看>>