其实之前就遇到过一次了,但是由于当时图片过多,我避免了去解决这种问题。但是今天又遇到一次,而且是老师发给我的,这几组图像是必须要用的,那么意味着必须要解决这个问题了。。。

from scipy.misc import imread, imsave
path1 = 'test_imgs/replenish/spect/1.png'
path2 = 'test_imgs/replenish/mri/1.png'
pet = imread(path1) / 255.0
mri = imread(path2) / 255.0print("petShape:",pet.shape,"mriShape",mri.shape)
# petShape: (256, 256, 4) mriShape (256, 256, 4)

接下来试试能不能看

import matplotlib.pyplot as plt
fig=plt.figure()
f1 = fig.add_subplot(121)
f2 = fig.add_subplot(122)
f1.imshow(pet)
f2.imshow(mri)
plt.show() # 发现查看是没有任何问题的


先看看SPECT的四个通道的图像

fig=plt.figure()
f1 = fig.add_subplot(221)
f2 = fig.add_subplot(222)
f3 = fig.add_subplot(223)
f4 = fig.add_subplot(224)
f1.imshow(pet[:,:,0],cmap='gray')
f2.imshow(pet[:,:,1],cmap='gray')
f3.imshow(pet[:,:,2],cmap='gray')
f4.imshow(pet[:,:,3],cmap='gray')
plt.show()

通过观察可以发现,第四个维度图像是全黑的

再查看一下第四个通道的像素值

print(pet[:,:,3])
# 得到以下结果
[[1. 1. 1. ... 1. 1. 1.][1. 1. 1. ... 1. 1. 1.][1. 1. 1. ... 1. 1. 1.]...[1. 1. 1. ... 1. 1. 1.][1. 1. 1. ... 1. 1. 1.][1. 1. 1. ... 1. 1. 1.]]

全1是原因是因为我做了归一化,255像素就会变为1,说明最后一个通道是没有任何作用的,应该是传说中的透明度通道。

接下来再看看MRI灰度图的四通道图像

fig=plt.figure()
f1 = fig.add_subplot(221)
f2 = fig.add_subplot(222)
f3 = fig.add_subplot(223)
f4 = fig.add_subplot(224)
f1.imshow(mri[:,:,0],cmap='gray')
f2.imshow(mri[:,:,1],cmap='gray')
f3.imshow(mri[:,:,2],cmap='gray')
f4.imshow(mri[:,:,3],cmap='gray')
plt.show()


通过观察可以发现前三个通道其实都是同一张图,而第四个通道也是全黑的,即透明度通道(别管为啥叫透明度,我也只是听说过这个概念,在本文中我就把它当做透明度通道了),那么我们只需要存其中一张就可以了。

找到问题所在了,那么就开始改通道了
我目前能想到的办法就是新建一个空的三维数组,然后把三通道值依次存放进去。

h, w,_= pet.shape
import numpy as np
h, w,_= pet.shape
img_pet = np.zeros((h,w,3)) # 创建一个全0数组
img_mri = np.zeros((h,w))
print("petShape:",img_pet.shape,"mriShape",img_mri.shape)
# petShape: (256, 256, 3) mriShape (256, 256)

开始存

img_pet [:,:,0]=pet[:,:,0]
img_pet [:,:,1]=pet[:,:,1]
img_pet [:,:,2]=pet[:,:,2]img_mri = mri[:,:,0]

查看一下

fig=plt.figure()
f1 = fig.add_subplot(121)
f2 = fig.add_subplot(122)
f1.imshow(img_pet)
f2.imshow(img_mri,cmap='gray')
plt.show()

问题解决!

