雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

Opencv 視頻轉(zhuǎn)為圖像序列的實現(xiàn)

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊:

基于OpenCV的視頻轉(zhuǎn)為圖像序列方法:

基于C++版本

#include <iostream>

#include "cv.h"
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

void main()
{
  VideoCapture cap("C:\\Users\\Leo\\Desktop\\Megamind.avi");
  if ( !cap.isOpened() )
  {
    return ;
  }

  int imgIndex(0);
  for ( ; ; )
  {
    Mat frame;
    cap >> frame;
    if ( frame.empty() )
    {
      break;
    }

    char* imageSaveName = new char[64];
    sprintf( imageSaveName, "C:\\Users\\Leo\\Desktop\\new\\%05d.jpg", imgIndex );
    imwrite( imageSaveName, frame );
    delete[] imageSaveName;
    imgIndex++;
  }
  cout << "total frames: " << imgIndex << endl;
}

基于C版本

#include <iostream>

#include "cv.h"
#include "opencv2/opencv.hpp"

using namespace std;
using namespace cv;

void main()
{
  // video read
  CvCapture *capture = cvCreateFileCapture("C:\\Users\\Leo\\Desktop\\Megamind.avi");
  IplImage *frame;

  int imgIndex(0);
  while(1)
  {
    frame = cvQueryFrame(capture);
    if ( !frame )
    {
      break;
    }

    char* imageSaveName = new char[64];
    sprintf( imageSaveName, "C:\\Users\\Leo\\Desktop\\new\\%05d.jpg", imgIndex );
    cvSaveImage( imageSaveName, frame );
    delete[] imageSaveName;
    imgIndex++;
  }
  cout << "total frames: " << imgIndex << endl;
  cvDestroyWindow( "VideoImage" );
  cvReleaseCapture( &capture );
  cvReleaseImage( &frame );
}

測試數(shù)據(jù)為OpenCV自帶的視頻:Megamind.avi,可以在opencv\sources\samples\cpp\tutorial_code\HighGUI\video-input-psnr-ssim\video路徑下查找,共270幀圖像,運行結(jié)果部分截圖如下:

以上這篇Opencv 視頻轉(zhuǎn)為圖像序列的實現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持我們。

上一篇:C++實現(xiàn)通訊錄管理系統(tǒng)

欄    目:C語言

下一篇:opencv3/C++ FLANN特征匹配方式

本文標(biāo)題:Opencv 視頻轉(zhuǎn)為圖像序列的實現(xiàn)

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/76.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有