用Python字串的方式看黑人抬棺,我的快樂就這麼簡單
阿新 • • 發佈:2020-10-05
單純的我,總會有很多快樂
首先先看看成品:
很多人學習python,不知道從何學起。
很多人學習python,掌握了基本語法過後,不知道在哪裡尋找案例上手。
很多已經做案例的人,卻不知道如何去學習更加高深的知識。
那麼針對這三類人,我給大家提供一個好的學習平臺,免費領取視訊教程,電子書籍,以及課程的原始碼!
QQ群:961562169
不多說啥廢話了,直接給程式碼吧:
import cv2
import subprocess
from moviepy.editor import *
from PIL import Image,ImageFont,ImageDraw
import os
from cv2 import VideoWriter, VideoWriter_fourcc, imread, resize
def get_char(r,g,b,alpha = 256):
ascii_char = list("#RMNHQODBWGPZ*@$C&98?32I1>!:-;. ")
if alpha == 0:
return ''
length = len(ascii_char)
gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
unit = (256.0+1)/len(ascii_char)
return ascii_char[int(gray/unit)]
def video_to_pic(vp,video_path):
number = 0
if vp.isOpened():
video = VideoFileClip(video_path)
audio = video.audio
audio.write_audiofile(video_path.split(".")[0]+".mp3")
r,frame = vp.read()
if not os.path.exists('cache_pic'):
os.mkdir('cache_pic')
os.chdir('cache_pic')
else:
r = False
while r:
number += 1
cv2.imwrite(str(number)+'.jpg',frame)
r,frame = vp.read()
print('\n由視訊一共生成了{}張圖片!'.format(number))
os.chdir("..")
return number, video_path.split(".")[0]+".mp3"
def img_to_char(image_path,raw_width,raw_height,task):
width = int(raw_width/ 6)
height = int(raw_height / 15)
im = Image.open(image_path).convert('RGB')#必須以RGB模式開啟
im = im.resize((width,height),Image.NEAREST)
txt = ''
color = []
for i in range(height):
for j in range(width):
pixel = im.getpixel((j, i))
color.append((pixel[0],pixel[1],pixel[2]))