1,首先要安装OpenCvSharp,使用cv2的函数获取设备,并将图像转换到Bitmap
using OpenCvSharp;using OpenCvSharp.Extensions; void run_cap(){Mat src = new Mat();FrameSource frame = Cv2.CreateFrameSource_Camera(0);while (f1){frame.NextFrame(src);Bitmap bitmap = BitmapConverter.ToBitmap(src);Invalidate();pictureBox1.Invalidate();imgshow = bitmap;}}
2,在调用时开启线程,可以在主函数内调用,也可在按钮内调用
private void button1_Click(object sender, EventArgs e){// Image imgshow0 = Image.FromFile("src.jpg");// pictureBox1.Image = imgshow0;Thread threadA = new Thread(run_cap);threadA.Start();}
3,在form框架调用重绘函数将每一帧重绘到pictureBox1
this.pictureBox1.Paint += PictureBox1_Paint;
4,函数如下:
private void PictureBox1_Paint(object sender, PaintEventArgs e){if (f){Invalidate();pictureBox1.Invalidate(); e.Graphics.DrawImage(imgshow,0,0);}}
5,运行如下:
本文发布于:2024-02-01 22:00:39,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170679604039692.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |