Python PIL.Image与numpy.array之间的相互转换 | 您所在的位置:网站首页 › img/index/1.png › Python PIL.Image与numpy.array之间的相互转换 |
前言 有时我们使用PIL库读入图像数据后需要查看图像数据的维度,比如shape,或者有时我们需要对图像数据进行numpy类型的处理,所以涉及到相互转化,这里简单记录一下。 方法当使用PIL.Image.open()打开图片后,如果要使用img.shape函数,需要先将image形式转换成array数组。 import numpy as np from PIL import Image im = Image.open("test.png") #读入图片数据 img = numpy.array(im) #转换为numpy此时例如要处理加入椒盐噪声,这时使用numpy数组进行处理: for k in range(n): i = int(numpy.random.random() * img.shape[1]); j = int(numpy.random.random() * img.shape[0]); if img.ndim == 2: img[j,i] = 255 elif img.ndim == 3: img[j,i,0]= 255 img[j,i,1]= 255 img[j,i,2]= 255最后将array转化为image形式 img = Image.fromarray(img.astype('uint8')).convert('RGB')Reference: |
CopyRight 2018-2019 实验室设备网 版权所有 |