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();

  • 相关阅读:
    前端页面存取数据
    jquery获取元素内容-text()和val()
    jquery选择器的一些处理
    Js判断一个字符串是否包含一个子串
    防止重复点击:
    Juery实现选项卡
    行间事件传this的问题:
    从数据库中导出数据到.csv文件
    表单限制只能填入正整数
    WAMP环境配置-Mysql安装
  • 原文地址:https://www.cnblogs.com/qwcbeyond/p/2234772.html
Copyright © 2011-2022 走看看