Python PIL.Image与numpy.array之间的相互转换 您所在的位置:网站首页 img/index/1.png Python PIL.Image与numpy.array之间的相互转换

Python PIL.Image与numpy.array之间的相互转换

2022-11-30 07:38| 来源: 网络整理| 查看: 265

前言

有时我们使用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 实验室设备网 版权所有