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); }
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(); }