Exemple #1
0
        private void videoNewFrame(object sender, NewFrameEventArgs args)
        {
            Bitmap temp = args.Frame.Clone() as Bitmap;

            try
            {
                frameCounter++;

                if (frameCounter > 10)
                {
                    cards        = recognizer.Recognize(temp);
                    frameCounter = 0;
                }

                //Draw Rectangle around cards and write card strings on card
                using (Graphics graph = Graphics.FromImage(temp))
                {
                    foreach (Card card in cards)
                    {
                        graph.DrawPolygon(pen, card.Corners);                          //Draw a polygon around card
                        PointF point = CardRecognizer.GetStringPoint(card.Corners);    //Find Top left corner
                        point.Y += 10;
                        graph.DrawString(card.ToString(), font, Brushes.White, point); //Write string on card
                    }
                }
            }
            catch { }
            this.pictureBox1.Image = ResizeBitmap(temp);
        }
Exemple #2
0
        static void Main(string[] args)
        {
            var man = new CardRecognizer();

            var image = Bitmap.FromFile("./1.bmp") as Bitmap;
            var txt   = man.RecognizeText(image);

            //man.RecognizePlayer(image, "", 0);
            Console.ReadLine();
        }
        public CardRecognizerViewModel()
        {
            this.CamHelper  = new WebcamHelper();
            this.Recognizer = new CardRecognizer();
            this.ocrEngine  = OcrEngine.TryCreateFromLanguage(new Windows.Globalization.Language("en"));

            this.CannyLowerControl  = new VariableControl("Canny Lower", UpdateCannyParams);
            this.CannyUpperControl  = new VariableControl("Canny Upper", UpdateCannyParams);
            this.CannyKernelControl = new VariableControl("Canny Kernel", UpdateCannyParams);
            this.CannyBlurControl   = new VariableControl("Canny Blur", UpdateCannyParams);
            this.MinContourControl  = new VariableControl("Min Contour", UpdateContourBounds);
            this.MaxContourControl  = new VariableControl("Max Contour", UpdateContourBounds);
            this.MinAreaControl     = new VariableControl("Min Area", UpdateAreaBounds);
            this.MaxAreaControl     = new VariableControl("Max Area", UpdateAreaBounds);

            this.Rotations = Settings.Instance.Get("Rotations");

            UpdateCannyParams();
            UpdateContourBounds();
            UpdateAreaBounds();
        }
        private void ProcessRecognition()
        {
            for (int i = 0; i <= 2; i++)
            {
                if (counter3 == 0)
                {
                    this.image = im1;
                }
                else if (counter3 == 1)
                {
                    this.image = im2;
                }
                else
                {
                    this.image = im3;
                }

                CardCollection cards = recognizer.Recognize(this.image);
                //cardImagePanel.DrawImages(cards.ToImageList());
                String r, b;
                //txtCards.Clear();

                //foreach (Card card in cards)
                //{

                //txtCards.AppendText(card.ToString() + Environment.NewLine);

                getScore();

                //getWinner();

                //}
                // */
                //Draw Rectangle around cards and write card strings on card
                using (Graphics graph = Graphics.FromImage(image))
                {
                    foreach (Card card in cards)
                    {
                        graph.DrawPolygon(pen, card.Corners);                          //Draw a polygon around card
                        PointF point = CardRecognizer.GetStringPoint(card.Corners);    //Find Top left corner
                        point.Y += 10;
                        graph.DrawString(card.ToString(), font, Brushes.White, point); //Write string on card
                    }
                }

                /*
                 * r = recognizer.rank1.ToString();
                 * b = recognizer.numBlack.ToString();
                 * txtRed.Text = r;
                 * txtBlack.Text = b;
                 */
                /*
                 * recognizer.numRed = 0;
                 * recognizer.numBlack = 0;
                 */
                if (counter3 == 0)
                {
                    pb1.Image = ResizeBitmap(this.image);
                }
                else if (counter3 == 1)
                {
                    pb2.Image = ResizeBitmap(this.image);
                }
                else
                {
                    pb3.Image = ResizeBitmap(this.image);
                }


                //this.pb_loaded.Image = ResizeBitmap(this.image);
                counter3++;
            }
            getWinner();
        }