简单利用opencv制作小视频-以b站某视频为例

(咳咳)代码之前

清晨,美妙的冷空气一口口的,昨天下了场大雨,往日可以吃西瓜的温度瞬间就降下来了。晚上睡觉那怎一个凉凉了得。。

在这里插入图片描述

早上起床是不可能的起床的,只能靠窝在被子里看点视频勉强维持下温度

出来吧,我的b站!

在这里插入图片描述
b站好有趣哦,里面的人个个都是人才,说话又好听,视频又有趣,我超喜欢这里

在这里插入图片描述
看着看着一条弹幕全是‘哈哈哈哈哈’‘哈哈哈哈’‘哈哈哈’的视频进入了我的世界

在这里插入图片描述
视频链接直达:欧美版水浒人物

这样的视频怎么用代码做出来呢?

有没有方便快捷,仅需图片就能制作出来的呢?

有的!有的!他就在这里!

(噗)代码:

这种将图片一张张显示的幻灯片模式视频,不到50行代码就能实现。

扫描二维码关注公众号,回复: 10475430 查看本文章

1、所需库

opencv-python

2、实现原理
将每张图片从右到左一张张移动过去。。。

3、代码

以下代码仅需改变将代码中的各种参数设置为你自己所需要的就可以运行。

当然还需要有图片啊喂

其他的就没什么需要讲解的了,直接上代码。

# coding=utf-8
import cv2 as cv
import os

folderPath = 'C:/Users/11037/Desktop/test/' #处理图片的路径
bgImgPath = 'C:/Users/11037/Desktop/bgtupian.jpg' #背景图片路径
savePath = 'C:/Users/11037/Desktop/endvideo.mp4'  #视频保存路径
videosize = (400,650) #视频宽度和高度
fps = 30  #视频帧率
speed = 2  #视频移动速度

def main():
	fourcc = cv.VideoWriter_fourcc(*'mp4v')
	piclist = os.listdir(folderPath)
	bgImg = cv.imread(bgImgPath)
	rebgImg = cv.resize(bgImg,videosize)  #将背景图片改为视频大小
	videowriter = cv.VideoWriter(savePath, fourcc, 30, videosize)

	picnum = len(piclist)  #获取图片数量

	print('视频制作开始~')
	for i in range(picnum):
		tmpbg = rebgImg.copy()
		nowpicpath = folderPath + str(piclist[i])
		if i!=picnum-1:
			nextpicpath = folderPath + str(piclist[i+1])
		nowImg = cv.imread(nowpicpath)
		height,weight,c = nowImg.shape
		nowImg = cv.resize(nowImg,(videosize[0],videosize[0]*height//weight))  #将图片改为适应视频的大小,使图片宽度和视频宽度一致
		nextImg = cv.imread(nextpicpath)
		height, weight, c = nextImg.shape
		nextImg = cv.resize(nextImg,(videosize[0],videosize[0]*height//weight))  #同上

		midline = videosize[1]//2

		nowh, noww, c1 = nowImg.shape
		nexth,nextw,c2 = nextImg.shape
		t = 0
		while(t<=videosize[0]):
			nowbg = tmpbg.copy()
			nowbg[midline - nowh // 2:midline - nowh // 2 + nowh, 0:videosize[0]-t] = nowImg[:,t:]  #将现在的照片左移
			nowbg[midline - nexth//2:midline - nexth // 2 + nexth,videosize[0]-t:] = nextImg[:,:t] #将下一张照片左移
			t += speed
			videowriter.write(nowbg)
	print('视频制作成功啦~')
if __name__ == '__main__':
	main()

我用的图片们:
1、背景图片:

在这里插入图片描述
2、移动图片们
在这里插入图片描述
制作完之后效果预览
在这里插入图片描述
ok啦~ 谢谢观看~

发布了21 篇原创文章 · 获赞 41 · 访问量 3098

猜你喜欢

转载自blog.csdn.net/the_sangzi_home/article/details/105158132
今日推荐