介绍
这篇文章给大家分享的是有关python怎么实现视频转成代码视频的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
python如何实现视频转成代码视频的具体内容如下
#, - *安康;编码:utf-8 - * - utf - 8编码: import argparse import 操作系统 import cv2 import 子流程 得到cv2 import  VideoWriter, VideoWriter_fourcc,, imread,调整 得到PIL import 形象,,ImageFont, ImageDraw , #,命令行输入参数处理=#,aparser argparse.ArgumentParser () #,aparser.add_argument(& # 39;文件# 39;) #,aparser.add_argument (& # 39; - o # 39;, & # 39;——输出# 39;) #,aparser.add_argument (& # 39; - f # 39;, & # 39; - fps # 39;, type =,浮动,,default =, 24) #帧 #,aparser.add_argument (& # 39; s # 39;, & # 39;——拯救# 39;,type =, bool,,娜戈=& # 39;? & # 39;,,default =,假,,const =,真的) #,是否保留缓存文件,默认不保存 , #,获取参数=#,args parser.parse_args () #,INPUT =args.file #,OUTPUT =args.output ,#,节?args.save #,FPS =args.fps #,像素对应ascii码 , , 时间=ascii_char 列表(“@B % 8美元,WM # * oahkbdpqwmZO0QLCJUYXzcvunxrjft/\ | (1) {} [] ? _ + ~ & lt;在我!李;:oa +祝辞!:+只“) , ,=#,ascii_char 列表(“MNHQ OC67美元+祝辞!:- - - - - -只“)=#,ascii_char 列表(“MNHQ OC67美元)oa +祝辞! +只“) , #,将像素转换为ascii码 def get_char (r, g, b,,α=256): if 才能;alpha ==, 0: ,,,return & # 39; & # 39; length 才能=,len (ascii_char) gray 才能=,int (0.2126, *, r +, 0.7152, *, g +, 0.0722, *, b) unit 才能=,(256.0,+,- 1),/长度 return 才能;ascii_char [int(时间/gray 单位)] , , #,将三种转换为图片 def txt2image (file_name): 我才能=,Image.open (file_name) .convert (& # 39; rgb # 39;) #才能,gif拆分后的图像,需要转换,否则报错,由于gif分割后保存的是索引颜色 raw_width 才能=im.width raw_height 才能=im.height width 才能=,int(时间/raw_width 6) height 才能=,int(时间/raw_height 15) 我才能=,im.resize((宽度,高度),Image.NEAREST) , txt 才能=,““ 时间=colors 才能;[] for 才能小姐:拷贝范围(高度): ,,,for j 拷贝范围(宽度): ,,,,,pixel =, im.getpixel ((j, i)) ,,,,,colors.append((像素[0],像素[1],像素[2])) ,,,,,if (len(像素),==,4): ,,,,,,,txt +=, get_char(像素[0],像素[1],像素[2],像素[3]) ,,,,,其他的: ,,,,,,,txt +=, get_char(像素[0],像素[1],像素[2]) ,,,txt +=, & # 39; \ n # 39; ,,,colors.append ((255,, 255,, 255)) , im_txt 才能=,Image.new (“RGB",, (raw_height raw_width也),(255,,255,,255)) 时间=dr 才能;ImageDraw.Draw (im_txt) #,才能font =, ImageFont.truetype (os.path.join (“fonts",“汉仪楷体简.ttf"), 18) 时间=font 才能;ImageFont.load_default font () 时间=x 才能;y =0 #,才能获取字体的宽高 ,,font_w, font_h =, font.getsize (txt [1]) *=font_h 才能;1.37,#,调整后更佳 #,才能ImageDraw为每个ascii码进行上的色 for 才能小姐:拷贝范围(len (txt)): ,,,if (txt[我],==,& # 39;\ n # 39;): ,,,,,x +=font_h ,,,,,y =-font_w ,,,,,#,自我,,xy,,文本,fill =,,, font =,,, anchor =,, ,,,,,# * args,, * * kwargs ,,,dr.text ((y), x), txt(我),填充颜色=[我]) ,,,# dr.text ((y), x), txt(我),字体=字体,填充颜色=[我]) ,,,y +=font_w , name 才能=file_name #才能打印(name +, & # 39;,改变# 39;) im_txt.save才能(名字) , , #,将视频拆分成图片 def video2txt_jpg (file_name): 时间=vc 才能;cv2.VideoCapture (file_name) c 才能=1 if 才能vc.isOpened (): ,,,,,frame =, vc.read () ,,,if not os.path.exists(& # 39;缓存# 39;): ,,,,,os.mkdir(& # 39;缓存# 39;) ,,,os.chdir(& # 39;缓存# 39;) 其他的才能: null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullpython怎么实现视频转成代码视频