如何在Python中创建白色图像?

2024-09-30 16:27:50 发布

您现在位置:Python中文网/ 问答频道 /正文

在做作业时,我偶然发现了一个有关Python和图像处理的问题。我必须说,使用映像库不是一个选项。所以就在这里

from scipy.misc import imread,imsave
from numpy import zeros

imga = zeros([100,100,3])
h = len(imga)
w = len(imga[0])

for y in range(h):
    for x in range(w):
        imga[y,x] = [255,255,255]

imsave("Result.jpg",imga)

我想它会使我的照片变白,但它会变黑,我不知道为什么 这与代码无关(我知道它看起来很难看)。事实上,这是一个黑色的图像。


Tags: infromimportforlen选项zerosrange
3条回答

别紧张! 检查以下代码:

whiteFrame = 255 * np.ones((1000,1000,3), np.uint8)

255是填充字节的颜色。

10001000是图像的大小。

3是图像的颜色通道。

类型是unit8

好运

创建imga时,需要设置单元类型。具体来说,更改以下代码行:

imga = zeros([100,100,3], dtype=np.uint8)

并将以下内容添加到导入中:

import numpy as np

在我的机器上有一个白色的图像。

图像中的每种颜色都由一个字节表示。所以要创建一个图像数组,应该将它的dtype设置为uint8。

而且,不需要循环将每个元素都设置为255,可以使用fill()方法或切片索引:

import numpy as np
img = np.zeros([100,100,3],dtype=np.uint8)
img.fill(255) # or img[:] = 255

相关问题 更多 >