Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy.ones会在图像上显示红色、绿色、蓝色和黑色条带_Python_Python 3.x_Image_Numpy_Python Imaging Library - Fatal编程技术网

Python numpy.ones会在图像上显示红色、绿色、蓝色和黑色条带

Python numpy.ones会在图像上显示红色、绿色、蓝色和黑色条带,python,python-3.x,image,numpy,python-imaging-library,Python,Python 3.x,Image,Numpy,Python Imaging Library,我有以下代码: from PIL import Image import numpy as np a = np.ones((512, 256, 3)).astype(int)*255 image = Image.fromarray(a, "RGB") image.save("test.png", "PNG") 我希望这将导致一个大小为512x256的白色图像。 相反,我得到的是: 出于某种原因,此图像是一系列条形图,而不是纯色 我做错了什么?它是numpy数组的格式吗?使用图像。新的 im

我有以下代码:

from PIL import Image
import numpy as np

a = np.ones((512, 256, 3)).astype(int)*255
image = Image.fromarray(a, "RGB")
image.save("test.png", "PNG")
我希望这将导致一个大小为512x256的白色图像。 相反,我得到的是:

出于某种原因,此图像是一系列条形图,而不是纯色


我做错了什么?它是numpy数组的格式吗?

使用
图像。新的

image = Image.new('RGB', (512, 256), color=(255, 255, 255))
image.save("test.png", "PNG")
不要使用
astype(int)
而是使用
astype(np.uint8)
甚至更好

a = np.full((512, 256, 3), 255, dtype=np.uint8)

您看到的条纹是int值重新解释为
uint8
s序列的结果。

有效!但是现在我该如何更改此图像中的值呢?@NoahWillCrow修改
颜色
元组以根据需要更改颜色。对不起,不,我的意思是,我该如何更改每个像素的值来表示绘制三角形?比如,我需要什么样的数据格式才能使用Image.putdata?@NoahWillCrow啊,不太熟悉PIL来回答这个问题,对不起!哦最后一句话非常有用。非常感谢。最后我就是找不到我的错误,结果发现是这样奇怪的事情。