OpenCvSharpを使う その3 (グレースケールに変換)

今回は読み込んだカラー画像をグレースケールに変換します。OpenCVの関数にはグレースケール画像しか受け付けないというものが相当数存在するので、これは重要な処理です。
(最初からLoadMode.GrayScaleにしてグレースケールで読み込めばいいじゃないか、というのは無しの方向で。自分でグレースケールにする場面は結構あります。)

using System;
using OpenCvSharp;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            using (IplImage src = Cv.LoadImage("penguin.png", LoadMode.Color))
            using (IplImage dst = Cv.CreateImage(new CvSize(src.Width, src.Height), BitDepth.U8, 1))
            {
                Cv.CvtColor(src, dst, ColorConversion.BgrToGray);

                using (new CvWindow("src", src))
                using (new CvWindow("dst", dst))
                {
                    Cv.WaitKey();
                }
            }
        }
    }
}

続きを読む