import matplotlib.pyplotas plt
from PILimport Image# 图片二值化
import numpyas np
#img=np.array(Image.open('./李南希老师/蒙蒙/0.jpg')) #打开图像并转化为数字矩阵
# plt.figure("蒙蒙")
# plt.imshow(img)
# plt.axis('off')
# plt.show()
# img=np.array(Image.open('./李南希老师/蒙蒙/0.jpg').convert('L'))
# rows,cols = img.shape
# for i in range(rows):
# for j in range(cols):
# if (img[i, j] <= 110):
# img[i, j] = 0
# else:
# img[i, j] = 1
# plt.figure("lena")
# plt.imshow(img, cmap='gray')
# plt.axis('off')
# #plt.show()
# plt.savefig("./11.jpg")
# print(img.shape)
# print(img.dtype)
# print(img.size)
# print(type(img))
# img = Image.open('./李南希老师/蒙蒙/2.jpg') # 模式L”为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。
# Img = img.convert('L')
# # Img.save("test1.jpg") #灰度图
# threshold = 100 # 自定义灰度界限,大于这个值为黑色,小于这个值为白色
# table = []
# for i in range(256):
# if i < threshold:
# table.append(0)
# else:
# table.append(1)
# photo = Img.point(table, '1') # 图片二值化
# photo.save("11.jpg") #二值化图
img=Image.open('./李南希老师/蒙蒙/0.jpg').convert('L')# 转灰度
threshold=100
"""传入image对象进行灰度、二值处理"""
pixdata= img.load()
w, h= img.size
# 遍历所有像素,大于阈值的为黑色
for yin range(h):
for xin range(w):
if pixdata[x, y]< threshold:
pixdata[x, y]= 0
else:
pixdata[x, y]= 255
img.save("11.jpg")#二值化图