加强版十六章视频读写

VideoCapture capture(0)用来打开系统摄像头



#include<opencv2/opencv.hpp>

#include<iostream>

using namespace std;

using namespace cv;

int main(int argv, char** argc) {

VideoCapture capture(0);

if (!capture.isOpened()) {

printf("0");

}

namedWindow("frame", WINDOW_AUTOSIZE);

Mat frame;

while (true) {

bool ret = capture.read(frame);

if (!ret)break;

imshow("ret", frame);

char c = waitKey(50);

if (c == 27) {

break;

}

}

waitKey(0);

destroyAllWindows();

}
读取摄像头



读取视频文件

获取帧数等信息

#include<opencv2/opencv.hpp>

#include<iostream>

using namespace std;

using namespace cv;

int main(int argv, char** argc) {

//VideoCapture capture(0);

VideoCapture capture("C:/newword/image/20.avi");

if (!capture.isOpened()) {

printf("0");

}

namedWindow("frame", WINDOW_AUTOSIZE);

int fps = capture.get(CAP_PROP_FPS);

int width = capture.get(CAP_PROP_FRAME_WIDTH);

int heigh = capture.get(CAP_PROP_FRAME_HEIGHT);

int num_of_frame = capture.get(CAP_PROP_FRAME_COUNT);

printf("frame size(f=%d,w=%d,h=%d,m=%d)", fps, width, heigh, num_of_frame);

Mat frame;

while (true) {

bool ret = capture.read(frame);

if (!ret)break;

imshow("ret", frame);

char c = waitKey(50);

if (c == 27) {

break;

}

}

waitKey(0);

destroyAllWindows();

}



读取视频文件或摄像头,将读取视频的保存

#include<opencv2/opencv.hpp>

#include<iostream>

using namespace std;

using namespace cv;

int main(int argv, char** argc) {

VideoCapture capture(0);

//VideoCapture capture("C:/newword/image/20.avi");

if (!capture.isOpened()) {

printf("0");

}

namedWindow("frame", WINDOW_AUTOSIZE);

int fps = capture.get(CAP_PROP_FPS);

int width = capture.get(CAP_PROP_FRAME_WIDTH);

int heigh = capture.get(CAP_PROP_FRAME_HEIGHT);

int num_of_frame = capture.get(CAP_PROP_FRAME_COUNT);

int type = capture.get(CAP_PROP_FOURCC);

printf("frame size(f=%d,w=%d,h=%d,m=%d)", fps, width, heigh, num_of_frame);

Mat frame;

VideoWriter writer("C:/newword/image/232320.mp4", type, fps, Size(width, heigh), true);

while (true) {

bool ret = capture.read(frame);

if (!ret)break;

imshow("ret", frame);

writer.write(frame);

char c = waitKey(50);

if (c == 27) {

break;

}

}

waitKey(0);

destroyAllWindows();

}

相关推荐
xiaohouzi1122335 小时前
OpenCV的cv2.VideoCapture如何加GStreamer后端
人工智能·opencv·计算机视觉
小关会打代码5 小时前
计算机视觉案例分享之答题卡识别
人工智能·计算机视觉
天天进步20156 小时前
用Python打造专业级老照片修复工具:让时光倒流的数字魔法
人工智能·计算机视觉
荼蘼6 小时前
答题卡识别改分项目
人工智能·opencv·计算机视觉
IT古董7 小时前
【第五章:计算机视觉-项目实战之图像分类实战】1.经典卷积神经网络模型Backbone与图像-(4)经典卷积神经网络ResNet的架构讲解
人工智能·计算机视觉·cnn
张子夜 iiii8 小时前
4步OpenCV-----扫秒身份证号
人工智能·python·opencv·计算机视觉
潮汐退涨月冷风霜9 小时前
数字图像处理(1)OpenCV C++ & Opencv Python显示图像和视频
c++·python·opencv
paid槮14 小时前
机器视觉之图像处理篇
图像处理·opencv·计算机视觉
通街市密人有19 小时前
IDF: Iterative Dynamic Filtering Networks for Generalizable Image Denoising
人工智能·深度学习·计算机视觉
sali-tec19 小时前
C# 基于halcon的视觉工作流-章34-环状测量
开发语言·图像处理·算法·计算机视觉·c#