python读入图像是四维,需要将其转换为三维图像相关推荐

  1. 【Python】函数图像绘制:二维图像、三维图像、散点图、心形图

    [Python]函数图像绘制:二维图像.三维图像.散点图.心形图 所有需要用的包 二维图像 三维图像 散点图绘制 心形图绘制 所有需要用的包 from mpl_toolkits.mplot3d imp ...

  2. 【sketchup 2021】草图大师中二维图像交互(jpeg等格式图像的导入、图像的输出、图像导入变得模糊处理方法)与三维图像交互(其他软件导出的三维导入到草图大师、草图大师导出为三维模型】

    文章目录 图像导入变得模糊处理方法 让室外场景效果更逼真 二维图像交互 jpeg等格式图像的导入[给卫星图建立立面模型] 图片准备和导入 尺寸调整 矩形面准备 描绘轮廓 导出为jpeg等格式的图像 说 ...

  3. matlab 三维图像标题title移动

    写论文的过程中需要在三维图形下面标注a.b.c--.(例如论文:信息安全突发事件情感领袖群际效应研究) 在网上搜索看到二维图像的标题下移到图像下面的方法. 但关于三维图像标题下移的方法基本没有看到.主 ...

  4. python读入图片的四种方式

    title: python读入图片的四种方式 date: 2022-07-02 15:11:58 tags: image process python读入图片的四种方式 ''' 多种读入图片并显示,保 ...

  5. 【python】图像映射:单应性变换与图像扭曲

    [python]图像映射:单应性变换与图像扭曲 单应性变换(Homography) 图像扭曲(仿射变换) 图中图 分段仿射扭曲 单应性变换(Homography) 单应性变换(Homography)即 ...

  6. base64 python兼容js_无法在中读取Base64编码的图像节点.js它是从Python发送的

    我试图在节点.js还有Python.对于这个任务,我使用节点.js的pythonshellnpm模块来运行python脚本并读取打印输出.我想在Python上做一些图片处理节点.js并将其应用于申请. ...

  7. python使用matplotlib可视化、使用matplotlib可视化scipy.misc图像、自定义使用grey灰色映射、将不同亮度映射到不同的色彩、并添加颜色标尺

    python使用matplotlib可视化.使用matplotlib可视化scipy.misc图像.自定义使用grey灰色映射.将不同亮度映射到不同的色彩.并添加颜色标尺 目录

  8. python使用matplotlib可视化、使用rcParams参数调整可视化图像中线条宽度、线条类型、文本字体、字体大小、字体颜色、字体类型、文本颜色等

    python使用matplotlib可视化.使用rcParams参数调整可视化图像中线条宽度.线条类型.文本字体.字体大小.字体颜色.字体类型.文本颜色等 目录

  9. python使用matplotlib可视化线图(line plot)、将可视化图像的图例(legend)放置在图像外部、底部区域

    python使用matplotlib可视化线图(line plot).将可视化图像的图例(legend)放置在图像外部.底部区域(put legend outside and in bottom re ...

最新文章

  1. mysqlorderby数字字符串排序_Python中的元组排序和深度比较
  2. editplus 3 注册码
  3. duilib 显示内存图片
  4. android开发之-软件设置保存-快速学会使用SharedPreferences篇-实测
  5. 制作Scary爬虫步骤
  6. Linux中配置ftp服务器
  7. 400位京东技术专家心血之作 《决战618:探秘京东技术取胜之道》重磅发售!
  8. anaconda 安装pytorch_conda上安装PyTorch
  9. glut编译问题 (程序无法运行)
  10. C#实现HTTP下载文件的方法
  11. js ajax 表单异步提交
  12. java静态分页_Javaweb分页
  13. 浅谈SQL注入攻击与防御(适用于小白观看)
  14. 基于MATLAB语音识别系统GUI界面
  15. 2012r2备域控服务器搭建,Windows Server 2012 R2域控制器部署
  16. Discuz安全之伪装后台,修改后台登陆页面信息
  17. 给本本换硬盘,直接克隆旧盘!
  18. Build-dep linux 知乎,apt-get build-dep十分有用的命令
  19. cloudera manager报错解决方案
  20. 愿随命运颠沛流离——《孤儿列车》读后感

热门文章

  1. YOLOv5的置信度阀值与iou阀值及P R详解
  2. PMI2012:如何打造百万年薪的项目经理--赵弘
  3. 如何修改论文降低重复率
  4. java 文件传输 多客户端 传输多文件_java 文件传输 多客户端 传输多文件
  5. 【web系列十五】Ubuntu系统部署Web项目
  6. VR数字沙盘高度还原未来房屋实景
  7. on error resume next用法
  8. 国税发票查验API接口说明
  9. 大学生职业规划策划书
  10. html微信怎么转发,微信朋友圈怎么转发