⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.frm

📁 北京微视公司图像采集卡SDK开发包
💻 FRM
📖 第 1 页 / 共 2 页
字号:

            Case V200: strName = "MVPCI V200"

            Case V130: strName = "MVPCI V130"

            Case V120: strName = "MVPCI V120"

            Case V110: strName = "MVPCI V110"
            
            Case MOKAC10: strName = "Moka-C10"

            Case MOKAC20: strName = "Moka-C20"

            Case MOKAC40: strName = "Moka-C40"
            
            Case S100: strName = "MVPCI S100"
            
            Case V8T: strName = "MVPCI V8T"
            
            Case X800: strName = "MVPCI X800"

            Case X400: strName = "MVPCI X400"
            
            Case MOKAC41: strName = "Moka-C41"
            
            Case S450: strName = "MVPCI S450"
            
            Case S400S420: strName = "MVPCI S400/S420"
             
            Case E410: strName = "MVPCI E410"
             
            Case E450: strName = "MVPCI E450"
        
            Case Else: strName = "Unknown Card!"
            
        End Select
        strCardName(nCardCount) = strName
    Next nCardCount
    MV_CloseDevice tmphDevice
    
    '初始化设备
    hDevice = MV_OpenDevice(0, True)                         '打开序号为Index的采集卡,并获得其设备句柄
    nBoardType = MV_GetDeviceParameter(hDevice, GET_BOARD_TYPE)    '得到当前采集卡类型
            
    '根据不同采集卡类型,初始化窗口菜单
    If nBoardType = LEVIN_RGB10 Then
        SyncSet.Visible = True
        val = MV_GetDeviceParameter(hDevice, WORK_SYNC)

        Select Case val

            Case 0: RSync.Checked = True

            Case 1: GSync.Checked = True

            Case 2: BSync.Checked = True

            Case 3: CSync.Checked = True

            Case 5: SSync.Checked = True
        End Select

        CapFormat.Visible = False

    ElseIf nBoardType = LEVIN_RGB20 Or nBoardType = LEVIN_M20 _
        Or nBoardType = LEVIN_VGA100 Or nBoardType = LEVIN_VGA170 Then
            test.Visible = True
            CapFormat.Visible = False

        If nBoardType = LEVIN_RGB20 Or nBoardType = LEVIN_VGA100 Or nBoardType = LEVIN_VGA170 Then
            SyncSet.Visible = True
            val = MV_GetDeviceParameter(hDevice, WORK_SYNC)

            Select Case val

                Case 0: RSync.Checked = True

                Case 1: GSync.Checked = True

                Case 2: BSync.Checked = True

                Case 3: CSync.Checked = True

                Case 5: SSync.Checked = True
            End Select

        End If

    ElseIf nBoardType = V500 Or nBoardType = V510 Or nBoardType = V520 Then
        TenBitMode.Visible = True
        FilterSet.Visible = True
    Else
        val = MV_SetDeviceParameter(hDevice, ADJUST_BACKCOLORKEY, &H400000)
    End If
    
    Dim temp As Integer
    temp = MV_GetDeviceParameter(hDevice, GARB_BITDESCRIBE)
    
    Select Case temp

        Case 0:
            now.Caption = "当前格式:MONOCHOY8"

        Case 1:
            now.Caption = "当前格式:GBR1555"

        Case 2:
            now.Caption = "当前格式:CO_RGB24"

        Case 3:
            now.Caption = "当前格式:aRGB8888"

        Case 4:
            now.Caption = "当前格式:RGB8332"

        Case 5:
            now.Caption = "当前格式:CO_RGB565"

        Case 6:
            now.Caption = "当前格式:RGB5515"

        Case 7:
            now.Caption = "当前格式:CO_YUV444"

        Case 8:
            now.Caption = "当前格式:CO_YUV422"

        Case 9:
            now.Caption = "当前格式:YUV411"
    End Select

    '设置目录
    str = String$(200, 0)
    ch = GetCurrentDirectory(200, str)
    strFileDir = String$(ch, 0)
    GetCurrentDirectory 255, strFileDir
    strFileDir = strFileDir & "\pic"
    
    '其他设置
    MV_SetDeviceParameter hDevice, BUFFERTYPE, 0               '设置图像显示方式为DirectX方式
    MV_SetDeviceParameter hDevice, WORK_UPDOWN, 0              '设置图像未上下翻转
    
    MV_SetDeviceParameter hDevice, DISP_WHND, DispArea.hWnd       '设置图像显示窗口句柄
    DispArea.height = MV_GetDeviceParameter(hDevice, GARB_HEIGHT)
    DispArea.Width = MV_GetDeviceParameter(hDevice, GARB_WIDTH)
    'DispArea.height = MV_GetDeviceParameter(hDevice, GARB_IN_HEIGHT)
    'DispArea.Width = MV_GetDeviceParameter(hDevice, GARB_IN_WIDTH)
        
    MV_OperateDevice hDevice, MVRUN                            '设置采集卡开始采集并显示图像
    
    bRealTimeInfo = False
    
     nReg = 0
     
