image - 上传图片生成特效视频

标签 image opencv video ffmpeg video-processing

我被视频处理功能所困扰,具体来说,上传图像,然后根据各种视频模板生成视频。

以下是视频模板:

  • http://video-static.biku8.com/data/video/template/3286012076458048/7437ab55-2e83-4a36-9046-5708fcddf4c1.mp4
  • http://video-static.biku8.com/data/video/template/3274256089907264/ae8fa3f7-6c9c-45ca-810f-48db92cc14cb.mp4
  • http://video-static.biku8.com/data/video/template/3213894231425088/bf107d439b9043a58c1ea0ba26f811db_template.mp4
  • ...

  • 如上面的视频模板所示,我只需要上传一张照片就可以生成一个很棒的视频。

    我的问题
  • 实现这个视频的具体想法是什么?
  • 需要哪些第三方库? (ffmpeg, opencv)

  • PS : 我正在使用 dlib 和 opencv 进行人脸识别。我可以生成人脸图像,但我不知道如何将人脸图像插入这些模板视频的正确位置。

    最佳答案

    我建议您按照以下 3 个步骤操作

  • 通过opencv加载模板视频,可以逐帧访问视频
  • 逐帧修改。
  • 将帧保存到视频流写入器

  • 关于第2步,实际上,您必须通过掩码将上传的图像复制到每一帧(如果掩码上的坐标为非黑色,则源图像中的像素将被复制到目标图像)。掩码可以由点列表或图像定义。您应该为文件中的每一帧预先定义一个掩码。然后为每一帧加载蒙版并复制。

    enter image description here

    如何阅读视频,保存视频OpenCV read-write Video

    如何将图像插入另一个图像 Copy non rectangular ROI

    关于image - 上传图片生成特效视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58624348/

    相关文章:

    css - 无法让背景标题图片适合宽度.. 什么都试过了

    c++ - openCV形状缺陷识别

    c++ - 将 Mat 转换为 <vector<vector>> C++

    matlab - 访问视频文件的音频部分

    javascript - 显示时间范围对象中最后添加的元素(HTML5 视频相关)

    opencv - 如何从 rtsp 播放 .mov

    java - TYPE_INT_ARGB 图像未正确显示

    php - 显示来自 WordPress 帖子的所有图像

    java - 如何保持图像比例并根据实际大小调整图像大小?

    c++ - cv::gpu::HoughLines 无法正常工作