Python中文
首页
教程
问答
标签
搜索
登录
注册
在一个numpy数组中获取并显示3个通道图像的堆栈中的一个图像
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一堆图像。堆栈上的第一个如下所示:</p> <p><a href="https://i.stack.imgur.com/2GRqrm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/2GRqrm.png" alt="enter image description here"/></a></p> <pre><code>import dicom as dc dcm = dc.read_file('full_stack.dcm') dcm = dcm.pixel_array print type(dcm) print dcm.shape </code></pre> <p>这给了我</p> ^{pr2}$ <p>所以看起来有:</p> <ul> <li>3个通道</li> <li>180张图片</li> <li>宽度为480</li> <li>身高640</li> </ul> <p>太好了。在</p> <p>我的目标是提取堆栈中的图像。然后,我要显示这个图像。听起来很简单。在</p> <p>这是我的策略。我希望有任何关于这方面的想法/反馈:</p> <p>1)得到一张图片。使用基本切片获得堆栈上的第10张图像</p> <pre><code>dcm1 = dcm[0:, 10:11] dcm1.shape (3, 1, 480, 640) </code></pre> <p>2)要使用<code>plt.imshow</code>在pyplot中实际绘制,我们需要以下形状:(r,c,channels)。所以我想用暴力来破坏这个形象。在</p> <pre><code>dcm2 = np.squeeze(dcm1, axis=1) # throw away the '1'...this makes me nervous print 'threw away the "1": ', dcm2.shape dcm3 = np.swapaxes(dcm2, 0,2) print 'swapped the first and last dim: ', dcm3.shape dcm4 = np.swapaxes(dcm3, 0,1) print 'swapped the first and second dim:', dcm4.shape </code></pre> <p>现在,我把这个可怜的形象弄得一团糟:</p> <pre><code>threw away the "1": (3, 480, 640) swapped the first and last dim: (640, 480, 3) swapped the first and second dim: (480, 640, 3) </code></pre> <p>是时候策划了!有什么可能发生的?在</p> <p><code>imgplot = plt.imshow(dcm4)</code></p> <p>我得到的是:</p> <p><a href="https://i.stack.imgur.com/Hz2X7m.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Hz2X7m.png" alt="enter image description here"/></a></p> <p>不知怎么的,我的形象现在有各种各样的颜色,看起来很糟糕。在</p> <p>我的问题从这里开始——有人知道发生了什么吗?显然,我的方法是简单的和不令人满意的。但我不知道该去哪里。在</p> <p><em>额外的东西,可能不是真正相关的</em></p> <p>在这一点上,我尝试将频道分成一个频道,然后将其复制到三个频道,这样<code>imshow</code>可以阅读它,我将为您保存详细信息,但它提供了以下信息:</p> <p><a href="https://i.stack.imgur.com/AC4IUm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/AC4IUm.png" alt="enter image description here"/></a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我对dicom图像一无所知,我也没有文件来测试它,但是我可以想象一个简单的转置操作应该会给您所需的输出</p> <pre><code>import numpy as np a = np.random.rand(3,1,480,640) b = np.transpose(a[:,0,:,:], axes=[1,2,0]) print (b.shape) # (480L, 640L, 3L) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
4 回答
当用户登录到站点时,如何显示不同的导航栏
5 回答
当用户登录时,在Flask中向用户显示处理结果
8 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
5 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
5 回答
当用户的付款逾期2天时,从Django模型检索数据
7 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
9 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
5 回答
当用户确定打印数量时,使用Matplotlib打印动画
3 回答
当用户离开时是否可以删除整个网页?
4 回答
当用户给出一个单词时如何打印?
1 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
8 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
10 回答
当用户被更改时,消息不会来自web套接字
2 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
9 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
5 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
5 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
2 回答
当用户购买某个类别时,是否查找其他类别的销售?
7 回答
当用户转到上一页时,Django和芹菜插入操作
6 回答