ITK系列2_创建图像(手动创建一个itk::Image类)

实例2 创建图像(手动创建一个itk::Image类)

#include "itkImage.h"//图像类的头文件

//这个例子阐述了如何人为地创建一个 itk::Image 类,下面是对图像类进行实例化、声明
//和创建的最简单程序代码。

int main(int, char *[])
{
  //创建 一个三维、像素是无符号短字符数据类型的图像
  typedef itk::Image< unsigned short, 3 > ImageType;
  //调用 New( )操作创建图像image,并将结果分配到 itk::SmartPointer
  ImageType::Pointer image = ImageType::New();
  //图像的起始点是由一个Index类定义的,这个类中存放了一个n维数列
  //表示图像中各维上最初的像素值
  ImageType::IndexType start;

  start[0] =   0;  // first index on X 图像X维最初的像素值
  start[1] =   0;  // first index on Y 图像Y维最初的像素值
  start[2] =   0;  // first index on Z 图像Z维最初的像素值

  //区域大小是用一个相同大小的图像数列来表示的(使用 Size 类),数列中的元素是无符号
  //整数,表示图像像素在各个方向上的延伸。
  ImageType::SizeType  size;

  size[0]  = 200;  // size along X   图像像素在X方向上的大小 
  size[1]  = 200;  // size along Y   图像像素在Y方向上的大小
  size[2]  = 200;  // size along Z   图像像素在Z方向上的大小
  
  //创建一个 ImageRegion 对象,这个region区域是用图像的起始地址和大小来初始化的
  ImageType::RegionType region;

  region.SetSize( size );//初始化图像大小
  region.SetIndex( start );//初始化图像起始地址
  //这个区域传递给图像对象来定义其延伸和初始地址
  image->SetRegions( region );
  //调用 Allocate( )来进行分配内存
  image->Allocate();
 
  return EXIT_SUCCESS;
}
 

ITK系列目录:

1 ITK图像数据表达之图像

2 ITK图像处理之图像滤波

3 ITK图像处理之图像分割

注:例程配套素材见系列目录

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亦我飞也

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值