手头有 109 张头部 CT 的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有 RGBA 四个通道)。
这个数据结构,自然是 numpy 的 ndarray 对象,读取图像文件我习惯使用 PIL。因此,需要导入两个模块:
import numpy as np
from PIL import Image
接下来,我用一行代码就把 109 张图片读到了一个 109x256x256x4 的 numpy 数组中,耗时 172 毫秒:
ata = np.stack([np.array(Image.open('head%d.png'%i)) for i in range(109)], axis=0)
突然,想要分享一些经验的感觉袭来,需要更多分享的可以点击
https://jq.qq.com/?_wv=1027&k=5CwKvd6
- 一行代码打印乘法口诀
print('n'.join([' '.join(["%2s x%2s = %2s"%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10)]))
- 一行代码打印迷宫
print(''.join(__import__('random').choice('u2571u2572') for i in range(50*24)))
- 一行代码表白爱情
print('n'.join([''.join([('Love'[(x-y) % len('Love')] if ((x0.05)2+(y0.1)2-1)3-(x0.05)2(y0.1)*3 <= 0else' ') for x in range(-30, 30)]) for y in range(30, -30, -1)]))