首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何保存由Keras模型可视化/生成的图像?

如何保存由Keras模型可视化/生成的图像?
EN

Stack Overflow用户
提问于 2020-12-13 00:01:27
回答 1查看 139关注 0票数 1

我正在使用detecto模型来可视化图像。因此,基本上我将一个图像传递给这个模型,它将绘制一条穿过对象的边界线,并显示可视化的图像。

代码语言:javascript
复制
from keras.preprocessing.image import load_img
from keras.preprocessing.image import save_img
from keras.preprocessing.image import img_to_array
from detecto import core, utils, visualize

image = utils.read_image('retina_model/4.jpg')
model = core.Model()

labels, boxes, scores = model.predict_top(image)
img=visualize.show_labeled_image(image, boxes,)

现在,我正在尝试将这个可视化的图像转换为Numpy数组。我使用下面这行代码将图像转换为numpy数组:

代码语言:javascript
复制
img_array = img_to_array(img)

它给出了错误:

代码语言:javascript
复制
Unsupported Image Shape

所有我想要的是显示可视化的图像,这是这个模型的输出到我的网站。我们的计划是将图像转换为numpy数组,然后使用以下行通过代码保存图像:

代码语言:javascript
复制
save_img('image1.jpg', img_array)

所以我计划下载这个可视化的图像(这个模型的输出),这样我就可以将下载的图像显示到我的网站上。如果有其他方法来实现这一点,那么请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2020-12-13 00:23:54

Detecto的文档显示,utils.read_image()已经返回了一个NumPy数组。

但是你把visualize.show_labeled_image()的返回值传递给了Keras的img_to_array(img)

查看visualize.show_labeled_image(),的Detecto源代码,它没有返回类型,因此默认情况下它返回None。所以我认为你的问题是你没有传递一个有效的图片给img_to_array(img),但是没有。

我认为不需要调用img_to_array(img),因为您已经拥有了作为NumPy数组的图像。但请注意,根据Detecto的文档,utils.read_image()“相当于使用OpenCV的cv2.imread函数并从BGR转换为RGB格式”。确保这是你想要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65266994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档