生活随笔
收集整理的這篇文章主要介紹了
图片视频相互转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
配置opencv3.0+VS2013(其他版本更改include文件即可)
一、圖片轉換為視頻
#include "stdAfx.h"
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;
int main()
{
const int num =
220;
char fileName[
50];
char windowName[
50];cv::Mat srcImage;
char* outfile =
"E:\\View1.avi";
double fps =
15;CvSize size = cvSize(
768,
576);CvVideoWriter* Save_result = NULL;Save_result = cvCreateVideoWriter(outfile, CV_FOURCC(
'X',
'V',
'I',
'D'), fps, size,
1);IplImage* dstImg = cvCreateImage(size, IPL_DEPTH_8U,
3);
for (
int i =
1; i <= num; i++){sprintf_s(fileName,
"F:\\畢業相關的程序\\測試數據集\\View_001\\1 (%d).jpg", i);sprintf_s(windowName,
"video");srcImage = cv::imread(fileName);
if (!srcImage.data){
std::
cout <<
"No data!" <<
std::endl;
return -
1;}dstImg = &IplImage(srcImage);cvWriteFrame(Save_result, dstImg);cv::namedWindow(windowName);cv::imshow(windowName, srcImage);waitKey(
10);
std::
cout <<
"NO: " << i <<
std::endl;}cvReleaseVideoWriter(&Save_result);cvDestroyWindow(windowName);cv::waitKey(
0);
return 0;
}
二、視頻轉換成圖片
CvCapture* capture = cvCaptureFromAVI(
"F:\\畢業論文相關\\機場視頻\\安檢區外北側.ts");
int i =
0;IplImage* img =
0;
char image_name[
50];cvNamedWindow(
"實時視頻");
while (
1){img = cvQueryFrame(capture);
if (img ==
NULL)
break;cvShowImage(
"實時視頻", img);
char key = cvWaitKey(
20);sprintf_s(image_name,
"%s%d%s",
"F:\\畢業論文相關\\機場視頻\\density_img_", ++i,
".jpg");
if (i%
5==
0){cvSaveImage(image_name, img); }}cvReleaseCapture(&capture);cvDestroyWindow(
"實時視頻");
總結
以上是生活随笔為你收集整理的图片视频相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。