我已经创建了一个数组:
import numpy as np
data = np.zeros( (512,512,3), dtype=np.uint8)
data[256,256] = [255,0,0]
我想要做的是在512x512图像的中心显示一个红点。(至少开始时……我想我可以从那里弄清楚剩下的)
我已经创建了一个数组:
import numpy as np
data = np.zeros( (512,512,3), dtype=np.uint8)
data[256,256] = [255,0,0]
我想要做的是在512x512图像的中心显示一个红点。(至少开始时……我想我可以从那里弄清楚剩下的)
当前回答
例如,你的图像在一个名为image的数组中
你要做的就是
plt.imshow(image)
plt.show
这将以图像的形式显示一个数组 另外,不要忘记导入PLT
其他回答
您可以使用PIL创建(并显示)一个图像:
from PIL import Image
import numpy as np
w, h = 512, 512
data = np.zeros((h, w, 3), dtype=np.uint8)
data[0:256, 0:256] = [255, 0, 0] # red patch in upper left
img = Image.fromarray(data, 'RGB')
img.save('my.png')
img.show()
以下方法应该有效:
from matplotlib import pyplot as plt
plt.imshow(data, interpolation='nearest')
plt.show()
如果你正在使用Jupyter notebook/lab,在导入matplotlib之前使用这个内联命令:
%matplotlib inline
一个更有特色的方法是安装ipyml pip安装ipympl并使用
%matplotlib widget
请参见示例。
import numpy as np
from keras.preprocessing.image import array_to_img
img = np.zeros([525,525,3], np.uint8)
b=array_to_img(img)
b
使用枕头的fromarray,例如:
from PIL import Image
from numpy import *
im = array(Image.open('image.jpg'))
Image.fromarray(im).show()
这可能是一个可能的代码解决方案:
from skimage import io
import numpy as np
data=np.random.randn(5,2)
io.imshow(data)