4.1.7 从缓存区中导入图像数据

该教程介绍了如何利用itk::ImportImageFilter将数据导入到ITK的Image类中,特别适用于已有连续内存缓冲区的图像像素数据。示例创建一个中心球体的合成图像,并通过指定图像大小、起源、间距,将内存块传递给过滤器。最终,ImportImageFilter的输出可以连接到处理管道,如写入器,确保正确处理图像数据。
摘要由CSDN通过智能技术生成


学习前言:近期接触到ITK ,市面上资料太少,只有靠自己。本信息来源于ITK官网的软件指导理解,记录方便后期学习。

4.1 图片(Image )

4.1.7 从缓存区中导入图像数据 itk::ImportImageFilter

本节课程源代码可以在Image5.cxx 中找到。
这个例子演示了如何将数据导入到itk::Image类中,许多系统都使用在一块连续的内存来缓存图像像素数据(Image Pixel data),这对于与其他软件系统接口对接尤其有用。当前示例假设这样,并将缓冲区输入到itk::ImportImageFilter中,从而生成图像作为输出。
在这里,我们在本地分配的缓冲区中创建一个具有中心球体的合成图像,并将这个内存块传递给ImportImageFilter.
运行此例子时,用户必须提供输出文件的名称作为命令行参数

#include "itkImage.h"
#include "itkImportImageFilter.h"

下一步,选择数据类型作为图像像素,我们假定外部内存块使用相同的数据类型来表示像素

//取别名,像素数据类型为char,3维
using ImportFilterType = itk::ImportImageFilter<PixelType, Dimension>;
//实例化过滤器对象importFilter,Pointer为智能指针,引用为0自动删除
ImportFilterType::Pointer importFilter = ImportFilterType::New(); 

过滤器中,需要用户需指定输出图像的大小,图像大小应该与本地分配的缓冲区中可用的像素数量完全匹配。指定图像大小需要用到Image size(图像大小) -> Region(区域)-> 原点+大小

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值