python 中图像用SimpleITK和numpy.ndarray表示的差异

1、
      SimpleITK: image[x,y,z]   x,y,z对应三维矩阵的列标、行标、深度,对应到图片上为图片宽度、高度、深度

      numpy: image_numpy_array[z,y,x]  x,y,z对应矩阵的深度、高度、宽度,对应到图片上为图像的深度、高度、宽度
     
      二者坐标恰好相反

2、 
      就本文中的(x,y,z)坐标顺序,无论在SimpleITK还是在numpy.ndarray中,都可对应到下图中,

深度则像matlab中的三维矩阵相同,在xoy平面的垂直方向

3、简单的试验

import SimpleITK as sitk
from pyplotlib import plot as plt
a=sitk.Image(128,64,sitk.sitkUInt8)  #获得一张宽度128,高度64的图片
a[100,10]=255                        #在该坐标位置设置像素点的亮度为255
b=sitk.GetArrayFromImage(a)          #把SimpleITK.Image对象转化成numpy.ndarray
plt.imshow(b)
plt.show()                           #显示图片

       下面对比numpy.ndarray中的坐标表示

b[10,100]=0               #清除上图中的亮点,注意区分坐标顺序,这里时【10,100]在a那里是[100,10]
b[60,10]=255              #在b(numpy.ndarray对象)的[60,10]处设值为255,对应a(SimpleITK.Image对象)的坐标为[10,60]
plt.imshow(b)
plt.show()                #显示图片如下图

看到这里没看明白可以参看以下链接:http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/03_Image_Details.html


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值