基于VB.Net的康耐视Visionmpro的全部代码

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

话不多说,上图:

image.png

除了我们之前讲到的知识外,本次程序里面还增加了一些通讯以及文件处理的相关函数

加载程序的名字

```vb '******加载程序名************ Private Sub LoadJobName(ByVal CameraIndex As Integer) Try Select Case CameraIndex Case 1 cmbC1Job.Items.Clear() For i As Integer = 1 To C1.JobNum cmbC1Job.Items.Add(C1.JobName(i)) Next cmbC1Job.Text = Parm.StartJob(1) Case 2 cmbC2Job.Items.Clear() For i As Integer = 1 To C2.JobNum cmbC2Job.Items.Add(C2.JobName(i)) Next cmbC2Job.Text = Parm.StartJob(2) Case 3 cmbC3Job.Items.Clear() For i As Integer = 1 To C3.JobNum cmbC3Job.Items.Add(C3.JobName(i)) Next cmbC3Job.Text = Parm.StartJob(3) Case 4 cmbC4Job.Items.Clear() For i As Integer = 1 To C4.JobNum cmbC4Job.Items.Add(C4.JobName(i)) Next cmbC4Job.Text = Parm.StartJob(4) End Select Catch ex As Exception 'LogAdd("LoadJobName" & ex.Message, False) MessageBox.Show(ex.Message) End Try

End Sub

``` 就是读取文件夹下的文件名

visionpro实时图像

