from PIL import Image
import numpy as np
### Image to Char 图片转字符
if __name__ == '__main__':
image_file = 'son.png'
height = 100 # 规定转化出来的‘字符图片’的高度为100
# PIL.Image包;PIL图像处理基础包,OPENCV图像处理强化包
img = Image.open(image_file)
img_width, img_height = img.size # 图像的宽度和高度(对应一般意义上的长和宽)
print(img_width, img_height)
width = int(2 * height * img_width // img_height) # 字符图片宽度,取整
img = img.resize((width, height), Image.ANTIALIAS) # 自定义字符图片的宽度和高度,Image.ANTIALIAS抗锯齿
# pixels 像素点
# PIL-convert()函数
pixels = np.array(img.convert('L')) # 将彩色图片转化成灰度图
# L为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
# 在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的:
# L = R * 299 / 1000 + G * 587 / 1000 + B * 114 / 1000
print(pixels.shape) # 得到的*矩阵*形状为(height, width)
print(pixels)
chars = "MNHQ$OC?7>
Image to Char 图片转字符 | PIL的简单应用 灰度图
最新推荐文章于 2022-09-20 19:56:05 发布