晚上好
我想使用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()
答案 0 :(得分:0)
我知道了,我忘记在文件名的末尾加上“ .obj”。应该是:
“ / home / nahla / Documents / cat1_un4.obj”