```vb Private Sub btnLiveC1Click(sender As Object, e As EventArgs) Handles btnLiveC1.Click, btnLiveC2.Click, btnLiveC3.Click, btnLiveC4.Click Dim btnLive As ToolStripButton = sender Select Case btnLive.Name Case "btnLiveC1" gSelectCamNum = 1 Try If btnLiveC1.Text = "实时图像" Then CogRDisC1.StaticGraphics.Clear() CogRDisC1.InteractiveGraphics.Clear() C1.Acq.Operator.OwnedExposureParams.Exposure = CDbl(C1.ExposureTime(C1.SelectJobNum)) CogRDisC1.StartLiveDisplay(C1.Acq.Operator) CogRDisC1DoubleClick(sender, e) btnLiveC1.Text = "停止实时" btnRunC1.Enabled = False btnEditC1.Enabled = False btnJobConfigC1.Enabled = False TimerLive.Start() CogRDisC1.Fit() ElseIf btnLiveC1.Text = "停止实时" Then CogRDisC1.StopLiveDisplay() CogRDisC1.Fit() btnLiveC1.Text = "实时图像" btnRunC1.Enabled = True btnEditC1.Enabled = True btnJobConfigC1.Enabled = True TimerLive.Stop() btnLiveC1.Image = My.Resources.Live End If Catch ex As Exception btnLiveC1.Text = "实时图像" btnRunC1.Enabled = True btnEditC1.Enabled = True btnJobConfigC1.Enabled = True btnLiveC1.Image = My.Resources.Live LogAdd("Camera0打开实时图像失败!" & ex.Message, False) MessageBox.Show("Camera0打开实时图像失败!") End Try Case "btnLiveC2" gSelectCamNum = 2 Try If btnLiveC2.Text = "实时图像" Then CogRDisC2.StaticGraphics.Clear() CogRDisC2.InteractiveGraphics.Clear() C2.Acq.Operator.OwnedExposureParams.Exposure = CDbl(C2.ExposureTime(C2.SelectJobNum)) CogRDisC2.StartLiveDisplay(C2.Acq.Operator) CogRDisC2_DoubleClick(sender, e) btnLiveC2.Text = "停止实时" btnRunC2.Enabled = False btnEditC2.Enabled = False btnJobConfigC2.Enabled = False TimerLive.Start() CogRDisC2.Fit()

ElseIf btnLiveC2.Text = "停止实时" Then
                    CogRDisC2.StopLiveDisplay()
                    CogRDisC2.Fit()
                    btnLiveC2.Text = "实时图像"
                    btnRunC2.Enabled = True
                    btnEditC2.Enabled = True
                    btnJobConfigC2.Enabled = True
                    TimerLive.Stop()
                    btnLiveC2.Image = My.Resources.Live
                End If
            Catch ex As Exception
                btnLiveC2.Text = "实时图像"
                btnRunC2.Enabled = True
                btnEditC2.Enabled = True
                btnJobConfigC2.Enabled = True
                btnLiveC2.Image = My.Resources.Live
                LogAdd("Camera1打开实时图像失败!" & ex.Message, False)
                MessageBox.Show("Camera1打开实时图像失败!")

            End Try
        Case "btnLiveC3"
            gSelectCamNum = 3
            Try
                If btnLiveC3.Text = "实时图像" Then
                    CogRDisC3.StaticGraphics.Clear()
                    CogRDisC3.InteractiveGraphics.Clear()

                    C3.Acq.Operator.OwnedExposureParams.Exposure = CDbl(C3.ExposureTime(C3.SelectJobNum))
                    CogRDisC3.StartLiveDisplay(C3.Acq.Operator)
                    CogRDisC3_DoubleClick(sender, e)
                    btnLiveC3.Text = "停止实时"
                    btnRunC3.Enabled = False
                    btnEditC3.Enabled = False
                    btnJobConfigC3.Enabled = False
                    TimerLive.Start()
                    CogRDisC3.Fit()

                ElseIf btnLiveC3.Text = "停止实时" Then
                    CogRDisC3.StopLiveDisplay()
                    CogRDisC3.Fit()
                    btnLiveC3.Text = "实时图像"
                    btnRunC3.Enabled = True
                    btnEditC3.Enabled = True
                    btnJobConfigC3.Enabled = True
                    TimerLive.Stop()
                    btnLiveC3.Image = My.Resources.Live
                End If
            Catch ex As Exception
                btnLiveC3.Text = "实时图像"
                btnRunC3.Enabled = True
                btnEditC3.Enabled = True
                btnJobConfigC3.Enabled = True
                btnLiveC3.Image = My.Resources.Live
                LogAdd("Camera2打开实时图像失败!" & ex.Message, False)
                MessageBox.Show("Camera2打开实时图像失败!")
            End Try
        Case "btnLiveC4"
            gSelectCamNum = 4
            Try
                If btnLiveC4.Text = "实时图像" Then
                    CogRDisC4.StaticGraphics.Clear()
                    CogRDisC4.InteractiveGraphics.Clear()

                    C4.Acq.Operator.OwnedExposureParams.Exposure = CDbl(C4.ExposureTime(C4.SelectJobNum))
                    CogRDisC4.StartLiveDisplay(C4.Acq.Operator)
                    CogRDisC4_DoubleClick(sender, e)
                    btnLiveC4.Text = "停止实时"
                    btnRunC4.Enabled = False
                    btnEditC4.Enabled = False
                    btnJobConfigC4.Enabled = False
                    TimerLive.Start()
                    CogRDisC4.Fit()

                ElseIf btnLiveC4.Text = "停止实时" Then
                    CogRDisC4.StopLiveDisplay()
                    CogRDisC4.Fit()
                    btnLiveC4.Text = "实时图像"
                    btnRunC4.Enabled = True
                    btnEditC4.Enabled = True
                    btnJobConfigC4.Enabled = True
                    TimerLive.Stop()
                    btnLiveC4.Image = My.Resources.Live
                End If
            Catch ex As Exception
                btnLiveC4.Text = "实时图像"
                btnRunC4.Enabled = True
                btnEditC4.Enabled = True
                btnJobConfigC4.Enabled = True
                btnLiveC4.Image = My.Resources.Live
                LogAdd("Camera3打开实时图像失败!" & ex.Message, False)
                MessageBox.Show("Camera3打开实时图像失败!")
            End Try
    End Select
End Sub

``` 图像的实时显示功能

双击图像窗口最大化

