zoukankan      html  css  js  c++  java
  • VTK中vtk格式文件的读写问题

    项目中为了保存分割的掩码图像mask,我想到了使用vtk格式的vtkStructuredPointsWriter输出基于vtkimagedata的mask,然后再用vtkStructuredPointsReader读入。但是里面遇到了一个问题,使用vtkImageMask对mask和源图像进行处理的时候,发现输出总是为空。怀疑是mask的问题,因为没有使用mask文件输入而是直接使用当前分割后的mask进行掩码处理不会发生这种情况。经过两天的时间,发现我又是漏了一句很重要的话。vtkwriter->SetFileTypeToBinary();加上这句话之后,对mask图像的读取不会发生像素为-1.#qnan0的情况了,这种情况为数值超出范围。然后就解决了这个问题。下面是源码。

    输出vtk格式的volume

    vtkSmartPointer<vtkStructuredPointsWriter > vtkwriter=vtkSmartPointer<vtkStructuredPointsWriter >::New();
    vtkwriter->SetInput(this->m_vtk.mask);
    vtkwriter->SetFileName(FilePathName);
    vtkwriter->SetFileTypeToBinary();
    vtkwriter->Write();

    输入vtk格式的volume

    vtkSmartPointer<vtkStructuredPointsReader > vtkreader=vtkSmartPointer<vtkStructuredPointsReader >::New();

    vtkreader->SetFileName(FilePathName);

    vtkreader->Update();

  • 相关阅读:
    补番完了 来自深渊
    160CrackMe第十九Brad Soblesky.2
    MyBio小隐本记注册破解
    WDTP注册破解
    对话框和普通窗口工作方式的区别
    Win32汇编学习(11):对话框(2)
    Win32汇编学习(10):对话框(1)
    MongoDB的复制源oplog
    Windows搭建MongoDB复制集
    MangoDB的下载和安装
  • 原文地址:https://www.cnblogs.com/qwcbeyond/p/2234772.html
Copyright © 2011-2022 走看看