opencv讀取視訊檔案,並將視訊檔案儲存為圖片
阿新 • • 發佈:2019-02-14
#include <iostream> #include <windows.h> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> #include <opencv/cv.h> using namespace cv; using namespace std; int main(int argc, char **argv) { Mat srcImg, grayImg; //視訊檔案路徑 string filename = "D:\\test.avi"; VideoCapture cap0; cap0.open(filename); cap0 >> srcImg; //用於調整儲存影象的尺寸 int Imgw = 320; int Imgh = 240; int countNums = 0; //儲存圖片的路徑 char imagename[20]; while (cap0.isOpened()) { countNums++; cap0 >> srcImg; if (srcImg.empty()) break; //可能需要對儲存影象進行的處理 //resize(srcImg, srcImg, cv::Size(Imgw, Imgh)); //cvtColor(srcImg, grayImg, CV_BGR2GRAY); imshow("srcImg", srcImg); waitKey(1); //當前為儲存偶數幀,儲存條件可以修改 if (countNums % 2 == 0) { //路徑可以使絕對路徑,也可以是相對路徑 sprintf(imagename, "%d.jpg", countNums); imwrite(imagename, srcImg); } } return 0; }