用OpenCV合成PNG和JPG图片

open-cv

最近产品有了一个天才的想法,做一个影集类似的功能,前面用图片制作影像、合成音频的操作都还挺顺利,但是到了给视频添加特效的时候就遇到了困难。

以前使用Pr或绘声绘影的时候就在想,这些软件背后的代码是什么样的呢?看来这一次我自己也可以亲手体验一番了。

这次主要遇到了两个问题:

  • 在图片间插入过场动画 (这一篇将不会讲到这个)
  • 在视频开头添加一个半透明的几何图案

图片合成

Google了一大票答案,很容易得出答案,OpenCV提供了addWeighted接口来做图片合成的事情。遂从手机上扒下来两张图来试试。

图一 ( 4032 x 1884 )
在这里插入图片描述
图二 ( 1126 x 1122 )
在这里插入图片描述

    # video.py
    import cv2

    view1 = cv2.imread('view1.jpg')
    view2 = cv2.imread('view2.jpg')
    # addWeighted(src1, alpha, src2, beta, gamma, dst=None, dtype=None)
    # alpha/beta 对应两张图片的透明度, 0是完全透明 1是完全不透明
    view = cv2.addWeighted(view1, 0.7, view2, 0.5, 0)
    cv2.imwrite('view.jpg'
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值