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

📄 hvapi.bas

📁 大恒摄像机开发范例程序 有利于大家二次开发
💻 BAS
字号:
Attribute VB_Name = "HVApi"
'*
' *-----------------------------------------------------------------------------
' *       Name               HVApi.bas
' *       Purpose            Consant definition
' *       Development Kit    Microsoft Win32 SDK Visual basic 6.00
' *       Author             hujun
' *       Date               2004/04/16
' *
' *
' *       Description
' *       This header file defines consant and external function
' *
' *-----------------------------------------------------------------------------
' *

Option Explicit
                     

Public Enum HVTYPE
        HV1300UCTYPE = 0
        HV2000UCTYPE = 1
        HV1301UCTYPE = 2
        HV2001UCTYPE = 3
        HV3000UCTYPE = 4
        HV1300UMTYPE = 5
        HV1302UCTYPE = 6
        HV2002UCTYPE = 7
        HV3102UCTYPE = 8
        HV1302UMTYPE = 9
	HV1300FCTYPE = 10
	HV2000FCTYPE = 11
	HV3100FCTYPE = 12
	HV1300FMTYPE = 13
	HV1303UCTYPE = 14
	HV2003UCTYPE = 15
	HV3103UCTYPE = 16
	HV1303UMTYPE = 17
End Enum

Public Enum HV_RESOLUTION
        RES_MODE0 = 0
        RES_MODE1 = 1
        RES_MODE2 = 2
        RES_MODE3 = 3
End Enum

Public Enum HV_SNAP_MODE
        CONTINUATION = 0
        TRIGGER = 1
        TRIGGER_EDGE = 2
        TRIGGER_LEVEL = 3
End Enum

Public Enum HV_POLARITY
        LOW = 0
        HIGH = 1
End Enum

Public Enum HV_SNAP_SPEED
        NORMAL_SPEED = 0
        HIGH_SPEED = 1
End Enum

Public Enum HV_CHANNEL
        RED_CHANNEL = 16
        GREEN_CHANNEL1 = 17
        GREEN_CHANNEL2 = 18
        BLUE_CHANNEL = 19
End Enum

Public Enum HV_ADC_CONTROL
        ADC_BITS = 0
        ADC_BLKLEVEL_CAL = 1
        ADC_BLKLEVEL_CAL_REDCHANNEL = 16
        ADC_BLKLEVEL_CAL_GREENCHANNEL1 = 17
        ADC_BLKLEVEL_CAL_GREENCHANNEL2 = 18
        ADC_BLKLEVEL_CAL_BLUECHANNEL = 19
End Enum

Public Enum HV_ADC_LEVEL
        ADC_LEVEL0 = 0
        ADC_LEVEL1 = 1
        ADC_LEVEL2 = 2
        ADC_LEVEL3 = 3
End Enum

Public Enum HV_AEC_CONTROL
        AEC_EXPOSURE_TIME = 1
End Enum

Public Enum HV_MIRROR_DIRECTION
        VERT_DIR = 1
End Enum

Public Enum HV_DEVICE_INFO
        DESC_DEVICE_TYPE = 0
        DESC_RESOLUTION = 1
        DESC_DEVICE_MARK = 2
        DESC_DEVICE_SERIESNUM = 3
        DESC_DEVICE_BLANKSIZE = 4
        DESC_DEVICE_HARDWARE_VERSION = 6
End Enum



Public Enum HVSTATUS
        STATUS_OK = 0
        STATUS_NO_DEVICE_FOUND = -1
        STATUS_DEVICE_HANDLE_INVALID = -2
        STATUS_HW_DEVICE_TYPE_ERROR = -3
        STATUS_HW_INIT_ERROR = -4
        STATUS_HW_RESET_ERROR = -5
        STATUS_NOT_ENOUGH_SYSTEM_MEMORY = -6
        STATUS_HW_IO_ERROR = -7
        STATUS_HW_IO_TIMEOUT = -8
        STATUS_HW_ACCESS_ERROR = -9
        '***************************************
        STATUS_OPEN_DRIVER_FAILED = -10
        STATUS_NOT_SUPPORT_INTERFACE = -11
        STATUS_PARAMETER_INVALID = -12
        STATUS_PARAMETER_OUT_OF_BOUND = -13
        STATUS_IN_WORK = -14
        STATUS_NOT_OPEN_SNAP = -15
        STATUS_NOT_START_SNAP = -16
        STATUS_FILE_CREATE_ERROR = -17
        STATUS_FILE_INVALID = -18
        STATUS_NOT_START_SNAP_INT = -19
        STATUS_INTERNAL_ERROR = -20
