想要将numpyarray转换成Image出错,ValueError: Could not save to PNG for display

问题再现

cams_H 是一个形状为torch.size([1, 7, 7, 3])的tensor,
它经历了以下语句:

cams_H_np = cams_H.numpy()
cams_H_img = Image.fromarray(cams_H_np[0, :, :, 0])
cams_H_img

报错了:

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
~/anaconda3/envs/myenvs/lib/python3.7/site-packages/PIL/PngImagePlugin.py in _save(im, fp, filename, chunk, save_all)1285     try:
-> 1286         rawmode, mode = _OUTMODES[mode]1287     except KeyError as e:KeyError: 'F'The above exception was the direct cause of the following exception:OSError                                   Traceback (most recent call last)
~/anaconda3/envs/myenvs/lib/python3.7/site-packages/PIL/Image.py in _repr_png_(self)679         try:
--> 680             self.save(b, "PNG")681         except Exception as e:~/anaconda3/envs/myenvs/lib/python3.7/site-packages/PIL/Image.py in save(self, fp, format, **params)2431         try:
-> 2432             save_handler(self, fp, filename)2433         except Exception:~/anaconda3/envs/myenvs/lib/python3.7/site-packages/PIL/PngImagePlugin.py in _save(im, fp, filename, chunk, save_all)1288         msg = f"cannot write mode {mode} as PNG"
-> 1289         raise OSError(msg) from e
...
--> 683             raise ValueError(msg) from e684         return b.getvalue()685 ValueError: Could not save to PNG for display

解决方法

想要转换成Image的话,要先把数据存储结构换成uint8才行,
在转换成Image之前,添加cams_H_np = cams_H_np.astype('uint8'),解决啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/232705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何安装运行Wagtail并结合cpolar内网穿透实现公网访问网站界面

文章目录 前言1. 安装并运行Wagtail1.1 创建并激活虚拟环境 2. 安装cpolar内网穿透工具3. 实现Wagtail公网访问4. 固定的Wagtail公网地址 前言 Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail 是一个基于 Django 的开源内容管理系统&#xf…

pycharm或anaconda安装第三方库的办法

https://pypi.tuna.tsinghua.edu.cn/simple/ ctrlF 查找seaborn 我是直接去镜像网站或官方网站找要下载安装的包,手动下载下来,再手动安装会比较快。 输入 pip install D:\Downloads\seaborn-0.9.0-py3-none-any.whl 回车,就很酸爽&#xff…

2024年软考报名条件有哪些?有学历限制吗?

不少考生开始准备报名2024年软件水平考试,那么报名软考有没有学历、专业以及工作经验等方面的限制呢?今天小编就给大家详细来介绍一下。 软考报名条件如下: 1、凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机…

vscode设置保存时代码格式自动对齐

1.点击左下角扩展图标→点击“设置” 2.工作区→文本编辑器→格式化→format on save 打钩 3.看看效果: 加一个数据gender,跟前面的msg、age不对齐 CtrlS保存后,自动对齐了

Linux服务器已有硬盘扩容

1、进入服务器使用命令“lsblk”,可以看到vda2实际上是有1.2T空间的,但只使用了400G空间。 lsblk 2、 查看并新建磁盘分区 fdisk /dev/vda 输入“n”新建一个分区, “Select”输入“p”表示新建一个主分区, “Partition number”…

openwrt docker nginx 站点搭建

应为家里一直是 openwrt 软路由,这样以来也不用 重新买服务器了,就直接在 openwrt 上面跑个 nginx就行了。把自己的一些东西就可以放上面了。资源再利用哈哈; 先 ssh 连接上 openwrt :我这里的 openwrt 最近刚更新的固件&#xff…

HNU-数据库系统-实验1-数据定义/数据操纵

数据库系统 课程实验1数据定义/数据操纵 计科210X 甘晴void 202108010XXX 目录 文章目录 数据库系统 课程实验1<br>数据定义/数据操纵实验目的实验样例实验环境实验内容1.1 数据库定义1&#xff09;实验内容与要求2&#xff09;实验重难点3&#xff09;实验基础知识①模…

fastjson1.2.24 反序列化漏洞(CVE-2017-18349)分析

FastJson在< 1.2.24 版本中存在反序列化漏洞&#xff0c;主要原因FastJson支持的两个特性&#xff1a; fastjson反序列化时&#xff0c;JSON字符串中的type字段&#xff0c;用来表明指定反序列化的目标恶意对象类。fastjson反序列化时&#xff0c;字符串时会自动调用恶意对…