End Sub

Private Sub Form_Resize()

    Form1.Refresh
End Sub

Private Sub Form_Unload(Cancel As Integer)
    MV_CloseDevice (hDevice)
End Sub

Private Sub FullScreen_Click()
    MV_OperateDevice hDevice, MVSTOP
    FScrDsp.Show
End Sub

Private Sub GSYNC_Click()
    RSync.Checked = False
    GSync.Checked = True
    BSync.Checked = False
    CSync.Checked = False
    SSync.Checked = False
    MV_SetDeviceParameter hDevice, WORK_SYNC, 1       '设置同步方式为同步在绿路
End Sub

Private Sub HideInfo_Click()

    Form1.WindowState = 0
    Form1.Width = 11665
    bRealTimeInfo = False

End Sub

Private Sub HighBits_Click()
    MV_SetDeviceParameter hDevice, TENBIT_MODE, 0       '设置10bit模式为采集高8位
    HighBits.Checked = True
    MiddleBits.Checked = False
    LowBits.Checked = False
    TenBits.Checked = False
End Sub

Private Sub MiddleBits_Click()
    MV_SetDeviceParameter hDevice, TENBIT_MODE, 1      '设置10bit模式为采集中8位
    HighBits.Checked = False
    MiddleBits.Checked = True
    LowBits.Checked = False
    TenBits.Checked = False
End Sub
Private Sub LowBits_Click()
    MV_SetDeviceParameter hDevice, TENBIT_MODE, 2      '设置10bit模式为采集低8位
    HighBits.Checked = False
    MiddleBits.Checked = False
    LowBits.Checked = True
    TenBits.Checked = False
End Sub

Private Sub OSDSet_Click()
    OSDForm.Show
End Sub


Private Sub menuRealTimeInfo_Click()

    If Form1.WindowState = 2 Then
        bRealTimeInfo = True
    End If
    
    If bRealTimeInfo = False Then

        Form1.WindowState = 2
    Else

        Form1.WindowState = 0
        Form1.Width = 11665
    End If

    bRealTimeInfo = Not (bRealTimeInfo)
End Sub


Private Sub MONOCHOY8_Click()
    MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 0      '设置图像采集格式为8bit方式
    now.Caption = "当前格式:MONOCHOY8"
End Sub

