cameraplus.h
来自「E-ten Glofiish X500+ Camera driver and a」· C头文件 代码 · 共 559 行 · 第 1/2 页
H
559 行
/*====================================================================================================================
Copyright (c) 2007 Eten China Information System Co., Ltd.
======================================================================================================================
NOTICE:
This document contains information that is confidential and proprietary
to Eten China Information System Co.,Ltd.. No part of this document may
be reproduced in any form whatsoever without written prior approval by
Eten China Information System Co., Ltd..Eten China Information System
Co., Ltd.reserve the right to revise this publication and make changes
without obligation to notify any person of such revisions or changes.
======================================================================================================================*/
#pragma once
#ifndef CAMERAPLUS_HEAD
#define CAMERAPLUS_HEAD
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Filename : CameraPlus.h
Description: the headfile of CameraPlus.dll
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
// defined with this macro as being exported.
#ifdef CAMERAPLUS_EXPORTS
#define CAMERAPLUS_API //__declspec(dllexport)
#else
#define CAMERAPLUS_API __declspec(dllimport)
#endif
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CONSTANT DEFINITION
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#ifdef DEBUG
#define DEBUG_LOGRATE 0;
#endif
#define HCAMERA HANDLE
#define EVENT_CAMERAPLUS_PREVIEW_NAME L"CAMERAPLUSPREVIEW"
#define EVENT_CAMERAPLUS_VIDEO_NAME L"CAMERAPLUSVIDEO"
#ifdef __cplusplus
extern "C" {
#endif
//功能说明:开启Camera Device
//返回值说明: 如果HCAMERA为NULL,表明打开Camera失败,可能原因是设备已经被打开,无法power on,初始设置无效
CAMERAPLUS_API HCAMERA ETOpenCamera();
//功能说明:关闭Camera device
//需要完成的动作: 下达power off的动作
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE,无法关闭返回FALSE
CAMERAPLUS_API BOOL ETCloseCamera(HCAMERA hCam);
//Moudle 类型定义, 不同Moudule类型支持的功能说明有一点差异
#define ETC_CAM_MODE_0 (0) //: OV9650 M300/P360机型使用
#define ETC_CAM_MODE_1 (1) //: OV9653 M500机型使用
#define ETC_CAM_MODE_13M (2) //: Samsung 1.3 M600/G500/G550使用
#define ETC_CAM_MODE_2M (3) //: Samsung 2M X500/G500等使用
#define OV26402MwithMacro (4)
#define SAMSUNG_VGA (5) //for Empire-X
#define MTD9D112_AF (6) //for Empire-X/M
#define MC501CB_VGA (7) //for Empire-M
#define ETC_CAM_MODE_MAX MC501CB_VGA
//功能说明: 查询得到Moudle类型,不同的Moudle类型支持的功能说明有一点差异,buffer起始地址也有不同
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucType[out] 值请看Moudule类型定义
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetModuleType(HCAMERA hCam, UCHAR & ucType);
//日光灯变焦频率定义
#define ETC_CAM_FLU_FRE_50 (0) //50HZ 适合50MHz频率的日光灯
#define ETC_CAM_FLU_FRE_60 (1) //60HZ 适合60MHz频率的日光灯
#define ETC_CAM_FLU_FRE_AUTO (2) //Auto 自动调节
//功能说明:设定日光灯变焦频率,用来解决拍摄日光灯时引发的闪烁问题
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFre[in] ETC_CAM_FLU_FRE_50 <= ucFre <= ETC_CAM_FLU_FRE_AUTO
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetFluFrequency(HCAMERA hCam,UCHAR ucFre);
//功能说明: 得到日光灯变焦频率
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFre[out] ETC_CAM_FLU_FRE_50 <= ucFre <= ETC_CAM_FLU_FRE_AUTO
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetFluFrequency(HCAMERA hCam,UCHAR & ucFre);
//数码变焦等级
#define CAM_ZOOM_MIN 10 //1倍变焦
#define CAM_ZOOM_MAX 40 //4倍变焦
//功能说明: 设定数码变焦的倍数 1-4倍,单位是0.1倍变焦, 如11就是1.1倍
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucZoom[in] CAM_ZOOM_MIN <= ucZoom <= CAM_ZOOM_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetZoom(HCAMERA hCam,UCHAR ucZoom);
//Frame Rate
//Camera internal clock = 48M/(value+1)
//If value = 0, frame rate = 1/15
//If value = 1, frame rate = 1/8
//If value = 4, frame rate = 1/4, and so on.
//数值越小,成像越快
#define CAM_CLK_MIN 0x0 //Frame rate min value
#define CAM_CLK_MAX 0x1F //Frame rate max value
//功能说明:设定快门速度
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFrameRate[int] CAM_CLK_MIN <= ucFrameRate <= CAM_CLK_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetFrameRate(HCAMERA hCam,UCHAR ucFrameRate);
//功能说明:得到当前的快门速度
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFrameRate[out] CAM_CLK_MIN <= ucFrameRate <= CAM_CLK_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetFrameRate(HCAMERA hCam,UCHAR & ucFrameRate);
//自动功能开关值定义 (自动白平衡,自动亮度调节,自动曝光)
#define CAM_ACF_ON 0x1 //自动功能开
#define CAM_ACF_OFF 0x0 //自动功能关
//功能说明:开启或关闭自动调节亮度,当开启自动调节亮度时,Brightness是无法调节的
// 参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFlag[in] : CAM_ACF_ON or CAM_ACF_OFF
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETEnableAGC(HCAMERA hCam,UCHAR ucFlag);
//功能说明:自动调节亮度的功能说明是否开启
// 参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETIsAGCEnable(HCAMERA hCam);
//亮度等级定义
#define CAM_BRIGHTNESS_MIN 0x0 //亮度等级最小值
#define CAM_BRIGHTNESS_MAX 0x3f //亮度等级最大值
//功能说明:设定当前的亮度值,只有AGC为 OFF才有用
// 参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucBright[in] CAM_BRIGHTNESS_MIN <= ucBright <= CAM_BRIGHTNESS_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetBrightness(HCAMERA hCam,UCHAR ucBright);
//功能说明:得到当前的亮度值
// 参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucBright [out] CAM_BRIGHTNESS_MIN <= ucBright <= CAM_BRIGHTNESS_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetBrightness(HCAMERA hCam,UCHAR & ucBright);
//功能说明:开启或关闭自动调节白平衡 ,如果关闭自动调节白平衡功能说明,只能通过调节red,blue的颜色,Brightness,framerate等来调节白平衡的效果
// 参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFlag[in] CAM_ACF_ON or CAM_ACF_OFF
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETEnableAWB(HCAMERA hCam,UCHAR ucFlag);
//功能说明:自动调节白平衡的功能说明是否开启
// 参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETIsAWBEnable(HCAMERA hCam);
//红色值范围定义
#define CAM_RED_MIN 0x0
#define CAM_RED_MAX 0xFF
//功能说明: 设定当前的红光值,只有AWB为 OFF才有用
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucRed[in] CAM_RED_MIN <= ucRed <= CAM_RED_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetRed(HCAMERA hCam,UCHAR ucRed);
//功能说明: 得到当前的红光值
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucRed[out] CAM_RED_MIN <= ucRed <= CAM_RED_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetRed(HCAMERA hCam,UCHAR & ucRed);
//蓝色值范围定义
//#define CAM_BLUE_MIN 0x0
//#define CAM_BLUE_MAX 0xFF
//功能说明: 设定当前的蓝光值,只有AWB为 OFF才有用
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucBlu[out] CAM_RED_MIN <= ucBlue <= CAM_RED_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetBlue(HCAMERA hCam ,UCHAR ucBlue);
//功能说明: 得到当前的蓝色值
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucBlue[out] CAM_RED_MIN <= ucBlue <= CAM_RED_MAX
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETGetBlue(HCAMERA hCam, UCHAR & ucBlue);
//功能说明: 开启或关闭自动曝光,如果关闭自动曝光设定,目前还无法手动调节
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFlag[in] CAM_ACF_ON or CAM_ACF_OFF
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETEnableAEC(HCAMERA hCam, UCHAR ucFlag);
//功能说明: 自动曝光设定是否开启
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETIsAECEnable(HCAMERA hCam);
//功能说明: 开启或关闭闪光灯
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFlag[in] CAM_ACF_ON or CAM_ACF_OFF
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETEnableFlash(HCAMERA hCam , UCHAR ucFlag);
//功能说明: 闪光灯是否开启
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETIsFlashEnable(HCAMERA hCam);
//功能说明: 开启或关闭近拍功能
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFlag[in] CAM_ACF_ON or CAM_ACF_OFF
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETEnableCloser(HCAMERA hCam, UCHAR ucFlag);
//功能说明: 近拍功能是否开启
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETIsCloserEnable(HCAMERA hCam);
//功能说明: 开启或关闭聚光灯功能
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// UCHAR ucFlag[in] CAM_ACF_ON or CAM_ACF_OFF
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETEnableSpotLight(HCAMERA hCam, UCHAR ucFlag);
//功能说明: 聚光灯功能是否开启
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETIsSpotLightEnable(HCAMERA hCam);
//特效效果定义
#define CAM_SE_NOR 0x1 //normal, 没有特效
#define CAM_SE_NEG 0x2 //negative , 底片效果
#define CAM_SE_GRAY 0x4 //grayness, 灰阶效果
#define CAM_SE_RET 0x8 //Retrospective ,怀旧效果
#define CAM_SE_MIR 0x200 //mirror, this SE can combine with other SE,镜像效果,可以与其他效果同时使用
//功能说明: 设定特效
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
// WORD wType[in] 特效效果定义的值之一
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API BOOL ETSetSpecialEffect(HCAMERA hCam, WORD wType);
//功能说明: 得到当前特效
//参数说明: HCAMERA hCam[in] ETOpenCamera返回的值
//返回值说明: 成功返回TRUE, 失败返回FALSE
CAMERAPLUS_API WORD ETGetSpecialEffect(HCAMERA hCam);
//系统window方向
#define ETC_DMDO_0 0
#define ETC_DMDO_90 1
#define ETC_DMDO_180 2
#define ETC_DMDO_270 4
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?