SpringBoot 源码解析4:事件监听器

SpringBoot 源码解析4&#xff1a;事件监听器 1. 初始化监听器2. 创建事件发布器 SpringApplicationRunListeners3. 事件分发流程3.1 SimpleApplicationEventMulticaster#multicastEvent3.2 获取监听器 AbstractApplicationEventMulticaster#getApplicationListeners3.3 Abstra…

BEFF引言与概述

BeEF的简介在现代互联网时代&#xff0c;Web浏览器已成为人们日常生活中不可或缺的工具。然而&#xff0c;正是因为其广泛的使用和复杂的功能&#xff0c;Web浏览器成为了黑客们攻击的主要目标之一。为了利用Web浏览器中的漏洞和弱点&#xff0c;渗透测试人员和黑客们开发了一些…

pip使用

python37 -m pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple 查看已安装的库 python37 -m pip list

【数据结构】使用循环链表结构实现约瑟夫环问题

目录 1.循环链表的定义 2.约瑟夫环问题 3.创建循环链表 4.删除节点操作 5.打印所有节点 6.实现约瑟夫环问题的完整程序代码 &#x1f308;嗨&#xff01;我是Filotimo__&#x1f308;。很高兴与大家相识&#xff0c;希望我的博客能对你有所帮助。 &#x1f4a1;本文由Filotimo_…

手动配置 kafka 用户密码,认证方式等的方式

场景 部分场景会指定使用某一kafka 来提高安全性&#xff0c;这里就不得不使用用户密码认证方式等来控制 方法示例 // 手动加载配置信息private Map<String, Object> consumerConfigs() {Map<String, Object> props new HashMap<>();props.put(ConsumerCo…

自动化测试知识总结(含资料)

一、自动化测试 自动化测试的定义&#xff1a;使用一种自动化测试工具来验证各种软件测试的需求&#xff0c;它包括测试活动的管理与实施、测试脚本的开发与执行。 自动化测试只是测试工作的一部分&#xff0c;是对手工测试的一种补充; 自动化测试绝不能代替手工测试;多数情况…

jsp学生选课系统

介绍 一款简单的Servlet mysql jsp的选课系统&#xff0c;主要有三大模块&#xff0c;管理员模块&#xff0c;教师模块&#xff0c;学生模块。管理员模块主要功能模块有系统管理&#xff0c;课程管理&#xff0c;教师管理&#xff0c;课表管理&#xff0c;学生管理&#xff…

ADB:获取坐标

命令&#xff1a; adb shell getevent | grep -e "0035" -e "0036" adb shell getevent -l | grep -e "0035" -e "0036" 这一条正确&#xff0c;但是&#xff0c;grep给过滤了&#xff0c;导致没有输出 getevent -c 10 //输出10条信息…

大模型 RLHF 实战!【OpenAI独家绝技RLHF!RLHF的替代算法DPO!Claude 暗黑科技 RAIHF!】

大模型 RLHF 实战 大模型 RLHF 实战RLHF&#xff1a;OpenAI独家绝技RLHF 的问题 DPO 直接偏好优化算法&#xff1a;RLHF的替代算法公式 1 - 4&#xff1a;KL散度下奖励的最大化目标使用 DPO 微调 Llama 2 RAIHF 大模型 RLHF 实战 RLHF&#xff08;基于人类反馈的强化学习&#…

gradio

gradio启动cmd并尝试kill import gradio as gr import subprocessall_pid []def get_all_pid():return str(all_pid)def train_0():proc subprocess.Popen([python, a.py], cwdpy_folder_path)all_pid.append(proc.pid)def train_1():proc subprocess.Popen([python, b.py]…

Springboot管理系统数据权限过滤(三)——0业务入侵实现部门数据权限过滤

上一章&#xff0c;讲解了SQL拦截器的&#xff0c;做了一个简单的SQL改造。本章要实现&#xff1a; 仅对指定的service方法内执行的SQL进行处理&#xff1b;完成对部门权限的过滤&#xff1b; 以下简单用一个图说明了整个处理过程&#xff0c;红色框住的部分&#xff0c;就是…

非制冷红外成像技术实现高灵敏度和高分辨率

非制冷红外成像技术实现高灵敏度和高分辨率主要依赖于以下几个方面&#xff1a; 探测器设计&#xff1a;非制冷红外成像技术采用的探测器通常具有高灵敏度和高分辨率的特点。这些探测器能够有效地接收并转换红外辐射&#xff0c;从而产生高质量的图像信息。 光学系统设计&…