0

囲碁盤に石を並べたイメージがあります。これらの石を検出する必要があります。AForge の IsCircle 関数を試し ていましたが、画像の背景を最初に黒くする必要があります。しかし、黒い円を検出する必要があります。

出来ますか?または、他のライブラリ(OpenCV)を使用した他のソリューションはありますか?

4

1 に答える 1

1

黒のピクセルを白のピクセルに、白のピクセルを黒のピクセルに変換し、Iscircle 関数を使用して円を検出できます。ここでは、Aforge.net を使用して変換するコードを示します。

 Bitmap orig = (Bitmap)pictureBox1.Image;
            Bitmap clone = new Bitmap(orig.Width, orig.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
            using (Graphics gr = Graphics.FromImage(clone))
            {
                gr.DrawImage(orig, new Rectangle(0, 0, clone.Width, clone.Height));
          }

            FiltersSequence commonSeq = new FiltersSequence();
            commonSeq.Add(Grayscale.CommonAlgorithms.BT709);
            commonSeq.Add(new BradleyLocalThresholding());
            commonSeq.Add(new DifferenceEdgeDetector());

            Bitmap temp = commonSeq.Apply(clone);
于 2012-09-24T10:02:24.237 に答える