VTK 可視化例 - eiichiromomma/CVMLAB GitHub Wiki

(VTK) 可視化例

ステレオマッチングで作成した距離画像の可視化(OpenCV/距離計測参照)

可視化する画像

距離画像

原画像

可視化手法

  1. 濃淡値の取得
  2. 原画像の取得
  3. 濃淡値から凹凸面作成
  4. 原画像とのマージ
  5. 表示

という流れになる。

サンプルソース(tcl)

VTKのテキストブックのサンプルを応用。

VTKのコンソールに貼り付ければそのまま使える。

    package require vtk
    package require vtkinteraction

    #画像を読み込む。
    #カラーの場合はpolygonsとするためにvtkImageLuminanceを通す必要あり

    #視差画像
    vtkJPEGReader reader
      reader SetFileName "c:/data/f_disparity.jpg)"
    #原画像
    vtkJPEGReader reader2
      reader2 SetFileName "c:/data/f1.jpg)"

    #濃度値からGeometryを取得
    vtkImageDataGeometryFilter geometry
      geometry SetInput [reader GetOutput]

    #濃度値だと凹凸が激し過ぎるので小さくする
    vtkWarpScalar warp
      warp SetInput [geometry GetOutput]
      warp SetScaleFactor 0.6

    #vtkMergeFilterで凹凸面と画像をmergeする
    vtkMergeFilter merge
      merge SetGeometry [warp GetOutput]
      merge SetScalars  [reader2 GetOutput]
    vtkDataSetMapper mapper
      mapper SetInput [merge GetOutput]
      mapper SetScalarRange 0 255
      mapper ImmediateModeRenderingOff

    #表示用
    vtkActor actor
      actor SetMapper mapper

    vtkRenderer ren1
    vtkRenderWindow renWin
        renWin AddRenderer ren1
    vtkRenderWindowInteractor iren
        iren SetRenderWindow renWin

    ren1 AddActor actor
    ren1 SetBackground 0.1 0.2 0.4
    ren1 ResetCameraClippingRange

    renWin SetSize 800 800
    renWin Render

    wm withdraw .

可視化の結果