图片二值化

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容