2次元画像の色変更

読み込んだ2次元画像のうち、黒を赤に置換する。

Programmable Filter適用後、Object Inspector上のPropertiesタブにて‘Map Scalars’のチェックを外す。

動作確認バージョン

ParaView 4.2.0

Output Data Set Type

vtkImageData

Script

pdi = self.GetInput()
pdo = self.GetOutput()
e = pdi.GetExtent()

ca = vtk.vtkUnsignedCharArray()
ca.SetName('PNGImage')
ca.SetNumberOfComponents(3)
ca.SetNumberOfTuples((e[1] + 1) * (e[3] + 1))

for i in range(e[3] + 1):
    for j in range(e[1] + 1):
        gray = pdi.GetPointData().GetArray('PNGImage').GetValue(i * (e[1] + 1) + j)
        if gray > 0:
            ca.SetTuple3(i * (e[1] + 1) + j, gray, gray, gray)
        else:
            ca.SetTuple3(i * (e[1] + 1) + j, 255, 0, 0)
pdo.GetPointData().SetScalars(ca)

RequestInformation Script

from paraview import util

inp = self.GetInput()
util.SetOutputWholeExtent(self, inp.GetExtent())
タグ: , , , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*