itk数据表达之 创建图像

本文档介绍了在ITK中如何创建图像,包括图像的实例化、声明和初始化过程。通常,图像不是直接分配内存和初始化,而是从文件读取。ITK中的图像由多个区域组成,如LargePossibleRegion、BufferedRegion和RequestedRegion。创建图像时需要指定区域的Index(定义初始像素位置)和Size(定义区域大小)。
摘要由CSDN通过智能技术生成


ITK 支持任何像素类型和空间维的图像。

创建图像:(源代码在 Examples/DataRepresentation/Image/Image.cxx )

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

实际上,很少直接给图像分配内存和对图像进行初始化,图像通常都是从一个源文件直接读取的。

 在 ITK 中,图像以一个或多个区域组合的形式存在。一个区域是图像的一个子集,并有可能是系统中其他类所占有的图像的一部分。一个比较普遍的区域是 LargePossibleRegion它是一个以完整部分定义的图像。其他重要的区域还有 BufferedRegion 它是内存中图像的一部分,和 RequestedRegion 它是在对图像进行操作时被滤波器或其他类要求的一部分。
如上所述,在 ITK 中人为的创建图像需要对图像进行实例化,并将描述图像的区域与图像结合起来。一个区域是有两个类来定义的:itk::Index 和 itk::Size 类。与图像结合的图像中的原始区域是有 Index 来定义的。区域的延伸或大小是有 Size 来定义的。Index 是有一个 n 维数列来表示的,在拓扑图像结构中这些表示图像最初的像素的数列的元素都是整数。当人为创建图像时,用户就需要定义图像的大小和图像的起始位置。有了这两个参数,就可以选择处理的区域。图像的起始点是有一个 Index 类定义的,这个类中存放了一个 n 维数列,数列中的元素都是整数,表示图像中各维上最初的像素值。

#include “itkImage.h”
int main(int, char *argv[])
{
typedef itk::Image< unsigned short, 3 > ImageType;
ImageType::Pointer image = ImageType::New();//然后就可以调用 New()操作创建图像并将结果分配到 itk::SmartPointer.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值