Python制作动态字符画的源码

python字符画是一个简单有趣的图画,它一般由程序制作而成,接下来通过本文给大家分享Python制作动态字符画的源码,需要的朋友可以参考下

Python制作动态字符画的源码,久久派带你了解更多相关信息。

字符画,一种由字母、标点、汉字或其他字符组成的图画。简单的字符画是利用字符的形状代替图画的线条来构成简单的人物、事物等形象,它一般由人工制作而成;复杂的字符画通常利用占用不同数量像素的字符代替图画上不同明暗的点,它一般由程序制作而成。字符画是互联网时代的产物,通常应用于即时聊天中。

首先,也是最重要的,先放源码

from PIL import Image as imfrom tkinter import *import cv2 # 随便打codeLib = \'\'\'*.1\'\'\'count = len(codeLib)  def transform(image_file):    codePic = \'\'    for h in range(0, image_file.size[1]):        for w in range(0, image_file.size[0]):            g, r, b = image_file.getpixel((w, h))            gray = int(r * 0.299 + g * 0.587 + b * 0.114)            codePic = codePic + codeLib[int(((count - 1) * gray) / 256)]        codePic = codePic + \'\\r\\n\'    return codePic  def image2char(image_file):    image_file = image_file.resize((int(image_file.size[0] * 0.16), int(image_file.size[1] * 0.06)))  # 调整图片大小    return transform(image_file), image_file.size[0], image_file.size[1]  def frame2image(cap, i):    cap.set(cv2.CAP_PROP_POS_FRAMES, i)    _, b = cap.read()    image = im.fromarray(cv2.cvtColor(b, cv2.COLOR_BGR2RGB))    return image  def gui(path):    cap = cv2.VideoCapture(path)    root = Tk()    t = frame2image(cap, 0)    _, w, h = image2char(t)    text = Text(root, width=w, height=h)    text.pack()    framenum = int(cap.get(7))    for i in range(framenum):        image = frame2image(cap, i)        content, _, _ = image2char(image)        text.insert(INSERT, content)        root.update()        text.delete(0.0, END)  if __name__ == \'__main__\':    gui(r\'C:\\Users\\Administrator\\Desktop\\油性极大.mp4\')

然后,选择一个短视频

Python制作动态字符画的源码

最后选择视频的路径,修改代码的文件路径,在运行代码

Python制作动态字符画的源码

到此这篇关于Python制作动态字符画的源码的文章就介绍到这了,更多相关Python动态字符画内容请搜索趣讯吧以前的文章或继续浏览下面的相关文章希望大家以后多多支持趣讯吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/8996.html

(0)
上一篇 2021-08-02 21:31:28
下一篇 2021-08-02 21:31:59

相关推荐

发表回复

登录后才能评论