代码主要用于读取图片中非零像素点的像素值
比如,读取下面图片中绿点的像素值
代码如下:
from PIL import Image
import numpy as np
image = Image.open('./image.png') #图片的路径
a, b = image.size #获得图像的长、宽
for i in range(a): #遍历图像的行
for j in range(b): #遍历图像的列
pixel = image.getpixel((i,j)) #读取该点的像素值
if pixel != ((0,0,0)):
print('pixel:',pixel)
这里要注意:
1.如果也要遍历通道数,则把
a, b = image.size
替换成
a, b, c = image.size
2.在for循环中,不能直接用"for i in a",是因为int型不能迭代。
3.另外图片中常用的代码有:
type(image) #图片类型
image.size #图片的大小
image.mode #图片是gray还是RGB
4.PIL中不能使用image.shape。