加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 教程 > 正文

借助OpenCV进行视频读写

发布时间:2021-11-19 18:10:12 所属栏目:教程 来源:互联网
导读:OpenCV视频读写的代码,用的是其C++形式的API。输入文件为完全无压缩的avi格式视频文件。 #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, cx
OpenCV视频读写的代码,用的是其C++形式的API。输入文件为完全无压缩的avi格式视频文件。
 
#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();
}

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读