protected void DisplayFaceRecognitionProgress() { { if (students.Length != 0) { //CREATE PICTURE BOX FOR FACE TO BE RECOGNIZED unknown_face_pictureBox = new MyPictureBox(); unknown_face_pictureBox.Location = new Point(10, 10); unknown_face_pictureBox.Size = new Size(120, 120); unknown_face_pictureBox.BorderStyle = BorderStyle.FixedSingle; unknown_face_pictureBox.Image = face_to_recognize.ToBitmap(); //CREATE PICTURE BOX FOR PERPETRATORS perpetrators_pictureBox = new MyPictureBox(); perpetrators_pictureBox.Location = new Point(185, 10); perpetrators_pictureBox.Size = new Size(120, 120); perpetrators_pictureBox.BorderStyle = BorderStyle.FixedSingle; //CREATE PROGRESS LABEL progress_label = new Label(); progress_label.Location = new Point(143, 60); progress_label.ForeColor = Color.Green; progress_label.Text = "0%"; //CREATE PANEL CONTAINER FOR THE ABOVE CONTROLS Panel panel = new Panel(); panel.AutoSize = true; panel.Location = new Point(x, y); panel.BorderStyle = BorderStyle.FixedSingle; panel.Padding = new Padding(10); panel.Controls.AddRange(new Control[] { unknown_face_pictureBox, perpetrators_pictureBox, progress_label }); //SINCE THIS THREAD IS STARTED OFF THE GUI THREAD THEN INVOKES MAY BE REQUIRED if (face_recog_progress_panel.InvokeRequired) { //ADD GUI CONTROLS USING INVOKES Action action = () => face_recog_progress_panel.Controls.Add(panel); face_recog_progress_panel.Invoke(action); } //IF NO INVOKES ARE NEEDED THEN else { //JUST ADD THE CONTROLS face_recog_progress_panel.Controls.Add(panel); } ShowFaceRecognitionProgress(); y += 145; } } }
public bool DisplayFaceRecognitionProgress(Image<Bgr, byte> face) { if(face!=null) { //IF THERE ARE PERPETRATORS TO COMPARE AGAINIST if (active_perpetrators.Length != 0) { //RESIZE THE FACE TO RECOGNIZE SO ITS EQUAL TO THE FACES ALREADY IN THE TRAINING SET int width = 120; int height = 120; face = FramesManager.ResizeColoredImage(face, new Size(width, height)); //CLEAR PANEL IF ITEMS ARE TOO MANY ClearPanelIfItemsAreMany(); //CREATE PICTURE BOX FOR FACE TO BE RECOGNIZED unknown_face_pictureBox = new MyPictureBox(); unknown_face_pictureBox.Location = new Point(10, 10); unknown_face_pictureBox.Size = new Size(120, 120); unknown_face_pictureBox.BorderStyle = BorderStyle.FixedSingle; unknown_face_pictureBox.Image = face.ToBitmap(); //CREATE PICTURE BOX FOR PERPETRATORS perpetrators_pictureBox = new MyPictureBox(); perpetrators_pictureBox.Location = new Point(185, 10); perpetrators_pictureBox.Size = new Size(120, 120); perpetrators_pictureBox.BorderStyle = BorderStyle.FixedSingle; //CREATE PROGRESS LABEL progress_label = new Label(); progress_label.Location = new Point(143, 60); progress_label.ForeColor = Color.Green; progress_label.Text = "0%"; //CREATE PANEL CONTAINER FOR THE ABOVE CONTROLS Panel panel = new Panel(); panel.AutoSize = true; panel.Location = new Point(x, y); panel.BorderStyle = BorderStyle.FixedSingle; panel.Padding = new Padding(10); panel.Controls.AddRange(new Control[] { unknown_face_pictureBox, perpetrators_pictureBox, progress_label }); //SINCE THIS THREAD IS STARTED OFF THE GUI THREAD THEN INVOKES MAY BE REQUIRED if (panel_live_stream.InvokeRequired) { //ADD GUI CONTROLS USING INVOKES Action action = () => panel_live_stream.Controls.Add(panel); panel_live_stream.Invoke(action); } //IF NO INVOKES ARE NEEDED THEN else { //JUST ADD THE CONTROLS panel_live_stream.Controls.Add(panel); } //CREATE A NEW PROGRESS THREAD TO SHOW FACE RECOG PROGRESS ShowFaceRecognitionProgress(); //INCREASE THE GLOBAL Y SO NEXT PIC BOXES ARE DRAWN BELOW THIS ONE y += 145; return true; } } return false; }
private MyPictureBox CreatePerpsPictureBox(Bitmap bitmap_image) { MyPictureBox perps_picturebox = new MyPictureBox(); perps_picturebox.Location = new System.Drawing.Point(15, 13); perps_picturebox.Name = "perpetrator_picture_box"; perps_picturebox.Size = new System.Drawing.Size(120, 120); perps_picturebox.TabIndex = 0; perps_picturebox.TabStop = false; perps_picturebox.Image = bitmap_image; return perps_picturebox; }
private void CleanUp() { unknown_face_pictureBox = null; }