【发布时间】:2018-10-20 23:33:23
【问题描述】:
晚上好,
我想使用 vtk 库在 python 中可视化一个 .obj 文件,但是当我运行代码时出现以下错误。知道该文件存在。 任何帮助将不胜感激。
错误:在 /build/vtk-NWL3SN/vtk-5.10.1+dfsg/IO/vtkOBJReader.cxx,第 126 行 vtkOBJReader (0xe16650):找不到文件 /home/nahla/Documents/cat1_un4
错误:在 /build/vtk-NWL3SN/vtk-5.10.1+dfsg/Filtering/vtkExecutive.cxx,第 756 行 vtkStreamingDemandDrivenPipeline (0xeb2bc0):算法 vtkOBJReader(0xe16650) 返回请求失败:vtkInformation (0xeac270) 调试:关闭 修改时间:87 参考数:1 注册事件:(无) 请求:REQUEST_DATA FROM_OUTPUT_PORT:0 ALGORITHM_AFTER_FORWARD:1 FORWARD_DIRECTION: 0
代码如下:
#!/usr/bin/env python
import vtk
ColorBackground = [0.0, 0.0, 0.0]
FirstobjPath = r"/home/nahla/Documents/cat1_un4"
reader = vtk.vtkOBJReader()
reader.SetFileName(FirstobjPath)
reader.Update()
mapper = vtk.vtkPolyDataMapper()
if vtk.VTK_MAJOR_VERSION <= 5:
mapper.SetInput(reader.GetOutput())
else:
mapper.SetInputConnection(reader.GetOutputPort())
actor = vtk.vtkActor()
actor.SetMapper(mapper)
# Create a rendering window and renderer
ren = vtk.vtkRenderer()
ren.SetBackground(ColorBackground)
renWin = vtk.vtkRenderWindow()
renWin.AddRenderer(ren)
# Create a renderwindowinteractor
iren = vtk.vtkRenderWindowInteractor()
iren.SetRenderWindow(renWin)
# Assign actor to the renderer
ren.AddActor(actor)
# Enable user interface interactor
iren.Initialize()
renWin.Render()
iren.Start()
【问题讨论】:
-
错误显然发生在脚本的第四行,在对
vtk.vtkOBJReader()的调用中。你到底为什么要包含与你的问题完全无关的其余代码?相反,请包含完整的错误消息和ls -l /home/nahla/Documents/cat1_un4的输出。 -
@DYZ 嗨,我是 vtk 的新手,我不知道问题出在哪里!,'ls -l /home/nahla/Documents/cat1_un4' 的输出是 'ls : 无法访问 '/home/nahla/Documents/cat1_un4': 没有这样的文件或目录' 。怎么了?