Private Sub RefreshInfo_Click()
    
    '实时信息
    nBoardType = MV_GetDeviceParameter(hDevice, GET_BOARD_TYPE)

    Select Case nBoardType
            
        Case LEVIN_M10: hintName = "LEVIN_M10"

        Case LEVIN_RGB10: hintName = "LEVIN_RGB10"

        Case LEVIN_M20: hintName = "LEVIN_M20"

        Case LEVIN_RGB20: hintName = "LEVIN_RGB20"
        
        Case LEVIN_VGA100: hintName = "LEVIN_VGA100"

        Case LEVIN_VGA170: hintName = "LEVIN_VGA170"
            
        Case V520: hintName = "MVPCI V520/Moka-C50"

        Case V510: hintName = "MVPCI V510/Moka-C51"

        Case V500: hintName = "MVPCI V500"

        Case V410: hintName = "MVPCI V410"

        Case V400: hintName = "MVPCI V400"

        Case V3A: hintName = "MVPCI V3A"

        Case V300: hintName = "MVPCI V300"

        Case V200: hintName = "MVPCI V200"

        Case V130: hintName = "MVPCI V130"

        Case V120: hintName = "MVPCI V120"

        Case V110: hintName = "MVPCI V110"
            
        Case MOKAC10: hintName = "MOKA C10"

        Case MOKAC20: hintName = "MOKA C20"

        Case MOKAC40: hintName = "MOKA C40"
            
        Case S100: hintName = "MVPCI S100"
            
        Case V8T: hintName = "MVPCI V8T"
            
        Case X800: hintName = "MVPCI X800"

        Case X400: hintName = "MVPCI X400"
            
        Case MOKAC41: hintName = "Moka-C41"
            
        Case S450: hintName = "S450"
        
        Case S400S420: hintName = "MVPCI S400S420"
             
        Case E410: hintName = "MVPCI E410"
             
        Case E450: hintName = "MVPCI E450"
            
        Case Else: hintName = "Unknown Card!"
            
    End Select

    ''''''''''''
    hintFileDir = "图片目录:" & strFileDir
    
    hintPAL = MV_GetDeviceParameter(hDevice, ADJUST_STANDARD)

    If hintPAL = 0 Then
        hintPAL = "PAL"
    Else
        hintPAL = "NTSC"
    End If

    hintPAL = "制式:" & hintPAL
    
    hintChannel = MV_GetDeviceParameter(hDevice, ADJUST_CHANNEL)
    hintChannel = "通道:" & hintChannel
    
    hintDx = MV_GetDeviceParameter(hDevice, BUFFERTYPE)

    If hintDx = 0 Then
        hintDx = "DirectX"
    ElseIf hintDx = 1 Then
        hintDx = "GDI"
    Else
        hintDx = "Direct Show"
    End If

    hintDx = "显示方式:" & hintDx
    
    If nBoardType = LEVIN_M10 Or nBoardType = LEVIN_M20 Or nBoardType = LEVIN_RGB10 _
        Or nBoardType = LEVIN_RGB20 Or nBoardType = LEVIN_VGA100 Or nBoardType = LEVIN_VGA170 Then
        hintCapFrame = MV_GetDeviceParameter(hDevice, WORK_SKIP)       '设置不跳行采集
    Else
        hintCapFrame = MV_GetDeviceParameter(hDevice, WORK_FIELD)      '设置按帧采集方式
    End If

    If hintCapFrame = 0 Then
        hintCapFrame = "Frame"
    Else
        hintCapFrame = "Field"
    End If

    hintCapFrame = "采集方式:" & hintCapFrame
    
    Hint.Caption = "板卡名称:" & hintName & vbCrLf & vbCrLf & hintFileDir & vbCrLf & vbCrLf & hintPAL & vbCrLf & vbCrLf & hintChannel & vbCrLf & vbCrLf & hintDx & vbCrLf & vbCrLf & hintCapFrame

End Sub

Private Sub Reset_Click()
    MV_GetDeviceParameter hDevice, DEFAULT_PARAM       '恢复默认视频参数 '
    MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 3     '设置图像采集格式为RGB8888
    now.Caption = "当前格式:aRGB8888"
    bSaveFilePro = False
End Sub

Private Sub RGB1555_Click()
    MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 1     '设置图像采集格式为RGB1555
    now.Caption = "当前格式:RGB1555"
End Sub

Private Sub RGB5515_Click()
    MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 6     '设置图像采集格式为RGB5515
    now.Caption = "当前格式:RGB5515"
End Sub

Private Sub RGB8332_Click()
    MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 4     '设置图像采集格式为RGB8332
    now.Caption = "当前格式:RGB8332"
End Sub

