如何用Python编写源码制作福利性质的动态字符画?

2026-06-09 15:151阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计411个文字,预计阅读时间需要2分钟。

如何用Python编写源码制作福利性质的动态字符画?

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看,首选且最重要的,先放源码:from PIL import Image as im, from tkinter import *, import cv2


Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

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

from PIL import Image as im
from 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编写源码制作福利性质的动态字符画?

本文共计411个文字,预计阅读时间需要2分钟。

如何用Python编写源码制作福利性质的动态字符画?

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看,首选且最重要的,先放源码:from PIL import Image as im, from tkinter import *, import cv2


Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

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

from PIL import Image as im
from 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编写源码制作福利性质的动态字符画?