日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 小把戏之图片转字符串

發布時間:2025/4/16 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 小把戏之图片转字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python 小把戲之圖片轉字符串

#! /usr/bin/python3 # -*- coding: UTF-8 -*-from PIL import Image import argparse import os import time import ctypes#命令行輸入參數處理 # description參數可以用于插入描述腳本用途的信息,可以為空 parser = argparse.ArgumentParser(description="your script description")parser.add_argument('-f', '--file') #輸入的第一個參數 圖片名 parser.add_argument('-o', '--output') #輸入的第二個命令行參數 parser.add_argument('--width', type = int, default = 100) #輸出字符畫寬 默認 100 parser.add_argument('--height', type = int, default = 100) #輸出字符畫高 默認 100# 將變量以標簽-值的字典形式存入args字典 args = parser.parse_args()IMG = args.file WIDTH = args.width HEIGHT = args.height OUTPUT = args.outputascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ") img_num = 0 #記錄處理的圖片數量 # 將256灰度映射到70個字符上 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) #RGB色彩轉化為灰度unit = (256.0 + 1)/lengthreturn ascii_char[int(gray/unit)] #灰度轉化成字符#批量文件操作 def batch_rename(path):global img_num#判斷路徑是否是目錄 是否是文件if (not os.path.isdir(path) and not os.path.isfile(path)):return Falseif os.path.isfile(path):#分割出目錄與文件名file_path = os.path.split(path)#分割出文件名與文件的擴展名lists = file_path[1].split('.')#取出后綴名file_ext = lists[-1]img_ext = ['bmp', 'jpeg', 'gif', 'psd', 'png', 'jpg']if file_ext in img_ext: #確保文件是圖片im = Image.open(path) #打開圖片文件im.show() #顯示圖片im = im.resize((WIDTH,HEIGHT), Image.NEAREST) #更改圖片大小txt = ""img_num += 1for i in range(HEIGHT):for j in range(WIDTH):txt += get_char(*im.getpixel((j,i))) #獲取對應的字符print(get_char(*im.getpixel((j,i))), end = ' ') txt += '\n'print(' ')with open(lists[0] + '.txt','w') as f: #寫入txtf.write(txt)elif os.path.isdir(path):for item in os.listdir(path):batch_rename(os.path.join(path, item)) if __name__ == '__main__': if IMG: #如果傳入 -f 文件名參數 將該文件轉化為字符串img_dir = IMGelse: #如果沒有傳入 -f 文件名參數 默認將當前文件夾下所有圖片都轉化為字符串img_dir = '.'start = time.time()#字符畫輸出到文件batch_rename(img_dir)print('總共處理了 %s 張圖片, 耗時 %4.2f' % (img_num, time.time() - start ))

總結

以上是生活随笔為你收集整理的Python 小把戏之图片转字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。