zoukankan      html  css  js  c++  java
  • 【oenCV系列】 写视频

      

      编码环境:

        macOs : 10.15.5

        opencv :  4.4.0

      1. 编码:

     1 #include <stdio.h>
     2 #include <string>
     3 #include <opencv2/core/core.hpp>
     4 #include <opencv2/opencv.hpp>
     5 #include <iostream>
     6 #include <opencv2/videoio.hpp>
     7 
     8 using namespace std;
     9 using namespace cv;
    10 
    11 int main(int argc, char const *argv[])
    12 {
    13     
    14     // 定义视频的宽度和高度
    15     Size s(320,240);
    16     // 指定编解码器 (如果opencv的版本是旧版本,则使用CV_FOURCC('M','J','P','G'))
    17     int fourcc=VideoWriter::fourcc('M','J','P','G');
    18 
    19     string videoFile="/Users/mac/Desktop/my_video_001.avi";
    20     // 定义writer, 并指定FOURCC及 FPS等参数
    21     VideoWriter  writer = VideoWriter(videoFile,fourcc,25,s);
    22     // 检查是否创建成功
    23     if(!writer.isOpened()){
    24         cerr << "can not create video file "+videoFile << endl;
    25         return -1;
    26     }
    27 
    28     //视频帧
    29     Mat frame(s,CV_8UC3);
    30     
    31     for(int i=0;i<100;i++){
    32 
    33         // 将图像设置为黑色
    34         frame=Scalar::all(0);
    35         // 将整数i转为i字符串类型
    36         char text[128];
    37         snprintf(text,sizeof(text),"%d",i);
    38 
    39         // 将数字绘到画面上
    40         putText(frame,text,Point(s.width/3,s.height/3),FONT_HERSHEY_SCRIPT_SIMPLEX,3,Scalar(0,0,255),3,8);
    41         // 将图像写入视频
    42         writer << frame;
    43     }        
    44 
    45     // 退出时程序会自动关闭视频文件
    46     return 0;
    47 }

      

     2. 创建 build目录 、 CMakeLists.txt

      

     build目录是用来保存编译工程中的中间输出文件; CMakeLists.txt是cmake用来进行编译所需的配置项,内容如下:

      

    1 project(writeVideo)
    2 set(SRC_LIST writeVideo.cc)
    3 add_executable(writeVideo ${SRC_LIST})
    4 find_package(OpenCV REQUIRED)
    5 target_link_libraries(writeVideo ${OpenCV_LIBS})

    3.  进入build目录后,执行 cmake .. (注意有2个".",表示cmake读取的文件是在父目录),会在当前目录生成一些中间文件

    4. 在build目录中执行 make 命令,生成可执行文件

    5. 运行可执行文件,即可生成视频文件

     

  • 相关阅读:
    通过C#代码调用Dynamics 365 Web API执行批量操作
    Dynamics 365 CE Update消息PostOperation阶段Image的尝试
    sql注入100种姿势过waf(二):过安全狗
    sql注入100种姿势过waf(一):waf 了解
    双文件上传突破利用
    渗透实例(一):点后缀突破上传文件
    IIS6.0使用冒号上传漏洞利用
    利用3389端口监视管理员登录
    Windows突破远程连接最大数去掉限制登录
    MIME格式解析
  • 原文地址:https://www.cnblogs.com/zhaohuaxishi/p/14235462.html
Copyright © 2011-2022 走看看