本周开始涉及视频处理,利用cv2和subprocess两个库对视频进行拆分,把一整个视频分解成一个个分镜头图片。
(一个瑕疵的案例图)
首先导入三个库,并确定视频路径,在这里要注意的一点是尽量缩短路径长度,以及最好用英文进行命名,避免中文命名会出现的bug 。另外要注意建立分镜头图片导出后所保存的文件夹。
第二步就是要拆分视频,并对分解出的分镜头进行有顺序的图片命名。
然后运行程序,结果如下:
(部分分镜头脚本图片)
第二个就是要利用ffmpeg把分解好的图片进行重新组合形成一个新的视频。
在这里最主要的一点就是要改路径,mac自己改路径有自己特殊的代码,需要输入:cd + 分镜头图片文件夹所在路径,然后再加 ffmpeg -f image2 -i ./pic/image%d.jpg -r 24 output.mp4
然后重组成一个视频。
第三个是PIL利用,利用pillow库的多种功能处理图像。
首先是让图片黑白处理,代码如下:
第二个功能是图片某一部分裁切旋转处理 ,代码如下:
第三个是对已有图片做高斯模糊处理,代码如下:
图像处理与人脸识别的结合
基于之前PIL库与opencv的学习,我们已经可以尝试把图像处理与人脸识别相结合,因此我利用之前学习的人脸识别结合新学习的图像处理写出以下代码
在一开始我只把两个代码简单组合,结果发现报错
我通过网络查找解决方案后,发现需要行代码来进行格式转换:cv2.cvtColor(numpy.asarray(pic),cv2.COLOR_RGB2BGR)
然后结合之前人脸识别的68点dat和函数遍历,将图像灰度处理与68点结合在一起
第二个作业为学习ffmpeg新用途,在这里我学习了直接从视频中裁剪出一段
代码为:ffmpeg -ss 0:0:2 -t 0:0:10 -accurate_seek -i ghz.mp4 -codec copy output.mp4
这里最重要的是更改路径,依旧利用“cd➕空格”进行路径更换,然后写入想要裁剪的视频名称
代码运行完后,结果如下:
第三个作业为学习新的图像处理函数
首先为高斯模糊,代码如下:
运行结果如下:
第二个为取图像一个局部旋转粘贴
结果如下: