zoukankan      html  css  js  c++  java
  • OpenCV2:幼儿园篇 第八章 视频操作

    一.简介

    OpenCV提供了专门操作视频的接口类VideoCapture

    二.构造VideoCapture类

    VideoCapture::VideoCapture()

    VideoCapture::VideoCapture(const string& filename)

    VideoCapture::VideoCapture(int device)

    • filename

    输入视频文件的路径名称

    • device

    打开视频操作索引号设置:

    摄像头设置为0

    三.VideoCapture类成员函数

    VideoCapture::grab  抓住下一帧的视频文件或捕获设备

    VideoCapture::retrieve  解码并返回视频帧


    VideoCapture& VideoCapture::operator >> (Mat& image)

    1.打开关闭视频

    VideoCapture::open         打开视频文件或视频获取装置

    VideoCapture::isOpened  判断视频文件读取是否正确,返回true则正确

    VideoCapture::release  关闭视频流文件

    2.视频信息

    videoCapture::get   返回指定视频类的相关参数信息

    VideoCapture::set  设置类信息的一个属性

    3.读取序列帧

    bool VideoCapture::read(Mat& image)  //解码返回下一个视频帧

    4.提取序列帧

    VideoWriter

    #include <iostream>
    #include "opencv2/opencv.hpp"
    
    using namespace std;
    using namespace cv;
    
    int main(int argc, char* argv[])
    {
    
    	// 打开第一个摄像头
    	// VideoCapture cap(0);
    
    	// 打开视频文件
    	VideoCapture cap("k1.avi");
    
    	// 检查是否成功打开
    	if (!cap.isOpened())
    	{
    		cerr << "Can not open a camera or file" << endl;
    		return -1;
    	}
    
    	Mat edges;
    	// 创建窗口
    	namedWindow("edges", 1);
    
    	for(;;)
    	{
    		Mat frame;
    
    		// 从cap中读一帧,存到frame
    		cap >> frame;
    
    		// 如果未读到图像
    		if (frame.empty())
    			break;
    
    		// 将读到的图像转为灰度图
    		cvtColor(frame, edges, CV_BGR2GRAY);
    
    		// 进行边缘提取操作
    		Canny(edges, edges, 0, 30, 3);
    
    		// 显示结果
    		imshow("edges", frame);
    
    		// 等待30秒,如果按键则退出循环
    		if (waitKey(30) >= 0)
    			break;
    	}
    
    	// 退出时会自动释放cap中占用资源
    	return 0;
    }
    

    四.视频图像比较

    图像相似度主要是对两幅图像内容的相似程度进行打分,根据分数的高低来判断图像内容的相似程度.

    图像比较有两种方法:峰值信噪比(PSNR,Peak Signal to Noise Ratio)和结构相似性(SSIM,tructural similarity index)

  • 相关阅读:
    jQuery插件之jquery editable plugin点击编辑文字插件
    firefox与ie的javascript兼容性编程汇编【转载】
    css前端制作 经验总结
    非常棒的jqChart图表插件
    WPF Image Source设置文件路径后 在编辑状态下显示图片,运行时不显示
    WPF RadioButton 绑定枚举
    WPF MVVM实现数据增删改查逻辑全流程详细解析demo
    bigNumber.js的简单使用
    PHP程序的“Missing argument 3”的错误提示解决方法
    PHP判断0和空的方法
  • 原文地址:https://www.cnblogs.com/k5bg/p/11063655.html
Copyright © 2011-2022 走看看