时间:2021-05-22
视频读取
视频读取,主要利用VideoCapture类下的方法打开视频并获取视频中的帧,具体示例如下:
#include<iostream>#include<opencv2/opencv.hpp>using namespace cv;int main(){ VideoCapture capture; Mat frame; frame= capture.open("E:/image/a1.avi"); if(!capture.isOpened()) { printf("can not open ...\n"); return -1; } namedWindow("output", CV_WINDOW_AUTOSIZE); while (capture.read(frame)) { imshow("output", frame); waitKey(10); } capture.release(); return 0;}capture.open()的参数为0时为读取摄像头:
frame= capture.open(0);视频写入
通过摄像头获取视频,然后通过capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT)获取当前帧的宽度和高度,创建一个VideoWriter类对象writer进行视频的写入。
写入前可进行视频的简单处理。
#include<iostream>#include<opencv2/opencv.hpp>using namespace cv;int main(){ VideoCapture capture; capture.open(0); if(!capture.isOpened()) { printf("can not open ...\n"); return -1; } Size size = Size(capture.get(CV_CAP_PROP_FRAME_WIDTH), capture.get(CV_CAP_PROP_FRAME_HEIGHT)); VideoWriter writer; writer.open("E:/image/a2.avi", CV_FOURCC('M', 'J', 'P', 'G'), 10, size, true); Mat frame, gray; namedWindow("output", CV_WINDOW_AUTOSIZE); while (capture.read(frame)) { //转换为黑白图像 cvtColor(frame, gray, COLOR_BGR2GRAY); //二值化处理 threshold(gray, gray, 0, 255, THRESH_BINARY | THRESH_OTSU); cvtColor(gray, gray, COLOR_GRAY2BGR); imshow("output", gray); writer.write(gray); waitKey(10); } waitKey(0); capture.release(); return 0;}以上这篇opencv3/C++实现视频读取、视频写入就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了基于OpenCV实现视频的人脸检测具体代码,供大家参考,具体内容如下前提条件1.摄像头2.已安装Python和OpenCV3代码import
本文实例为大家分享了C++实现数据文件存储与加载的具体代码,供大家参考,具体内容如下首先请先确认已经安装好了opencv3及以上版本。#include#incl
本文采用OpenCV3和Python3来实现静态图片的人脸识别,采用的是Haar文件级联。首先需要将OpenCV3源代码中找到data文件夹下面的haarcas
本文实例讲述了python使用opencv实现马赛克效果。分享给大家供大家参考,具体如下:最近要实现opencv视频打马赛克,在网上找了一下基本是C++的实现,
基于OpenCV的视频转为图像序列方法:基于C++版本#include#include"cv.h"#include"opencv2/opencv.hpp"usi