如何将深度学习的float32图像转为Unit8格式以方便cv2使用

如何将深度学习的float32图像转为Unit8格式以方便cv2使用在使用Pyside2中的QImage处理深度学习模型生成的图片时,需要将float32的图像转为Unit8格式,再使用cv2处理。一开始使用网上的其他教程,如下: #模型生成 G_recon=G(self.content,True) #将(1,3,256,256)尺寸的转为(256,256,3)G_recon=((G_recon[0].cpu().detach().numpy().transpose(1,2,0)+1)/2)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在使用Pyside2中的 QImage处理深度学习模型生成的图片时,需要将float32的图像转为Unit8格式,再使用cv2处理。
一开始使用网上的其他教程,如下:

		 # 模型生成
		G_recon = G(self.content, True)
		# 将(1,3,256,256)尺寸的转为(256,256,3)
        G_recon = ((G_recon[0].cpu().detach().numpy().transpose(1, 2, 0) + 1) / 2)  
        G_recon = (G_recon) * 255.0  # 将图像数据扩展到[0,255]
        G_recon = np.array(G_recon, dtype='uint8')  # 改为Unit8
        G_recon = cv2.cvtColor(G_recon, cv2.COLOR_BGR2RGB)
        cv2.imwrite('ppp.png', G_recon) # 用cv2保存图像

但是在Lable上展示的的图像跟预期不一样,如下图:
在这里插入图片描述

但是将上面代码中的
G_recon = cv2.cvtColor(G_recon, cv2.COLOR_BGR2RGB)
改为

G_recon = cv2.cvtColor(G_recon, cv2.COLOR_RGBA2RGB)

就能正常显示:
在这里插入图片描述

RGBA格式:
rgba() 函数使用红®、绿(G)、蓝(B)、透明度(A)的叠加来生成各式各样的颜色。

RGBA 即红色、绿色、蓝色、透明度(英语:Red, Green, Blue、Alpha)。

红色(R)0 到 255 间的整数,代表颜色中的红色成分。。
绿色(G)0 到 255 间的整数,代表颜色中的绿色成分。
蓝色(B)0 到 255 间的整数,代表颜色中的蓝色成分。
透明度(A)取值 0~1 之间, 代表透明度。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193317.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 组合数学之容斥原理

    组合数学之容斥原理组合数学之容斥原理在组合数学中 容斥是常常被用到的 我们总用容斥求解一些带有条件的组合数 容斥原理 具有性质 A 和性质 B 的元素个数等同于具有性质 A 的个数和具有性质 B 的个数的和再减去同时具有性质 A 和性质 B 的元素的个数 数学公式表示为 A B A B A B 图形表示为其中黄色区域就是我们所求 同样以此类推对于三个性质来说其数学公式为 A B C A B C

    2025年6月19日
    3
  • IntelliJ IDEA 2019.3安装激活破解使用教程[通俗易懂]

    一、 前言 作为一枚程序员,你肯定对IntelliJ IDEA这个工具一点也不陌生!或许你没有用过,但你也一定听说过。作为在业界被公认为最好的java开发工具,IDEA每次大版本更新都备受瞩目。划重点

    2022年3月13日
    4.5K
  • plsql注册码永久可用_plsql登录不上怎么办

    plsql注册码永久可用_plsql登录不上怎么办2019独角兽企业重金招聘Python工程师标准>>>…

    2025年5月23日
    2
  • java常用的io流_io流java

    java常用的io流_io流javaIO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流以后有时间在整理。1.基本概念IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。2.IO流的分类图示:(主要IO流)3.字节流(1).字节流基类1).InputStreamInputStream:字节输入流基类,抽象类是表示字节输入流的所有

    2022年10月20日
    2
  • Jmeter并发测试_并发测试

    Jmeter并发测试_并发测试jmeter并发测试报错请大神给指点一下是因为什么报错,并发循环1-5次的时候不会报错,循环多次就开始报错了。

    2022年9月30日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号