zoukankan      html  css  js  c++  java
  • opencv做的简单播放器


      1 #include <opencv2/highgui/highgui.hpp>
      2 #include <opencv2/imgproc/imgproc.hpp>
      3 #include <string>
      4 #include <iostream>
      5 #include <fstream>
      6 
      7 using namespace std;
      8 
      9 int g_slider_position = 0;
     10 int g_run = 1, g_dontset = 0;
     11 cv::VideoCapture g_cap;
     12 void onTrackbarSlide(int pos, void*) {
     13 	g_cap.set(cv::CAP_PROP_POS_FRAMES, pos);
     14 
     15 	if (!g_dontset)
     16 		g_run = 1;
     17 	g_dontset = 0;
     18 }
     19 int main(int argc, char** argv) {
     20 	std::string s = "Video/2020-06/e0927594e320877035894dc0a435f1b6.mp4";
     21 
     22 	g_cap.open(s);//视频读取结构,通过传入字符串
     23 
     24 	int frames = (int)g_cap.get(cv::CAP_PROP_FRAME_COUNT);
     25 	int tmpw = (int)g_cap.get(cv::CAP_PROP_FRAME_WIDTH);
     26 	int tmph = (int)g_cap.get(cv::CAP_PROP_FRAME_HEIGHT);
     27 
     28 	cout << "Video has" << frames << "frames of dimensions(" << tmpw << "," << tmph << ")." << endl;
     29 
     30 	cv::createTrackbar("Position", "Example2_4", &g_slider_position, frames, onTrackbarSlide);
     31 
     32 	cv::Mat frame;
     33 	for (;;) {
     34 		if (g_run != 0) {
     35 			g_cap >> frame; if (frame.empty())break;
     36 			int current_pos = (int)g_cap.get(cv::CAP_PROP_POS_FRAMES);
     37 			g_dontset = 1;
     38 
     39 			cv::setTrackbarPos("Position", "Example2_4", current_pos);
     40 			cv::imshow("Example2_4", frame);
     41 
     42 			g_run -= 1;
     43 		}
     44 
     45 		char c = (char)cv::waitKey(10);
     46 		if (c == 's') {
     47 			g_run = 1;  cout << "Singal step, run = " << g_run << endl;
     48 		}
     49 		if (c == 'r') {
     50 			g_run = -1; cout << "Run mode, run = " << g_run << endl;
     51 		}
     52 		if (c == 27)
     53 			break;
     54 
     55 	}
     56 	cv::destroyWindow("Example2_4");
     57 	return 0;
     58 }
    追求吾之所爱
  • 相关阅读:
    ansible的管理与剧本
    条件随机场入门(二) 条件随机场的模型表示
    条件随机场入门(一) 概率无向图模型
    隐马尔科夫模型
    高斯混合模型 GMM
    K-Means 算法
    EM 算法
    Sequential Minimal Optimization (SMO) 算法
    LinkedIn文本分析平台:主题挖掘的四大技术步骤
    SVM 核方法
  • 原文地址:https://www.cnblogs.com/rstz/p/14391016.html
Copyright © 2011-2022 走看看