老老老規矩,上代碼
先把核心代碼單獨搞出來喵一眼:
vtColor(frame, BlackWhiteVideo, CV_BGR2GRAY);
來頭抬起來看黑板:
#include <iostream>
#include <opencv2\opencv.hpp>
#include <opencv2\highgui\highgui_c.h>
using namespace std;
using namespace cv;
void main()
{
VideoCapture capture;
capture.open("E:\\gongye1.mp4");
if (!capture.isOpened())
{
cout << "can not open ...\n";
return;
}
cvNamedWindow("play vedio");
long totalFrameNumber = capture.get(CAP_PROP_FRAME_COUNT); // 獲取視頻的總幀數
long i = 1;
while (true)
{
Mat frame;
Mat BlackWhiteVideo;
VideoWriter videowriter("E:\\gongye1change.avi", VideoWriter::fourcc('M', 'J', 'P', 'G'), 30, Size(640, 640), true); //改變影像的幀速為30,影像幀的大小是(640,480)
capture >> frame;
if (i > totalFrameNumber) break; i++;
imshow("play vedio", frame); // 視窗展示原視頻
char c = waitKey(33);
if (c == 27) break; //按“Esc”退出
if (c == 32) waitKey(0);//空格實作暫停
// CV_BGR2GRAY列舉值為6 2.3.4.5:偏黃,6.7.10.11:黑白
cvtColor(frame, BlackWhiteVideo, CV_BGR2GRAY); // 這句是關鍵
imshow("BlackWhiteVideo", BlackWhiteVideo); // 視窗展示黑白視頻
}
capture.release();
cvDestroyWindow("play vedio");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226976.html
標籤:其他
