概述
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<int>& params = vector<int>() //特殊类型文件的写入操作是所需的数据
)
视频的处理
打开视频对象
打开一个视频对象或者打开一个摄像头设备,有两种思路,一种为使用构造函数:
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
);
最后
以上就是迷你小熊猫为你收集整理的opencv学习笔记八:图像,视频与数据文件图像的载入与保存视频的处理的全部内容,希望文章能够帮你解决opencv学习笔记八:图像,视频与数据文件图像的载入与保存视频的处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复