我的git代码仓库: [https://code.aliyun.com/whjwnavy] or [https://github.com/WHJWNAVY]

Python学习:Python小玩意-image_to_txt

设计语言 WHJWNAVY 218℃ 0评论

最近在学习Python,闲着无聊开发了一个小软件,用到了pillow、等第三方库。

主要原理就是打开一幅图片,然后对图像二值化,再依次读取图片每个像素的值写入到文本文件中。

如果大于0则写入"*",否则写入" "。下面是效果图:


 

源码:https://github.com/WHJWNAVY/Python-Image_to_excel.git

 

from PIL import Image

def image_to_txt(imgName):

    namestr = "{0}.txt".format(imgName)

    txt = open(namestr, "w+")

    print("Open Image File [{0}]".format(imgName))

    try:

        img = Image.open(imgName)

    except:

        print("Error to Open [{0}]!!!".format(imgName))

    #if "RGB" in img.mode:

    if "RGB" == img.mode:

        print("Size{0},Format({1}),Color({2})".format(img.size, img.format, img.mode))

    else:

        print("Not a RGB image file!!!")

        img = img.convert("RGB")

        print("Convert to RGB Success!!!")

    width = img.size[0]

    height = img.size[1]

    zoom = 0

    if width >= height:

        maxsize = width

    else:

        maxsize = height

    if maxsize >= 400:

        zoom = maxsize / 400

        width = int(width / zoom)

        height = int(height / zoom)

        img = img.resize((width, height))

        print("Image Size too large, Resize to", img.size)

    img = img.convert("1")

    index = 0

    print("Start Process!")

    for h in range(height):

        index += 1

        print("#", end="")

        txt.write("/*")

        if index > 80:

            index = 0

            print("")

        for w in range(width):

            pixel = img.getpixel((w, h))

            if pixel != 0:

                txt.write(" ")

            else:

                txt.write("#")

        txt.write("*/")

        txt.write("\n")

    print("\nProcess Done!")

    print("Save File As [{0}]".format(namestr))

    txt.close()

    print("Save Done!")

name = input("Please Input Image File Name:")

print("Start......")

try:

    image_to_txt(name)

except:

    print("Error!!!!!!")

print("Over......")

转载请注明:胡椒小兄弟 » Python学习:Python小玩意-image_to_txt

喜欢 (2)or分享 (0)
发表我的评论
取消评论
表情 签到