Private Sub RSYNC_Click()
    RSync.Checked = True
    GSync.Checked = False
    BSync.Checked = False
    CSync.Checked = False
    SSync.Checked = False
    MV_SetDeviceParameter hDevice, WORK_SYNC, 0        '设置同步方式为同步在红路
End Sub

Private Sub SetPar_Click()
    frmOptions.Show 1
End Sub

Private Sub SSYNC_Click()
    RSync.Checked = False
    GSync.Checked = False
    BSync.Checked = False
    CSync.Checked = False
    SSync.Checked = True
    MV_SetDeviceParameter hDevice, GET_BOARD_TYPE, 5       '设置同步方式为行/场同步分离方式
End Sub

Private Sub TenBits_Click()
    MV_SetDeviceParameter hDevice, TENBIT_MODE, 3      '设置10bit模式为采集10位
    HighBits.Checked = False
    MiddleBits.Checked = False
    LowBits.Checked = False
    TenBits.Checked = True
End Sub

Private Sub Test_Click()
    TestDlg.Show 1
End Sub

Private Sub Timer1_Timer()

    If nReg < nFrmNo Then
        Dim ptr As Long
        Dim FileName As String
        Dim PicTag1 As String
        Dim PicTag2 As String
        
        ptr = MV_CaptureSingle(hDevice, False, 0, info.Length, info)       '采集当前帧
        FileName = String$(255, 0)
        
        If nFileFmt = 0 Or nFileFmt = 1 Then
            If nFileFmt = 0 Then
                If (bSaveFilePro = True) Then
                    PicTag1 = "-Pro"

                    If bIsRGB15 = True Then
                        PicTag2 = "-RGB15"  'bmp pro 15
                    Else
                        PicTag2 = "-RGB16"  'bmp pro 16
                    End If

                Else
                    PicTag1 = "-NonPro"
                    PicTag2 = ""            'bmp npro
                End If

            ElseIf nFileFmt = 1 Then

                If (bSaveFilePro = False) Then
                    PicTag1 = "-NonPro"
                Else
                    PicTag1 = "-pro"
                End If

                If bIsColor = True Then
                    If bIsRGB15 = True Then
                        PicTag2 = "-RGB15"
                    Else
                        PicTag2 = "-RGB16"
                    End If

                Else
                    PicTag2 = "-Mono"
                End If
            End If

        Else
            PicTag1 = ""
            PicTag2 = ""
        End If

        FileName = strFileDir & PicTag1 & PicTag2 & "-" & str$(nReg) & ".bmp"

        If bSaveFilePro = False Then

            Select Case nFileFmt

                Case 0:
                    MV_SaveFile FileName, Bmp, ptr, info, 1, False, False, 0, False       '将ptr中图像数据存为BMP格式

                Case 1:
                    MV_SaveFile FileName, Jpeg, ptr, info, 1, False, bIsColor, nQuality, bIsRGB15     '将ptr中图像数据存为JPEG格式

                Case 2:
                    MV_SaveFile FileName, Raw, ptr, info, 1, False, False, 0, False         '将ptr中图像数据存为RAW格式
            End Select

        Else

            Select Case nFileFmt

                Case 0:
                    MV_SaveFilePro FileName, Bmp, ptr, info, 1, False, False, 0, bIsRGB15 '将ptr中图像数据存为BMP格式

                Case 1:
                    MV_SaveFilePro FileName, Jpeg, ptr, info, 1, False, bIsColor, nQuality, bIsRGB15     '将ptr中图像数据存为JPEG格式

                Case 2:
                    MV_SaveFilePro FileName, Raw, ptr, info, 1, False, False, 0, False         '将ptr中图像数据存为RAW格式
            End Select

        End If

        nReg = nReg + 1
   Else
      Timer1.Enabled = False
   End If

End Sub

Private Sub YUV411_Click()
    MV_SetDeviceParameter hDevice, GARB_BITDESCRIBE, 9     '设置图像采集格式为YUV411
    now.Caption = "当前格式:YUV411"
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -