使用vtk python分发RGB图像

问题描述

我想使用vtk模块python显示RGB图像。图像以.vti格式保存。我编写了以下简单代码,但它以灰度颜色显示图像。如何显示RGB颜色?

图片供参考:

Image

import vtk
import nrrd
import matplotlib.pyplot as plt

im = plt.imread('RGB.tif')

header = {}
header['encoding'] = 'raw'

nrrd.write('Vug.vti',im,header)

file_name = 'Vug.vti'

# Read the source file.
reader = vtk.vtkNrrdReader()
reader.SetFileName(file_name)
reader.Update()  

# Map the image through the lookup table
color = vtk.vtkImageMapToColors()
#color.SetLookupTable(table)
color.SetInputConnection(reader.GetoutputPort())

# display the image
actor = vtk.vtkImageActor()
actor.GetMapper().SetInputConnection(color.GetoutputPort())

renderer = vtk.vtkRenderer()
renderer.AddActor(actor)

window = vtk.vtkRenderWindow()
window.AddRenderer(renderer)

# Set up the interaction
interactor = vtk.vtkRenderWindowInteractor()
window.SetInteractor(interactor)
window.Render()

解决方法

我在vtk9中使用以下内容

connection: close