图片二值化

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")#二值化图

你可能感兴趣的:(图片二值化)