正在读取.vtk文件
Reading .vtk file
我正在开发VTK (Qt on ubuntu 10.04)
我正在尝试读取一个具有3D图像的.vtk
文件。正如我所理解的,这个
http://www.vtk.org/Wiki/VTK/Examples/Cxx/IO/GenericDataObjectReader
可以读取任何vtk文件。然而,它不起作用。我得到的只是:
Starting /home/taha/Downloads/VTK/Examples/qtcreator-build/GenericDataObjectReader...
Usage: /home/taha/Downloads/VTK/Examples/qtcreator-build/GenericDataObjectReader InputFilename
/home/taha/Downloads/VTK/Examples/qtcreator-build/GenericDataObjectReader exited with code 1
1) 我使用的代码工作正常吗?我应该换点什么吗?
尽管我知道我需要将文件名作为参数传递,但我可能不知道如何在命令提示符下执行。我在网上详细搜索了一下,但我遵循的方式可能是错误的。
2) 如何用C++将文件名作为参数传递给程序?
如果你想从vtk wiki给出的例子中调用编译后的程序,只需打开一个shell/dos窗口并键入:
yourExecutable.exe path-to-file.vtk
正如上面所说的输出,您不符合要运行的示例的要求(2个参数)。
一个参数(第一个)是用法(调用什么程序),第二个参数包含要读取的vtk文件的路径。
如果你不想用参数来调用它,你可以把给定的例子改为:
int main ( int argc, char *argv[] )
{
// simply set filename here (oh static joy)
std::string inputFilename = "setYourPathToVtkFileHere";
// Get all data from the file
vtkSmartPointer<vtkGenericDataObjectReader> reader =
vtkSmartPointer<vtkGenericDataObjectReader>::New();
reader->SetFileName(inputFilename.c_str());
reader->Update();
// All of the standard data types can be checked and obtained like this:
if(reader->IsFilePolyData())
{
std::cout << "output is a polydata" << std::endl;
vtkPolyData* output = reader->GetPolyDataOutput();
std::cout << "output has " << output->GetNumberOfPoints() << " points." << std::endl;
}
return EXIT_SUCCESS;
}
只需将setYourPathToVtkFileHere替换为(最好是绝对)您的路径。
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- Qt VTK交互风格的信号到小部件
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- 在 VTK 下保存网格文件
- 以二进制格式写入 vtk 文件
- C++VTK从多个文件中读取和保存数据
- 如何在C++中编写带有 VTK 的标量文件
- 将 Obj 文件导入 vtk
- 如何将 vtkSphere 保存到 VTK 文件
- 正在读取.vtk文件
- Cmake编译目录中具有VTK依赖项的所有c++文件
- 写入二进制 VTK 文件时出错
- 无法启动使用 vtk 的可执行文件
- 什么软件可以可视化VTK文件格式
- Vtk读取dicom文件
- 使用vtkGenericDataObjectReader读取.vtk二进制文件