我正在尝试将图像从 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)
Run Code Online (Sandbox Code Playgroud)
此方法的输入是 PIL 图像。此方法应将高斯噪声添加到图像中,并再次将其作为 PIL 图像返回。
任何帮助是极大的赞赏!
我有一个大小为 (4,3,224,224) 的 Pytorch 张量。当我尝试将第一个张量转换为 Image 对象时,它说:
TypeError: Cannot handle this data type
Run Code Online (Sandbox Code Playgroud)
我运行了以下命令:
img = Image.fromarray(data[0][i].numpy().astype(np.uint8))
Run Code Online (Sandbox Code Playgroud)
其中 data 是 Pytorch 张量
我尝试了其他解决方案,但找不到任何解决方案。
请建议!!
python numpy image-processing python-imaging-library pytorch
在 Python 3.x 中,我使用 PIL 来调整图像大小,我知道我们可以通过像素减法或除法来减小高度或宽度。但是,是否可以将图像大小调整为所需的大小,例如 200kb 并保持其比例?假设图像较大但尺寸未知。
我创建了一个位图字体,基本上是一个 256x256 的 png 图像,其中每个字符占据 8x8 平铺。我想将它与 Pillow 一起用作 ImageFont,但 Pillow 文档中没有关于此的信息。它说我可以像这样加载位图字体
font = ImageFont.load("arial.pil")
Run Code Online (Sandbox Code Playgroud)
但是“PIL 使用自己的字体文件格式来存储位图字体。” 所以我猜 png 文件不起作用。我如何告诉 PIL 使用所述位图以及每个字符的位置?
这基本上与此处发布的问题相同:如何使用 PIL 将透明 png 图像与另一个图像合并,但使用 scikit-image 而不是 PIL。我的意思是将 png 粘贴在背景图像的顶部,并保持其透明度。另外,如果真的有办法做到这一点,我想知道哪个更快(PIL 或 scikit-image)。谢谢。
是否有枕头中可用的所有命名颜色的列表?我在文档中找不到对确切颜色名称的引用。
我一直在尝试在 PIL 模块中创建一个棋盘,并且我已经获得了前两行的一般模式,但无法弄清楚如何将其应用于整个棋盘。如您所见,我创建了一个图像:
from PIL import Image
img = Image.new("RGB", (15,15), "white") # create a new 15x15 image
pixels = img.load() # create the pixel map
Run Code Online (Sandbox Code Playgroud)
注意 - 我仍在学习 Python,所以这段代码可能看起来效率很低,但请随时提出改进建议。
代码:
black_2 = []
for i in range(img.size[0]):
if i % 2 == 0:
black_2.append(i)
Run Code Online (Sandbox Code Playgroud)
这为我提供了放置黑色像素的所有水平索引位置。因此,对于我创建的 15x15 板,它返回[0, 2, 4, 6, 8, 10, 12, 14]
代码:
然后我使用第二行来计算第一行的水平索引位置
black_1 = [i-1 for i in black_2 if i > 0]
if img.size[0] % 2 == 0: # …Run Code Online (Sandbox Code Playgroud) 我有一个带有 POST 方法的简单烧瓶服务器,可以从用户那里获取图像。获取图像后,我需要将该图像转换为 PIL 图像文件,其余过程需要该 PIL 图像文件。
@app.route("/predict",methods=["POST"])
def predict():
image=request.files['file']
# convert this image to pil image
.....
Run Code Online (Sandbox Code Playgroud)
有什么简短的方法吗?
我发现以下使用 PIL 在本地模糊图像的答案: Filter part of image using PIL, python。建议的答案裁剪图像的一部分,将其模糊并将其复制回原始图像。这会在模糊部分和原始图像之间创建清晰的边缘(请参见下面的示例)。
我想避免这种影响。