PowerShellで動画を白黒でキャプチャー

| 2009年10月31日土曜日
OpenCVSharpを使用して、動画を白黒でキャプチャーする。
グレースケールの時と同じで、読み込む→グレースケールに変換→白黒に変換の順に行う。
最後に変換したものをウィンドウに表示させる。
  1. [void][System.Reflection.Assembly]::LoadFrom((Join-Path $pwd OpenCvSharp.dll))
  2. # カメラの情報を取得
  3. $camera = [OpenCvSharp.CvCapture]::FromCamera(0)
  4. $window = New-Object OpenCvSharp.CvWindow("SampleCapture")
  5. $threshold = 128 # 白色か黒色かのしきい値
  6. while ( [OpenCvSharp.CvWindow]::WaitKey(10) -lt 0 ) {
  7. $iplImage = $camera.QueryFrame()
  8. $srcIplImage = New-Object OpenCvSharp.IplImage( $iplImage.Size, [OpenCvSharp.BitDepth]::U8, 1)
  9. # グレースケールに変換
  10. [OpenCvSharp.Cv]::CvtColor($iplImage,$srcIplImage, [OpenCvSharp.ColorConversion]::BgraToGray)
  11. $dstIplImage = New-Object OpenCvSharp.IplImage( $srcIplImage.Size, [OpenCvSharp.BitDepth]::U8, 1)
  12. # 白黒に変換
  13. $srcIplImage.Threshold($dstIplImage, $threshold, 255, [OpenCvSharp.ThresholdType]::Binary)
  14. $window.Image = $dstIplImage
  15. }
  16. $iplImage.Dispose()
  17. $srcIplImage.Dispose()
  18. $dstIplImage.Dispose()
  19. $window.Dispose()
  20. $camera.Dispose()

0 コメント: