在上一篇文章中,生成了三张图片,现在针对其中一张进行图片的读取和数据的转换。
其中.convert('L')很重要,读出来的像素值是一个数组,包含RGB的分量值,如果不进行转换的话,直接与220去比较,会报错。
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
image = Image.open('D:/python/generate/mixRowColumnColor.png').convert('L')
plt.figure("single")
plt.imshow(image)
plt.show()
img=np.array(image)
print(img)
image.show()
print(image.size[0],image.size[1])
for x in range(image.size[0]):
for y in range(image.size[1]):
#print(image.getpixel((x,y)))
if image.getpixel((x,y)) < 220:
image.putpixel((x,y),0)
else:
image.putpixel((x,y),255)
image.show()
img1=np.array(image)
print(img1)
image.save('D:/python/test.png')
ModuleNotFoundError: No module named 'matplotlib'
pip install matplotlib
因为多个版本的python产生冲突。
python3 -m pip install matplotlib