📄 hvapi.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 + -