python pillow Image画像を文字画像に変換
pythonで画像を文字画像に変換し、多くの先輩がやったことを、先輩たちの足どりを踏んで、Pythonで何かをやってみたり、pythonへの理解を強化したりします
画像をビット文字列に変換するにはpillowのImageモジュールを導入する必要があります
Open()関数を使用してピクチャファイルを読み込む
mode=RGBA:modeは画像の画素と深さを表し、通常は真彩「RGB」と階調「L」がある
size=153 x 153:sizeは画像のwidthとheightを表す二元tupleである
Image.show():画像表示
Image.resize((WIDTH,HEIGHT),Image.NEAREST):新しいピクチャピクセルサイズ
Image.rotate(45):時計回りに回転
cmyk = im.convert("CMYK")
gray = im.convert(「L」):色変換
image.thumbnail(size,Image.ANTIALIAS):圧縮画像
Image.getpixel():指定された位置のピクセル値を返します.
多くの人が作った画像を文字図に変換した例です
Argparseの役割はpyファイルに選択可能なパラメータをカプセル化することです
parser = argparse.ArgumentParser():コマンドライン解析器を作成する
parser.add_Argument():Argparseにコマンドパラメータを追加し、オプションのコマンドラインオプションを指定します.
画像をビット文字列に変換するにはpillowのImageモジュールを導入する必要があります
Open()関数を使用してピクチャファイルを読み込む
>>>im = Image.open(r"C:\Users\Administrator\1pthw\r11.png")
>>>print(im)
mode=RGBA:modeは画像の画素と深さを表し、通常は真彩「RGB」と階調「L」がある
size=153 x 153:sizeは画像のwidthとheightを表す二元tupleである
Image.show():画像表示
Image.resize((WIDTH,HEIGHT),Image.NEAREST):新しいピクチャピクセルサイズ
Image.rotate(45):時計回りに回転
cmyk = im.convert("CMYK")
gray = im.convert(「L」):色変換
image.thumbnail(size,Image.ANTIALIAS):圧縮画像
Image.getpixel():指定された位置のピクセル値を返します.
多くの人が作った画像を文字図に変換した例です
from PIL import Image
# argparse
import argparse
#
parser = argparse.ArgumentParser()
#
parser.add_argument('file')
#
parser.add_argument('-o', '--output')
#
parser.add_argument('--width', type = int, default =80)
#
parser.add_argument('--height', type = int, default = 80)
#
args = parser.parse_args()
#
IMG = args.file
WIDTH = args.width
HEIGHT = args.height
OUTPUT = args.output
#
ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
# ,a,g,b ,alpha
def get_char(r, g, b, alpha = 256):
if alpha == 0:
return ' '
length = len(ascii_char)
#
gray = int(0.2126 * r + 0.7152 * g + 0.0722 * b)
unit = (256.0 + 1) / length
return ascii_char[int(gary/unit)]
if __name__ == '__main__':
#
im = Image.open(IMG)
#
im = im.resize((WIDTH, HEIGHT), Image.NEAREST)
txt = ""
for i in range(HEIGHT):
for j in range(WIDTH):
txt += get_char(*im.getpixel(j,i))
txt += '
'
print(txt)
#
if OUTPUT:
with open(OUTPUT, 'w') as f:
f.write(txt)
else:
with open("output.txt", 'w') as f:
f.write(txt)
Argparseの役割はpyファイルに選択可能なパラメータをカプセル化することです
parser = argparse.ArgumentParser():コマンドライン解析器を作成する
parser.add_Argument():Argparseにコマンドパラメータを追加し、オプションのコマンドラインオプションを指定します.