vtk 图像创建

数字图像文件内容主要由两部分构成:图像头信息和数据,头信息定义了图像的基本信息,包括起点位置(Origin)、像素间距(Space)和维数(Dimension)。所以创建图像,分为上述两部分即可。
以下是vtkImageData的创建示例

 vtkSmartPointer  ImageData 
            = vtkSmartPointer::New();

  // 头信息
 ImageData->SetDimensions();
 ImageData->SetSpacing();

 //分配内存  
 ImageData->AllocateScalars(VTK_UNSIGNED_SHORT,1);

 //数据
  for (int i = 0; i < dims[0]; i++)
  {
     for(int j = 0; j < dims[1];j++)
     {

        //根据所用获得像素指针,因为GetScalarPointer返回为void  *,所以要根据实际情况强制类型转换
     unsigned char * ConvertPix = (unsigned char *)  
             ImageData->GetScalarPointer(i,j,1);
      * ConvertPix = 5 ;//将每个像素赋值为5
     }
  }

你可能感兴趣的:(vtk)