用Python字符串的方式看黑人抬棺,我的快乐就这么简单

用Python字符串的方式看黑人抬棺,我的快乐就这么简单[Python常见问题]

单纯的我,总会有很多快乐

首先先看看成品:

很多人学习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("
由视频一共生成了{}张图片!".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])
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 用Python字符串的方式看黑人抬棺,我的快乐就这么简单