如何通过img_to_array正确绘制转换为数组的图像

时间:2018-03-11 03:19:55

标签: python arrays matplotlib keras

我想知道如何通过keras.preprocessing.image.img_to_array正确绘制转换为数组的图像。

这是我天真的做法。为了给你最小的例子,我从网上下载了一张鸭子图片:

import urllib.request

f = open('duck.jpg','wb')
f.write(requests.get('http://i.imgur.com/Ph4Xw.jpg').content)
f.close()

当我在将img转换为numpy数组之前尝试绘制它时,它可以工作:

from keras.preprocessing.image import load_img ,img_to_array
import matplotlib.pyplot as plt
img = load_img('duck.jpg')

plt.imshow(img)
plt.show()

结果情节如下所示:enter image description here

然而,在我通过keras.preprocessing.image.img_to_array通过numpy数组将图像转换为数组后,绘制数组对象看起来不正确:

arr_img = img_to_array(img)
plt.imshow(arr_img)
plt.savefig("duck2.jpg")

结果情节如下所示:enter image description here 有没有办法正确地绘制arr_img

1 个答案:

答案 0 :(得分:2)

我发现我所要做的就是将arr_img划分为255。

arr_img = img_to_array(img)
plt.imshow(arr_img/255)
plt.savefig("duck2.jpg")