EmguCV 调用摄像头c#代码转VB.NET请教

o13763 2017-10-15 02:35:14
想用emguCV 来访问本地摄像头,在网上找了C#的代码,测试可行,转成VB.NET,其中有一行代码事件赋值代码出错。各位大神,,请问这一行用VB.NET该如何表示?
_capture.ImageGrabbed += ProcessFrame()
错误提示:错误1“Public Event ImageGrabbed(sender As Object, e As System.EventArgs)”是事件,不能直接调用。请使用“RaiseEvent”语句引发事件。

ProcessFrame事件:
Private Sub ProcessFrame(ByVal sender As String, e As EventArgs)
If (_capture IsNot Nothing And _capture.Ptr <> IntPtr.Zero) Then
_capture.Retrieve(_frame, 0)
ImageBox1.Image = _frame 'imageBox1显示控件
End If
End Sub
...全文
409 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ming_1976 2017-10-30
  • 打赏
  • 举报
回复
_capture.ImageGrabbed += ProcessFrame() 改成 AddHandler _capture.ImageGrabbed ,AddressOf ProcessFrame()
o13763 2017-10-15
  • 打赏
  • 举报
回复
C#代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Emgu.CV; using Emgu.CV.CvEnum; namespace WindowsFormsApplication1 { public partial class Form1 : Form { private VideoCapture _capture = null; private Mat _frame; public Form1() { InitializeComponent(); } private void ProcessFrame(object sender, EventArgs e) { if (_capture != null && _capture.Ptr != IntPtr.Zero) { _capture.Retrieve(_frame, 0); imageBox1.Image = _frame;//imageBox1显示控件 } } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { _capture = new VideoCapture(); _capture.ImageGrabbed += ProcessFrame; _frame = new Mat(); if (_capture != null) _capture.Start(); } } }

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