End Enum


Public Enum HV_BAYER_CONVERT_TYPE
        BAYER2RGB_ZHC = 0
        BAYER2RGB_NEIGHBOUR = 1
        BAYER2RGB_BILINER = 2
        BAYER2RGB_PATTERN = 3
        BAYER2RGB_EDGESENSING = 4
        BAYER2RGB_RF = 5
        BAYER2RGB_PIXELGROUPING = 6
        BAYER2RGB_RESERVER_1 = 7
        BAYER2RGB_RESERVER_2 = 8
        BAYER2RGB_RESERVER_3 = 9
End Enum


Public Enum HV_BAYER_LAYOUT
        BAYER_GB = 1
        BAYER_GR = 2
        BAYER_BG = 3
        BAYER_RG = 4
End Enum


Public Enum HV_COMMAND_CODE
        CMD_RESERVED0 = 0
        CMD_RESERVED1 = 1
End Enum


Public Type HV_CHECK_PARAM
    byParam1 As Byte
    byParam2 As Byte
    byParam3 As Byte
    byParam4 As Byte
End Type



Public Type HV_SNAP_INFO
    hhv As Long
    nDevice As Long
    nIndex As Long
    pParam As Long
End Type

'***************************  HVDAILT.DLL external function **********************************

Declare Function BeginHVDevice Lib "HVDAILT.DLL" (ByVal nDevice As Long, ByRef pHandle As Long) As HVSTATUS
Declare Function EndHVDevice Lib "HVDAILT.DLL" (ByVal hhv As Long) As HVSTATUS

Declare Function HVSetResolution Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal resoultion As HV_RESOLUTION) As HVSTATUS
Declare Function HVSetOutputWindow Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal nXStart As Long, ByVal nYStart As Long, ByVal nWidth As Long, ByVal nHeight As Long) As HVSTATUS
Declare Function HVSetSnapMode Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal mode As HV_SNAP_MODE) As HVSTATUS
Declare Function HVSetTriggerPolarity Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal polarity As HV_POLARITY) As HVSTATUS
Declare Function HVSetStrobePolarity Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal polarity As HV_POLARITY) As HVSTATUS
Declare Function HVSetSnapSpeed Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal speed As HV_SNAP_SPEED) As HVSTATUS
Declare Function HVEnableVideoMirror Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal Dir As HV_MIRROR_DIRECTION, ByVal bEnable As Long) As HVSTATUS

Declare Function HVADCControl Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal byParam As Byte, ByVal lValue As Long) As HVSTATUS
Declare Function HVAGCControl Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal byParam As Byte, ByVal lValue As Long) As HVSTATUS
Declare Function HVAECControl Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal byParam As Byte, ByVal lValue As Long) As HVSTATUS


Declare Function HVSnapShot Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal ppBuffer As Long, ByVal nSum As Long) As HVSTATUS
Declare Function HVTriggerShot Lib "HVDAILT.DLL" (ByVal hhv As Long) As HVSTATUS


Declare Function HVWaitSync Lib "HVDAILT.DLL" (ByVal hhv As Long) As HVSTATUS
Declare Function HVSetBlanking Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal nHor As Long, ByVal nVert As Long) As HVSTATUS

Declare Function HVGetErrorString Lib "HVDAILT.DLL" (ByVal Status As HVSTATUS) As Long
Declare Function HVGetDeviceTotal Lib "HVDAILT.DLL" (ByRef pNumber As Long) As HVSTATUS
Declare Function HVGetDeviceInfo Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal Param As HV_DEVICE_INFO, ByVal pContext As Long, ByRef pSize As Long) As HVSTATUS
Declare Function HVCheckDevice Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal Param As HV_CHECK_PARAM, ByRef pStatus As Long) As HVSTATUS
Declare Function HVDeviceMemRead Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal Offset As Long, ByVal pBuffer As Long, ByVal Length As Long) As HVSTATUS
Declare Function HVDeviceMemWrite Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal Offset As Long, ByVal pBuffer As Long, ByVal Length As Long) As HVSTATUS

