实例3 ITK读取PNG图像

#include "itkImage.h"//图像类的头文件
#include "itkImageFileReader.h"//图像读取类的头文件
#include <itkPNGImageIOFactory.h>// PNG对应

int main( int , char * argv[])
{
  //指定表示图像的像素和维数的值来定义图像的类型
  typedef unsigned char          PixelType;//图像的像素类型
  const unsigned int             Dimension = 3;//图像的维数
  //定义图像的类型ImageType
  typedef itk::Image< PixelType, Dimension >   ImageType;
  //使用图像类型把图像读取 Reader 类实例化
  typedef itk::ImageFileReader< ImageType >  ReaderType;
  //使用ReaderType类型来创建一个对象reader
  ReaderType::Pointer reader = ReaderType::New();
  //图像的文件名通过 SetFileName( )方法来实现

 //const char * filename = argv[0];
  reader->SetFileName("123.png");
  reader->Update();

  // Reader 使用 GetOutput( )方法来访问新读取的图像
  ImageType::Pointer image = reader->GetOutput();
  
  return EXIT_SUCCESS;
}
 

ITK系列目录:

1 ITK图像数据表达之图像

2 ITK图像处理之图像滤波

3 ITK图像处理之图像分割

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