3D到2D的转换方式

news/2024/11/28 20:43:00/
import SimpleITK as sitk
import numpy as np
import cv2
import os
import glob
import tqdmdef nifti2png(path):for file in tqdm.tqdm(glob.glob(os.path.join(path, "*"))):  # *表示通配符,即path下面的所有文件都遍历一遍image = sitk.ReadImage(file)arr = sitk.GetArrayFromImage(image)arr = ((arr - np.min(arr)) / (np.max(arr) - np.min(arr)) * 255).astype(np.uint8)z, y, x = arr.shapefor i in range(z):slice = arr[i, :, :]save_name = os.path.join("/datasets/2Dslices_train",os.path.basename(file)[:-7] + "_" + str(i + 1) + ".png")cv2.imwrite(save_name, slice)   #写入图像,将后面的图像名写入前面的存放路径if __name__ == '__main__':path = "/home/imed/下载/transUnetDataset/Synapse/train_npz"nifti2png(path)

需要注意的是,3D转换到2图像D时,因为像素值范围不同,因此需要归一化到二维图像的像素值范围,对应的代码表述为:arr = ((arr - np.min(arr)) / (np.max(arr) - np.min(arr)) * 255).astype(np.uint8)或者为arr=(arr/np.max(arr)*255).astype(np.uint8)

若不用定义方法的形式,无法批量化,手动处理每一张的方法如下:

file = "/home/imed/下载/transUnetDataset/Synapse/train_npz/DET0000101_avg.nii.gz"
image = sitk.ReadImage(file)
arr = sitk.GetArrayFromImage(image)
# arr=(arr/np.max(arr)*255).astype(np.uint8)
arr = (arr - np.min(arr)) / (np.max(arr) - np.min(arr)) * 255
z, y, x = arr.shape
for i in range(z):slice = arr[i, :, :]print(np.max(slice))cv2.imwrite(os.path.join("/home/imed/下载/transUnetDataset/Synapse/train_npz/zz", str(i + 1) + ".png"), slice)

http://www.ppmy.cn/news/249762.html

相关文章

3D地图app

3D三维地图APP 发布时间:2018-07-19 版权: 3D地图依据高程数据等对地表进行渲染,实现地表的起伏,模拟出真实的三维场景,让你有如身临其境般的感觉。 (注:Bigemap 3D地图是一个三维地图浏览功能…

3D视觉之线激光3D相机

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 作者丨飞鸢逐浪知乎 来源丨https://zhuanlan.zhihu.com/p/486516636 编辑丨3D视觉工坊 1 3D 视觉 常见的三维视觉技术,包含双目、ToF、激光三角、结构光等,如下图: 1&#…

2D及3D转换

转换 —— transform 目录 2D转换 移动 —— translate 旋转 —— rotate 缩放 —— scale 2D转换综合写法 设置转换中心点 3D转换 3D移动 —— translate3d 2D转换 —— rotate3d 透视 —— perspective 3D呈现 —— transform-style 练习 使盒子居中 旋转出内…

3D与2D

十二月二十三 1.文本效果 1.1文本阴影 1.2盒子阴影 box-shadow 1.3为元素添加阴影 1.4卡片效果 1.5文本溢出 css3文本溢出属性指定向客户如何显示溢出内容 2.2d转换 .1.css转换允许移动旋转缩放和倾斜元素 translate从当前位置移动元素 rotate根据定的角度顺时针或者你是在旋转…

不要为3d而3d

和以前的几个朋友聊天,也有做game的。 发现大家对3D技术都非常热衷,但是这种热衷显得刻意的 为3d而3d,就有点舍本逐末。 1 游戏最重要的是策划,需要具体的满足人心底的某种需求, 2 3d需要 好显卡的支持&#x…

2D旋转与3D转换

文章目录 一、2D转换1.移动: translate2.旋转: rotate3.缩放: scale4.2D 转换综合写法以及顺序问题5.动画(animation)5.1.定义动画5.2.使用动画5.3.动画常见属性5.4.动画简写方式 二、3D转换1.3D位移:translate3d(x, y, z)2.3D旋转…

02[并非3D的3D]

第二集 并非3D的3D 我们开始展示3D的世界了, 好好复习一下几何吧。 2.1 从来都没有3D的游戏 2.1.1 3D pipeline 3D pipeline, 应该翻译成3D流水线比较能让大家清楚, 它和汽车制造厂的流水线是有共性的. 在我们编写演示3D的例子前, 我们简单的了解一下3D pipeline, 如…

3d位移效果

前言:3d坐标系 X 轴 往右为正值, 否则反之 Y 轴 往下为正值,否则反之 Z轴 指向我们为正值,否则反之 3d位移 1、X轴正值位移(向右): transform: translateX(100px); 示例: 设置一个…