图片生成字符

Posted gisoracle

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片生成字符相关的知识,希望对你有一定的参考价值。

# -*- coding: utf-8 -*-

from PIL import Image
import numpy as np


def print_photo(photo_file, width=120, k=1.0, reverse=False, outfile=None):
    """打印照片,默认120个字符宽度"""

    im = Image.open(photo_file).convert(L)  # 打开图片文件,转为灰度格式
    height = int(k * width * im.size[1] / im.size[0])  # 打印图像高度,k为矫正系数,用于矫正不同终端环境像素宽高比
    arr = np.array(im.resize((width, height)))  # 转为NumPy数组
    if reverse:  # 反色处理
        arr = 255 - arr

    chs = np.array([ , ., -, +, =, *, #, @])  # 灰度-字符映射表
    arr = chs[(arr / 32).astype(np.uint8)]  # 灰度转为对应字符

    if outfile:
        with open(outfile, w) as fp:
            for row in arr.tolist():
                fp.write(‘‘.join(row))
                fp.write(
)
    else:
        for i in range(arr.shape[0]):  # 逐像素打印
            for j in range(arr.shape[1]):
                print(arr[i, j], end= )
            print()


if __name__ == __main__:
    print_photo(普天同庆.jpg, width=120, k=1.0, outfile=xufive.txt)

来自:https://blog.csdn.net/xufive/article/details/103761569

技术图片

以上是关于图片生成字符的主要内容,如果未能解决你的问题,请参考以下文章

postman 自动生成 curl 代码片段

将数据从片段列表视图项传递到活动字符串变量 onitemclicklistener

Apollo Codegen 没有找到生成代码的操作或片段

CardView 不在披萨片段中显示图片

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段