python - Numpy 数组转 PIL 图片格式

标签 python image numpy python-imaging-library

我正在尝试将图像从 numpy 数组格式转换为 PIL 格式。这是我的代码:

img = numpy.array(image)
row,col,ch= np.array(img).shape
mean = 0
# var = 0.1
# sigma = var**0.5
gauss = np.random.normal(mean,1,(row,col,ch))
gauss = gauss.reshape(row,col,ch)
noisy = img + gauss
im = Image.fromarray(noisy)

此方法的输入是 PIL 图像。此方法应向图像添加高斯噪声,并再次将其作为 PIL 图像返回。

非常感谢任何帮助!

最佳答案

在我的评论中我的意思是你做这样的事情:

import numpy as np
from PIL import Image

img = np.array(image)
mean = 0
# var = 0.1
# sigma = var**0.5
gauss = np.random.normal(mean, 1, img.shape)

# normalize image to range [0,255]
noisy = img + gauss
minv = np.amin(noisy)
maxv = np.amax(noisy)
noisy = (255 * (noisy - minv) / (maxv - minv)).astype(np.uint8)

im = Image.fromarray(noisy)

关于python - Numpy 数组转 PIL 图片格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50822119/

相关文章:

python - 具有不同数据类型的 Numpy 数组表现得很奇怪

python - 是否可以将身份验证 token 存储在单独的文件中?

php - 上传时调整图片大小

c# - 如果图片可以从 10x10 到 500x500,如何在 PictureBox 中显示图像

Java - 图片直到循环结束才显示?

python - 多个二进制列合并为一列

ubuntu - 如何在 Ubuntu 14.04 中让正确的 numpy 为 python 3 工作

python - Neo4j:为什么我不能在 python 中通过 find_one 找到特定节点?

python - 如何将 Period 字符串转换为实际的 Period 类型

python - 如何使用 SQLAlchemy 将 pandas DataFrame 更新到 MySQL