python转图片为字符图,图片转文字 python

  python转图片为字符图,图片转文字 python

  画图片字符的Python代码:首先计算图片颜色对应的灰度值;然后根据灰度值从代码为[args=parser.parse_args ()]的字符集中获取图片中每个像素对应的字符。

  本教程运行环境:windows7系统,python3.9版本3.9,戴尔G3电脑。这个方法适用于所有品牌的电脑。

  相关免费学习推荐:python视频教程

  原则

  1.计算图片颜色对应的灰度值。计算公式如下

  格雷=0.2126 * r0.7152 * g0.0722 * B2。根据灰度值,从字符集中获取图片中每个像素对应的字符。

  密码

  # !/usr/bin/env python

  # -*-编码:utf-8 -*-

  从PIL进口图片

  导入argparse

  #命令行输入参数处理

  parser=argparse。ArgumentParser()

  Parser.add_argument(file) #输入文件

  Parser.add _ argument (-o ,-output) #输出文件

  Parser.add _ argument (-width ,type=int,default=50) #输出字符绘制宽度

  Parser.add _ argument (-height ,type=int,default=50) #输出字符绘制为高。

  #获取参数

  args=parser.parse_args()

  IMG=args.file

  WIDTH=args.width

  HEIGHT=args.height

  输出=args.output

  #字符绘制使用的字符集

  ascii _ char=list( $ @ B % 8WM # * oahkbdpqwmzo 0 qlcjuyxzcvunxrjft/\ ()1 { }[]?-_ ~我!李;\^`. )

  def get_char(r,g,b,alpha=256):

  将256灰度映射到70个字符

  如果==0:

  返回“”

  length=len(ascii_char)

  #计算灰度的公式

  gray=int(0.2126 * r 0.7152 * g 0.0722 * b)

  单位=(256.0 1)/长度

  index=int(灰色/单位)

  返回ascii_char[index]

  if __name__==__main__:

  im=Image.open(IMG)

  im=im.resize((宽度,高度),图像。最近的)

  txt=

  #获取每个像素对应的字符

  对于在范围(高度):的I

  对于范围(宽度):内的j

  txt=get_char(*im.getpixel((j,I)))

  txt=\n

  打印(文本)

  #字符绘画输出到文件

  如果输出:

  开(输出,“w”)为f:

  f .写(txt)

  else:

  用open(output.txt , w )作为f:

  F.write(txt)z运行结果

  以上是python图片音译代码的详细内容。更多信息请关注盛行IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: