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

📄 lv20x0.pas

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 PAS
📖 第 1 页 / 共 3 页
字号:
                                           //   - byte 2 - bits as by LV_GET_STATUS_1
  LV_STATUS_SET_2_B1          = $8A;       // Set camera status - part 1
                                           //   - byte 2 - bits as by LV_GET_STATUS_2

// *** CAMERA POWER ON/OFF *****************************************************
// ~~~ LV2000 ~~~
  LV_POWER_SET_ON             = $3A000000; // Camera Power ON
  LV_POWER_SET_OFF            = $3E000000; // Camera Power OFF

// *** MASKING PRIVACY ZONE ****************************************************
// ~~~ LV2010~~~
  LV_MASK_SET_PAGE_B1         = $82;       // Set the page of privacy zone - byte 1
                                           //   byte 2 - page number 0..5
  LV_MASK_SET_DISPLAY_ON      = $8B010000; // Set Mask display to ON
  LV_MASK_SET_DISPLAY_OFF     = $8B000000; // Set Mask display to OFF

  LV_MASK_CLEAR_PAGE_B1       = $83;       // Clear the page of privacy zone - byte 1
                                           //   byte 2 - page number 0..5
  LV_MASK_SET_BLOCK_B1        = $81;       // Set the block of masking privacy zone
                                           //   byte 2 - block number 0..35 (3 cols, 12 rows)
                                           //   byte 3 - bits 1=mask, 0=not mask the 1/8 subblock

// *****************************************************************************
// *** Key Actions *************************************************************

// Each Key command must be stopped by the LV_KEY_STOP command

  LV_KEY_NOT                  = $5F000000; // Do not do anything
  LV_KEY_STOP                 = $5F0C0000; // Stop all key actions being performed

  LV_KEY_ZOOM_TELE            = $5F010000; // Zoom to Tele
  LV_KEY_ZOOM_TELE_QUICK      = $5F020000; // Zoom to Tele quickly
  LV_KEY_ZOOM_WIDE            = $5F030000; // Zoom to Wide
  LV_KEY_ZOOM_WIDE_QUICK      = $5F040000; // Zoom to Wide quickly
  LV_KEY_TOGGLE_DIGIZOOM      = $5F220000; // Toggle Digital Zoom mode ON/OFF

  LV_KEY_FOCUS_FAR_QUICK      = $5F080000; // Move focus to far quickly
  LV_KEY_FOCUS_NEAR_QUICK     = $5F090000; // Move focus to near quickly
  LV_KEY_FOCUS_FAR_STEP       = $5F0A0000; // Move focus to far by one step
  LV_KEY_FOCUS_NEAR_STEP      = $5F0B0000; // Move focus to near by one step
  LV_KEY_TOGGLE_FOCUS_MODE    = $5F510000; // Toggle between "Manual/Auto" and "Push Auto" modes
                                                // LV2020: Toggle between "Manual/Auto" and "OneShot" modes

  LV_KEY_IRIS_UP              = $5F420000; // Increase iris
  LV_KEY_IRIS_DN              = $5F430000; // Decrease iris
  LV_KEY_AGC_UP               = $5F440000; // Increase AGC level
  LV_KEY_AGC_DN               = $5F450000; // Decrease AGC level

  LV_KEY_WB_RED_UP            = $5F480000; // Increase red level in special WB mode
  LV_KEY_WB_RED_DN            = $5F490000; // Decrease red level in special WB mode
  LV_KEY_WB_BLUE_UP           = $5F4A0000; // Increase blue level in special WB mode
  LV_KEY_WB_BLUE_DN           = $5F4B0000; // Decrease blue level in special WB mode
  LV_KEY_TOGGLE_PUSH_WB       = $5F4E0000; // Toggle Push White Balance mode ON/OFF

  LV_KEY_MENU_SEL_UP          = $5F4F0000; // Scroll the menu selection up
  LV_KEY_MENU_SEL_DN          = $5F500000; // Scroll the menu selection down
  LV_KEY_MENU_DATA_UP         = $5F270000; // Increase the data of the selected menu item
  LV_KEY_MENU_DATA_DN         = $5F280000; // Decrease the data of the selected menu item
  LV_KEY_TOGGLE_MENU          = $5F250000; // Toggle Menu ON/OFF

  LV_KEY_TOGGLE_BACKLIGHT     = $5F1A0000; // Toggle Backlight mode ON/OFF
  LV_KEY_TOGGLE_FLICKERLESS   = $5F1B0000; // Toggle Flickerless mode ON/OFF
  LV_KEY_TOGGLE_NEGATIVE      = $5F1E0000; // Toggle Negative mode ON/OFF
  LV_KEY_TOGGLE_MONO          = $5F210000; // Toggle Monochrome mode ON/OFF
  LV_KEY_TOGGLE_DISPLAY       = $5F240000; // Toggle On Screen Display (OSD) Key function ON/OFF
  LV_KEY_TOGGLE_POWER         = $5F320000; // Toggle camera power ON/OFF

// ~~~ LV2000 ~~~
  LV_KEY_FOCUS_PUSH_AUTO      = $5F3F0000; // In Push Auto mode, push the focus
                                           // In Manual/Auto, toggle between Manual/Auto
  LV_KEY_SHUTTER_UP           = $5F400000; // Increase shutter speed
  LV_KEY_SHUTTER_DN           = $5F410000; // Decrease shutter speed
  LV_KEY_BRIGHTNESS_UP        = $5F460000; // Increase brightness
  LV_KEY_BRIGHTNESS_DN        = $5F470000; // Decrease brightness
  LV_KEY_HUE_UP               = $5F4C0000; // Increase hue
  LV_KEY_HUE_DN               = $5F4D0000; // Decrease hue
  LV_KEY_SHARPNESS_UP         = $5F530000; // Increase sharpness level
  LV_KEY_SHARPNESS_DN         = $5F540000; // Decrease sharpness level
  LV_KEY_RESET_SETTINGS       = $5F520000; // Reset the camera mode to default

  LV_KEY_FOCUS_FAR            = $5F380000; // Move focus to far slowly
  LV_KEY_FOCUS_NEAR           = $5F390000; // Move focus to near slowly

// ~~~ LV2010 ~~~
  LV_KEY_SHUTTER_AE_INC       = $5F290000; // Increase shutter speed (in all AE modes)
  LV_KEY_SHUTTER_AE_DEC       = $5F3A0000; // Decrease shutter speed (in all AE modes)

  LV_KEY_MOVE_ZOOM_REPEAT     = $5F560000; // Move Zoom position repeatedly x1->x8->x1
  LV_KEY_FOCUS_PUSHAUTO_MODE  = $5F570000; // Push_auto mode in focus mode
  LV_KEY_SWITCH_LIGHT         = $5F580000; // Turn light ON/OFF


// ~~~ LV2010, LV2020 ~~~
  LV_KEY_FOCUS_SWITCH_MODE    = $5F050000; // In Auto/Manual mode switch between Auto/Manual
                                                // In Focus OneShot mode make focus
  LV_KEY_FOCUS_SWITCH_AUTMAN  = $5F060000; // If in Auto/Manual mode, switch between Auto/Manual
  LV_KEY_FOCUS_IN_PUSHAUTO    = $5F070000; // LV2010: If in Focus PushAuto mode, make focus
                                                // LV2020: If in Focus OneShot mode, make focus

  LV_KEY_DIGEFF_SWITCH        = $5F0E0000; // Switch between 7 digital effect modes
  LV_KEY_SHUTTER_INC          = $5F0F0000; // Increase shutter speed (in shutter fix or manual mode)
  LV_KEY_SHUTTER_DEC          = $5F100000; // Decrease shutter speed (in shutter fix or manual mode)

  LV_KEY_WB_SWITCH_UP         = $5F110000; // Switch between 5 White Balance modes up
  LV_KEY_WB_SWITCH_DN         = $5F120000; // Switch between 5 White Balance modes up

  LV_KEY_WB_HUE_INC           = $5F130000; // Increase hue in manual WB mode
  LV_KEY_WB_HUE_DEC           = $5F140000; // Decrease hue in manual WB mode

  LV_KEY_BRIGHTNESS_INC       = $5F150000; // Increase brightness in auto, shut.fix or AGC fix mode
  LV_KEY_BRIGHTNESS_DEC       = $5F160000; // Decrease brightness in auto, shut.fix or AGC fix mode

  LV_KEY_SHARPNESS_INC        = $5F170000; // Increase sharpness level
  LV_KEY_SHARPNESS_DEC        = $5F180000; // Decrease sharpness level

  LV_KEY_SWITCH_IRIS          = $5F190000; // Switch between Auto/Manual Iris mode

  LV_KEY_DIGEFF_SWITCH_ART    = $5F1C0000; // Switch ART digital effect ON/OFF
  LV_KEY_DIGEFF_SWITCH_MIR    = $5F1D0000; // Switch MIRROR digital effect ON/OFF
  LV_KEY_DIGEFF_SWITCH_NEG    = $5F1E0000; // Switch 100% NEGATIVE digital effect ON/OFF
  LV_KEY_DIGEFF_SWITCH_WIDE   = $5F200000; // Switch WIDE digital effect ON/OFF
  LV_KEY_DIGEFF_SWITCH_MONO   = $5F210000; // Switch MONOCHROME digital effect ON/OFF

  LV_KEY_FACTORY_DEFAULTS     = $5F230000; // Return to factory default state

  LV_KEY_SWITCH_OSD_MODE      = $5F550000; // Switch operating OSD Display modes


  LV_KEY_SWITCH_AE_MODE_UP    = $5F590000; // Switch autoexposure modes up
  LV_KEY_SWITCH_AE_MODE_DN    = $5F5A0000; // Switch autoexposure modes down

// ~~~ LV2020 ~~~
  LV_KEY_DIGEFF_SWITCH_NEG90  = $5F1F0000; // Switch 80% NEGATIVE digital effect ON/OFF
  LV_KEY_SWITCH_DAY_NIGHT     = $5F570000; // Switch Day&Night mode ON/OFF
  LV_KEY_SWITCH_FREEZE        = $5F580000; // Switch freeze mode ON/OFF
  LV_KEY_SET_INTEGRATION      = $5F5B0000; // Set integration mode




  function LvCloseComm: DWORD; stdcall;

  function LvOpenComm (ucCommPort: BYTE): DWORD; stdcall;

  // the COM speed can have the following values:
  // 1200, 2400, 4800, 9600, 19200, 38400, 115200 (the value 76800 is not supported)
  // or can have values 0..6, corresponding values above (for example 3=9600)
  function LvOpenCommEx (ucCommPort: BYTE; iSpeed: integer): DWORD; stdcall;

  function LvSendByteCmd (ucSend1: BYTE; ucSend2: BYTE;
                          ucSend3: BYTE; ucCameraID: BYTE): DWORD; stdcall;

  function LvSendByteCmdEx (ucSend1: BYTE; ucSend2: BYTE;
                            ucSend3: BYTE; ucCameraID: BYTE;
                            var ucReturn1: BYTE; var ucReturn2: BYTE;
                            var ucReturn3: BYTE; var ucReturn4: BYTE): DWORD; stdcall;

  function LvSendCmd (dwCmd: DWORD): DWORD; stdcall;

  function LvSendCmdEx (dwCmd: DWORD;
                        var ucReturn1: BYTE; var ucReturn2: BYTE;
                        var ucReturn3: BYTE; var ucReturn4: BYTE): DWORD; stdcall;

  function LvSendCmdWithStop (dwCmd: DWORD): DWORD; stdcall;


  procedure Lv20x0ControlDlg   (iCameraType: integer; iComPort: integer; iCameraId: integer); stdcall;

  procedure Lv20x0ControlDlgEx (iCameraType: integer; iComPort: integer; iCameraId: integer;
                                iLeft: integer; iTop: integer); stdcall;


  // HELPER FUNCTIONS (can be realized by the functions above)

  function LvGetFocusLensPos (var wFocus: WORD; ucCameraID: BYTE): DWORD; stdcall;

  function LvGetZoomLensPos (var wZoom: WORD; var ucDigiZoom: WORD;
                             ucCameraID: BYTE): DWORD; stdcall;

  function LvGetAutoExpAreaWeights (var ucAreaWeight1: BYTE;
                            var ucAreaWeight2: BYTE;
                            ucCameraID: BYTE): DWORD; stdcall;

  function LvSetAutoExpAreaWeights (ucAreaWeight1: BYTE;
                            ucAreaWeight2: BYTE;
                            ucCameraID: BYTE): DWORD; stdcall;

  // ~~~ LV2000, LV2010 ~~~
  function LvMemorizeZoom (ucIndex: BYTE; wZoom: WORD;
                           ucCameraID: BYTE): DWORD; stdcall;

  function LvMemorizeFocus (ucIndex: BYTE; wFocus: WORD;
                            ucCameraID: BYTE): DWORD; stdcall;

  // ~~~ LV2010, LV2020 ~~~
  function LvSetShutter      (ucShutter: BYTE; ucCameraID: BYTE): DWORD; stdcall;
  function LvGetShutter      (var ucShutter: BYTE; ucCameraID: BYTE): DWORD; stdcall;


implementation

  function  LvCloseComm;               external 'lv20x0.dll' name 'LvCloseComm';
  function  LvOpenComm;                external 'lv20x0.dll' name 'LvOpenComm';
  function  LvOpenCommEx;              external 'lv20x0.dll' name 'LvOpenCommEx';
  function  LvSendByteCmd;             external 'lv20x0.dll' name 'LvSendByteCmd';
  function  LvSendByteCmdEx;           external 'lv20x0.dll' name 'LvSendByteCmdEx';
  function  LvSendCmd;                 external 'lv20x0.dll' name 'LvSendCmd';
  function  LvSendCmdEx;               external 'lv20x0.dll' name 'LvSendCmdEx';
  function  LvSendCmdWithStop;         external 'lv20x0.dll' name 'LvSendCmdWithStop';
  procedure Lv20x0ControlDlg;          external 'lv20x0.dll' name 'Lv20x0ControlDlg';
  procedure Lv20x0ControlDlgEx;        external 'lv20x0.dll' name 'Lv20x0ControlDlgEx';

  function  LvGetFocusLensPos;         external 'lv20x0.dll' name 'LvGetFocusLensPos';
  function  LvGetZoomLensPos;          external 'lv20x0.dll' name 'LvGetZoomLensPos';
  function  LvGetAutoExpAreaWeights;   external 'lv20x0.dll' name 'LvGetAutoExpAreaWeights';
  function  LvSetAutoExpAreaWeights;   external 'lv20x0.dll' name 'LvSetAutoExpAreaWeights';
  function  LvMemorizeZoom;            external 'lv20x0.dll' name 'LvMemorizeZoom';
  function  LvMemorizeFocus;           external 'lv20x0.dll' name 'LvMemorizeFocus';
  function  LvSetShutter;              external 'lv20x0.dll' name 'LvSetShutter';
  function  LvGetShutter;              external 'lv20x0.dll' name 'LvGetShutter';

end.

⌨️ 快捷键说明

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