```vb

Region "双击相机图像窗口最大化"

Private Sub CogRDisC1_DoubleClick(sender As Object, e As EventArgs) Handles CogRDisC1.DoubleClick
    MaxStep += 1
    If MaxStep > 1 Then
        MaxStep = 0
    End If
    If MaxStep = 1 Then
        pnlC1.Location = New Point(0, 0)
        pnlC1.Size = New Point(pnlDisplay.Width, pnlDisplay.Height)
        ResizeToolStrip(ToolStripC1)
        pnlC1.BringToFront()
    Else
        btnLiveC1.Text = "停止实时"
        btnLiveC1_Click(btnLiveC1, e)
        btnCrossC1.Text = "十字光标显示中"
        btnCrossC1_Click(btnCrossC1, e)
        pnlC1.Location = New Point(0, 0)
        pnlC1.Size = New Point(NpnlWidthC1, NpnlHeightC1)
        ResizeToolStrip(ToolStripC1)
    End If
End Sub
Private Sub CogRDisC2_DoubleClick(sender As Object, e As EventArgs) Handles CogRDisC2.DoubleClick
    MaxStep += 1
    If MaxStep > 1 Then
        MaxStep = 0
    End If
    If MaxStep = 1 Then
        pnlC2.Location = New Point(0, 0)
        pnlC2.Size = New Point(pnlDisplay.Width, pnlDisplay.Height)
        ResizeToolStrip(ToolStripC2)
        pnlC2.BringToFront()
    Else
        btnLiveC2.Text = "停止实时"
        btnLiveC1_Click(btnLiveC2, e)
        btnCrossC2.Text = "十字光标显示中"
        btnCrossC1_Click(btnCrossC2, e)
        pnlC2.Location = New Point(NpnlLocationXC2, NpnlLocationYC2)
        pnlC2.Size = New Point(NpnlWidthC2, NpnlHeightC2)
        ResizeToolStrip(ToolStripC2)
    End If
End Sub
Private Sub CogRDisC3_DoubleClick(sender As Object, e As EventArgs) Handles CogRDisC3.DoubleClick
    MaxStep += 1
    If MaxStep > 1 Then
        MaxStep = 0
    End If
    If MaxStep = 1 Then
        'setTag(ToolStripC3)
        pnlC3.Location = New Point(0, 0)
        pnlC3.Size = New Point(pnlDisplay.Width, pnlDisplay.Height)
        ResizeToolStrip(ToolStripC3)
        pnlC3.BringToFront()
    Else
        btnLiveC3.Text = "停止实时"
        btnLiveC1_Click(btnLiveC3, e)
        btnCrossC3.Text = "十字光标显示中"
        btnCrossC1_Click(btnCrossC3, e)
        pnlC3.Location = New Point(NpnlLocationXC3, NpnlLocationYC3)
        pnlC3.Size = New Point(NpnlWidthC3, NpnlHeightC3)
        ResizeToolStrip(ToolStripC3)
    End If
End Sub
Private Sub CogRDisC4_DoubleClick(sender As Object, e As EventArgs) Handles CogRDisC4.DoubleClick
    MaxStep += 1
    If MaxStep > 1 Then
        MaxStep = 0
    End If
    If MaxStep = 1 Then
        'setTag(ToolStripC4)
        pnlC4.Location = New Point(0, 0)
        pnlC4.Size = New Point(pnlDisplay.Width, pnlDisplay.Height)
        ResizeToolStrip(ToolStripC4)
        pnlC4.BringToFront()
    Else
        btnLiveC4.Text = "停止实时"
        btnLiveC1_Click(btnLiveC4, e)
        btnCrossC4.Text = "十字光标显示中"
        btnCrossC1_Click(btnCrossC4, e)
        pnlC4.Location = New Point(NpnlLocationXC4, NpnlLocationYC4)
        pnlC4.Size = New Point(NpnlWidthC4, NpnlHeightC4)
        ResizeToolStrip(ToolStripC4)
    End If
End Sub

End Region

```

后续我们会讲一下通讯和触发拍照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋小童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值