Declare Function HVCommand Lib "HVDAILT.DLL" (ByVal hhv As Long, ByVal CommandCode As HV_COMMAND_CODE, ByVal pContext As Long, ByRef pLength As Long) As HVSTATUS


'***************************  Raw2Rgb.DLL external function **********************************

Declare Sub ConvertBayer2Rgb Lib "Raw2Rgb.dll" (ByVal pDest As Long, ByVal pSrce As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal cvtype As HV_BAYER_CONVERT_TYPE, _
        ByVal pLutR As Long, ByVal pLutG As Long, ByVal pLutB As Long, bIsFlip As Boolean, ByVal dataType As HV_BAYER_LAYOUT)

Declare Sub GetWhiteBalanceRatio Lib "Raw2Rgb.dll" (ByVal pSrce As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByRef pRatioR As Double, ByRef pRatioG As Double, ByRef pRatioB As Double)

Declare Sub SetGammaLut Lib "Raw2Rgb.dll" (ByVal pLutGamma As Long, ByVal dGammaRatio As Double)

Declare Sub DetectDeadPixel Lib "Raw2Rgb.dll" (ByVal pRawImgBuf As Long, ByVal pBadPixelPosBuf As Long, _
                ByVal nImgWid As Long, ByVal nImgHei As Long)
                
Declare Sub EraseDeadPixel Lib "Raw2Rgb.dll" (ByVal pRawImgBuf As Long, ByVal pBadPixelPosBuf As Long, ByVal nXPos As Long, ByVal nYPos As Long, _
        ByVal nImgWid As Long, ByVal nImgHei As Long, ByVal nBadPixelBufWid As Long, ByVal nBadPixelBufHei As Long)

Declare Sub GetPatternNoise Lib "Raw2Rgb.dll" (ByVal pRawImgBuf As Long, ByVal pTemplateBuf As Long, ByVal nImgWid As Long, ByVal nImgHei As Long)

Declare Sub AvgPatternNoise Lib "Raw2Rgb.dll" (ByVal pTemplateBuf As Long, ByVal nImgWid As Long, ByVal nImgHei As Long, ByVal nAvgTimes As Long)

Declare Sub FixPatternNoise Lib "Raw2Rgb.dll" (ByVal pRawImgBuf As Long, ByVal pTemplateBuf As Long, ByVal nXPos As Long, ByVal nYPos As Long, _
        ByVal nImgWid As Long, ByVal nImgHei As Long, ByVal nTemplateWid As Long, ByVal nTemplateHei As Long)


'***************************  HVUtil.DLL external function **********************************

Declare Function HVSaveJPEG Lib "HVUtil.DLL" (ByVal lpFileName As Long, ByVal pBuffer As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal nBitCount As Long, ByVal bVerFlip As Boolean, ByVal nQuality As Long) As HVSTATUS
Declare Function HVLoadJPEG Lib "HVUtil.DLL" (ByVal lpFileName As Long, ByVal pBuffer As Long, ByRef pWidth As Long, ByRef pHeight As Long, ByRef pBitCount As Long, ByVal bVerFlip As Boolean) As HVSTATUS



Public Function HV_SUCCESS(ByVal nStatus As HVSTATUS) As Boolean
    If nStatus = STATUS_OK Then
        HV_SUCCESS = True
    Else
        HV_SUCCESS = False
    End If
    
End Function


Public Sub HV_VERIFY(ByVal Status As HVSTATUS)

    If Status <> STATUS_OK Then
       MessageBox 0, HVGetErrorString(Status), 0, 0
    End If
End Sub

Public Sub HV_MESSAGE(ByVal nStatus As HVSTATUS)
    If nStatus <> STATUS_OK Then
       MessageBox 0, HVGetErrorString(nStatus), 0, 0
    End If
    
End Sub
  

⌨️ 快捷键说明

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