如何解决holoviews不显示PIL图像格式
我正在尝试导入MNIST数据集,并仅使用Holoviews显示它。当我运行以下命令时:
import holoviews as hv
from torchvision import datasets,transforms
hv.extension('bokeh')
mnist_images = datasets.MNIST('data',train=True,download=True)
image_list = []
for k,(image,label) in enumerate(mnist_images):
if k >= 18:
break
image.show()
bounds = (0,1,1)
temp = hv.Image(image,bounds=bounds)
image_list.append(temp)
layout = hv.Layout(image_list).cols(2)
layout
在'temp = hv.Image(...)'的行中出现以下错误:
holoviews.core.data.interface.DataError: None of the available storage backends were able to support the supplied data format.
'image'变量是以下对象:image.show()
可以正确渲染图像。另外,如果我使用matplotlib的.imshow()
,我可以获得正确的渲染。
我想要的是看到在Holoviews中渲染的图像,我希望Holoviews.Image()能够做到这一点。那不是正确的假设吗?如果是,那么代码/方法有什么问题?
解决方法
HoloViews使用数字数组而不是图像,因此hv.Image
用于从2D数组构造图像,而不用于显示已经是图像的东西。但是您可以从PIL对象中获取数值数组,例如hv.RGB(np.array(image),bounds=bounds)
可以将其显示为RGB图像,也可以类似于将灰度值拉出以传递给hv.Image
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。