//Generally don't have to change this private void video_NewFrame(object sender, NewFrameEventArgs eventArgs) { img = (Bitmap)eventArgs.Frame.Clone(); //Bitmap image = (Bitmap)img; Bitmap img2; RotateBilinear ro = new RotateBilinear(Rotatevid, true); img2 = ro.Apply(img); if (zoomvid > 0) { img3 = zoom(img2, new Size(zoomvid, zoomvid)); } else { img3 = img2; } myCanvas.g = Graphics.FromImage(img3); myCanvas.Run(x, y, shapeselect, ColourSelect, SizeSelect, weightselect, clearbut); myCanvas.g.Dispose(); viewFinder.Image = img3; //viewFinder.Image = img; }
//Generally don't have to change this private void video_NewFrame(object sender, NewFrameEventArgs eventArgs) { Bitmap img = (Bitmap)eventArgs.Frame.Clone(); int r = myCanvas.change_panel_color(img, 1); int G = myCanvas.change_panel_color(img, 2); int b = myCanvas.change_panel_color(img, 3); if (start_pixel_color_flag == 1) { if (bluesquareflag == 1) { begin_r = get_first_color(img, 1); begin_G = get_first_color(img, 2); begin_b = get_first_color(img, 3); } else { begin_r_2 = get_first_color(img, 1); begin_G_2 = get_first_color(img, 2); begin_b_2 = get_first_color(img, 3); } //Console.WriteLine(begin_r_2 + " " + begin_G_2 + " " + begin_b_2); start_pixel_color_flag = 0; panel1.BackColor = Color.FromArgb(begin_r, begin_G, begin_b); panel2.BackColor = Color.FromArgb(begin_r_2, begin_G_2, begin_b_2); } //Console.WriteLine(start_pixel_color_flag); myCanvas.g = Graphics.FromImage(img); myCanvas.Run(r, G, b, img, begin_r, begin_r_2, begin_G, begin_G_2, begin_b, begin_b_2); viewFinder.Image = img; myCanvas.g.Dispose(); }
//Generally don't have to change this private void video_NewFrame(object sender, NewFrameEventArgs eventArgs) { Bitmap img = (Bitmap)eventArgs.Frame.Clone(); myCanvas.g = Graphics.FromImage(img); myCanvas.Run(); viewFinder.Image = img; myCanvas.g.Dispose(); }
//Generally don't have to change this private void video_NewFrame(object sender, NewFrameEventArgs eventArgs) { Bitmap img = (Bitmap)eventArgs.Frame.Clone(); int r = myCanvas.change_panel_color(img, 1); int G = myCanvas.change_panel_color(img, 2); int b = myCanvas.change_panel_color(img, 3); if (start_pixel_color_flag == 1) { if (bluesquareflag == 1) { begin_r = get_first_color(img, 1); begin_G = get_first_color(img, 2); begin_b = get_first_color(img, 3); } else { begin_r_2 = get_first_color(img, 1); begin_G_2 = get_first_color(img, 2); begin_b_2 = get_first_color(img, 3); } start_pixel_color_flag = 0; panel1.BackColor = Color.FromArgb(begin_r, begin_G, begin_b); panel2.BackColor = Color.FromArgb(begin_r_2, begin_G_2, begin_b_2); } TimeSpan ts = stopwatch.Elapsed; secDisp.Invoke((MethodInvoker) delegate { secDisp.Text = ts.Seconds.ToString(); }); minDisp.Invoke((MethodInvoker) delegate { minDisp.Text = ts.Minutes.ToString(); }); myCanvas.g = Graphics.FromImage(img); myCanvas.Run(r, G, b, img, begin_r, begin_r_2, begin_G, begin_G_2, begin_b, begin_b_2); viewFinder.Image = img; myCanvas.g.Dispose(); }
//Generally don't have to change this private void video_NewFrame(object sender, NewFrameEventArgs eventArgs) { try { Bitmap img = (Bitmap)eventArgs.Frame.Clone(); Image <Bgr, Byte> image = new Image <Bgr, Byte>(img); Mat imgmodel = image.Mat; tickCount++; imgmodel = Draw(imgmodel); img = imgmodel.Bitmap; myCanvas.g = Graphics.FromImage(img); while (drawinglock != 0) { } drawinglock = 1; int[] mouse = getMouseCoordinates(img); System.Drawing.Rectangle rec = new System.Drawing.Rectangle(mouse[0], mouse[1], 5, 5); myCanvas.g.DrawEllipse(curserPen, rec); if (button1.Text == "Load") { myCanvas.g.DrawRectangle(objPen, Math.Min(objectside[0], objectside[0] + objwidth), Math.Min(objectside[1], objectside[1] + objheight), Math.Abs(objwidth), Math.Abs(objheight)); } else if (button1.Text == "UnLoad") { int i; for (i = 0; i < trackings.Length && 0 <= trackings[i].X; i++) { } if (i > 1) { Point[] drawtracking = new Point[i - 1]; int j = 0; for (i = 0; i < drawtracking.Length; j++) { drawtracking[j] = trackings[i]; //if (i + 2 < drawtracking.Length && 10+3*Math.Abs(trackings[i + 2].X - trackings[i].X) + 3*Math.Abs(trackings[i + 2].Y - trackings[i].Y) - Math.Abs(trackings[i + 1].X - trackings[i].X) - Math.Abs(trackings[i + 1].Y - trackings[i].Y) < 0) //{ // i++; //} i++; } /*for (i = 0; i<drawtracking.Length && 0 < drawtracking[i].X; i++) * { * } * Point[] drawtracking2 = new Point[i - 1]; * for (i = 0; i < drawtracking2.Length; i++) * { * drawtracking2[i] = drawtracking[i]; * }*/ myCanvas.g.DrawLines(objPen, drawtracking); } } foreach (int[] point in pts) { if (point[0] == 0)//free drawing { int i; for (i = 1; i < point.Length && point[i] >= 0; i++) { } Point[] curve = new Point[(i - 1) / 2]; if (curve.Length > 1) { for (i = 0; i < curve.Length; i++) { curve[i] = new Point(point[2 * i + 1], point[2 * i + 2]); } myCanvas.g.DrawLines(drawingPen, curve); } } else if (point[0] == 6)//free drawing { SolidBrush bloodBrush = new SolidBrush(Color.FromArgb(point[3], 131, 3, 3)); int i; int tic; for (i = 2; 2 * i + 1 < point.Length && point[2 * i + 1] >= 0; i++) { tic = tickCount - point[1]; myCanvas.g.FillEllipse(bloodBrush, point[2 * i] - (float)(tic * .5 + point[2] / 2.0), point[2 * i + 1] - (float)(tic * .5 + point[2] / 2.0), (float)(tic * 1 + point[2]), (float)(tic * 1 + point[2])); } } else if (point[0] == 1)//draw line { myCanvas.g.DrawLine(drawingPen, point[1], point[2], point[3], point[4]); } else if (point[0] == 2)//draw circle { myCanvas.g.DrawEllipse(drawingPen, point[1] - point[3], point[2] - point[3], 2 * point[3], 2 * point[3]); } } // double h = detector.ProcessFrame(img); //System.Console.WriteLine(h); //myCanvas.g.TranslateTransform(img.Width / 2, img.Height / 2); // Rotate //myCanvas.g.RotateTransform(30); // Restore rotation point in the matrix //myCanvas.g.TranslateTransform(-img.Width / 2, -img.Height / 2); // Draw the image on the bitmap //myCanvas.g.DrawImage(img, new Point(0, 0)); if (saveFlag == 1) { saveFlag = 0; img.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg); fs.Close(); } myCanvas.Run(); viewFinder.Image = img; myCanvas.g.Dispose(); drawinglock = 0; } catch { myCanvas.g.Dispose(); drawinglock = 0; } }