• opencv读取并播放avi视屏


      视屏的本质是一些静态的图像的集合,opencv可以不断读取视屏中的图片,显示,就产生了类似电影的效果。

      这样也就可以通过opencv对实时的视屏流进行处理了。

    #include "stdafx.h"
    #include "cv.h"
    #include "highgui.h"
    
    
    
    int main(){
        cvNamedWindow("Example2",CV_WINDOW_AUTOSIZE);//申请可以自动调节大小的窗口Example1
        CvCapture *capture=cvCreateFileCapture("F:/film/kq.avi");//读取avi格式的影片
        IplImage*frame;
        while(1){
            frame = cvQueryFrame(capture);//读取下一个影片帧率
            if(!frame)break;
            cvShowImage("Example2",frame);
            char c=cvWaitKey(33); //每读取一个视频片度就停止33毫秒,并且会收集键盘的输入
            if(c == 27)break;//27就是对应键盘上的ESC建,如果没有按键盘的话C为-1
        }
        cvReleaseCapture(&capture);
        cvDestroyWindow("Example2");
    
        return 0;
    }


    带滚动条的程序
    #include "stdafx.h"
    #include "cv.h"
    #include "highgui.h"
    
    int g_slider_position = 0;
    CvCapture * g_capture =NULL;
    
    void onTrackbarSlide(int pos){  //再拖动滚动条的时候,滚动条的位置会被作为int数字传入
        cvSetCaptureProperty(
            g_capture,
            CV_CAP_PROP_POS_FRAMES,
            pos
            );
    }
    
    int main(){
        cvNamedWindow("Example3",CV_WINDOW_AUTOSIZE);//申请可以自动调节大小的窗口Example1
        g_capture=cvCreateFileCapture("F:/film/kq.avi");//读取avi格式的影片
    
        int frames = (int) cvGetCaptureProperty(
                g_capture,
                CV_CAP_PROP_FRAME_COUNT
        );
    
        if(frames != 0){
            cvCreateTrackbar(  //进度条
                "Position",
                "Example3",
                &g_slider_position,
                frames,
                onTrackbarSlide
                );
        }
    
        IplImage * frame;
        while(1){
            frame = cvQueryFrame(g_capture);//读取下一个影片帧率
            if(!frame)break;
            cvShowImage("Example3",frame);
            char c=cvWaitKey(33); //每读取一个视频片度就停止33毫秒,并且会收集键盘的输入
            if(c == 27)break;//27就是对应键盘上的ESC建,如果没有按键盘的话C为-1
        }
    
        cvReleaseCapture(&g_capture);
        cvDestroyWindow("Example2");
    
        return 0;
    }
    
    
    
     
  • 相关阅读:
    分布式日志收集系统:Facebook Scribe
    Python学习笔记 02 Python基础
    Python正则表达式指南
    在ASP.NET 2.0中操作数据教程系列
    sql server2005 分页特性
    UML学习
    is,as,sizeof,typeof,GetType
    viso,PowerDesigner,Rational Rose比较
    领导艺术-八项管理定律
    一个博士,一个研究生,和一个MBA对一碗牛肉面的思考(转)
  • 原文地址:https://www.cnblogs.com/huhuuu/p/3525210.html
Copyright © 2020-2023  润新知