using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;
using System.Threading;
namespace CsharpCamera
{
public partial class Form1 : Form
{
Bitmap imgshow=null;
void run_cap()
{
Mat src = new Mat();
Mat dst = new Mat();
Mat gray = new Mat();
//FrameSource frame = Cv2.CreateFrameSource_Video(“video.mp4”);//
FrameSource frame = Cv2.CreateFrameSource_Camera(0);
while (true)
{
frame.NextFrame(src);
//Cv2.Canny(src, dst, 90,150);
Cv2.CvtColor(src, gray, ColorConversionCodes.BGR2GRAY);
Cv2.Threshold(gray, dst, 90, 120,ThresholdTypes.Binary);
Bitmap bitmap = BitmapConverter.ToBitmap(dst);
Invalidate();
pictureBox1.Invalidate();
imgshow = bitmap;
}
}
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.pictureBox1.Paint += pictureBox1_Paint;
}
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
if (true)
{
Invalidate(); pictureBox1.Invalidate();
if (imgshow==null)
{
} else
e.Graphics.DrawImage(imgshow, 0, 0);
}
}
private void button1_Click(object sender, EventArgs e)
{
Thread threadA = new Thread(run_cap);
threadA.Start();
}
}
}