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