• [转]使用OpenCV进行视频读写


    #include <opencv/cxcore.h>
    #include <opencv/highgui.h>
    #include <opencv/cv.h>
    
    #undef RC_OPENCV_2_1_0
    
    #ifdef _DEBUG
    #ifdef RC_OPENCV_2_1_0
    #pragma comment( lib, "cxcore210d.lib" )
    #pragma comment( lib, "cv210d.lib" )
    #pragma comment( lib, "highgui210d.lib" )		
    #else
    #pragma comment( lib, "opencv_core220d.lib" )
    #pragma comment( lib, "opencv_highgui220d.lib" )
    #pragma comment( lib, "opencv_imgproc220d.lib" )
    #endif
    #else
    #ifdef RC_OPENCV_2_1_0
    #pragma comment( lib, "cxcore210.lib" )
    #pragma comment( lib, "cv210.lib" )
    #pragma comment( lib, "highgui210.lib" )
    #else
    #pragma comment( lib, "opencv_core220.lib" )
    #pragma comment( lib, "opencv_highgui220.lib" )
    #pragma comment( lib, "opencv_imgproc220.lib" )
    #endif
    #endif
    
    void main()
    {
        /** 打开输入视频文件 */
        cv::VideoCapture vc;
        vc.open( ".//test.avi" );
        
        if ( vc.isOpened() )
        {
            /** 打开输出视频文件 */
            cv::VideoWriter vw;
            vw.open( ".//output.avi", // 输出视频文件名
                    (int)vc.get( CV_CAP_PROP_FOURCC ), // 也可设为CV_FOURCC_PROMPT,在运行时选取
                    (double)vc.get( CV_CAP_PROP_FPS ), // 视频帧率
                    cv::Size( (int)vc.get( CV_CAP_PROP_FRAME_WIDTH ), (int)vc.get( CV_CAP_PROP_FRAME_HEIGHT ) ), // 视频大小
                    true ); // 是否输出彩色视频
    
            /** 如果成功打开输出视频文件 */
            if ( vw.isOpened() )
            {
                while ( true )
                {
                    /** 读取当前视频帧 */
                    cv::Mat frame;
                    vc >> frame;
    
                    /** 若视频读取完毕,跳出循环 */
                    if ( frame.empty() )
                    {
                        break;
                    }
    
                    /** 将视频写入文件 */
                    vw << frame;
                }
            }
        }
    
        /** 手动释放视频捕获资源 */
        vc.release();
    }
    
  • 相关阅读:
    类型反射和晚期绑定
    JS读写Cookie(设置、读取、删除)
    数据绑定
    解读代码
    ASP.NET vNext (一)- 基本概念和环境配置
    设计模式总结
    面向接口编程技术架构图
    搞个这样的APP要多久? (转)
    网站服务架构(转)
    jexus
  • 原文地址:https://www.cnblogs.com/lvpengms/p/2455186.html
Copyright © 2020-2023  润新知