OpenCVSharpを使って画像をグレースケールにする。
グレースケールにする方法は下記の二つ。
①画像を読み込む時にグレースケールで読み込む方法。
②OpenCvSharp.IplImageオブジェクトを減色する方法。
①の方法だと一度ファイルに保存する必要があるので、Webカメラでキャプチャーしながらの解析には向かない。その時は、②を使えばいい。
まずは、①のコード
- [void][System.Reflection.Assembly]::LoadFrom((Join-Path $pwd OpenCvSharp.dll))
- #グレースケールで読み込む
- $iplImage = [OpenCvSharp.Cv]::LoadImage((Join-Path $pwd "foo.jpg"), [OpenCvSharp.LoadMode]::GrayScale)
- $iplImage.SaveImage((Join-Path $pwd "bar.jpg"))
- $iplImage.Dispose()
- [void][System.Reflection.Assembly]::LoadFrom(( Join-Path $pwd OpenCvSharp.dll))
- #グレースケールに変換
- $srcIplImage = [OpenCvSharp.Cv]::LoadImage((Join-Path $pwd "foo.jpg"))
- $dstIplImage = New-Object OpenCvSharp.IplImage( $srcIplImage.Size, [OpenCvSharp.BitDepth]::U8, 1)
- [OpenCvSharp.Cv]::CvtColor($srcIplImage,$dstIplImage, [OpenCvSharp.ColorConversion]::BgraToGray)
- $dstIplImage.SaveImage((Join-Path $pwd "bar.jpg"))
- $srcIplImage.Dispose()
- $dstIplImage.Dispose()
0 コメント:
コメントを投稿