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

📄 camapi.h

📁 用于需要Camera驱动场合的驱动的原代码.如手机,监控设备等
💻 H
字号:
#ifndef _CAM_CTRL_API_H_

#define _CAM_CTRL_API_H_

#define MAX_CAPTRUE_FRAME_NUM  15


typedef enum
{
   CAM_CTRL_ERR_NONE,				      
   CAM_CTRL_OPERATION_FAILED,		
   CAM_CTRL_INVALID_PARAMS,
   CAM_CTRL_INVALID_STATE
   
} CAM_CTRL_ERR_ENUM;

typedef enum
{
	CAMCTRL_STATE_UNINITIALIZED,
	CAMCTRL_STATE_INITIALIZED,
	CAMCTRL_STATE_OPEN,
	CAMCTRL_STATE_ON_PREVIEW,
	CAMCTRL_STATE_OFF_PREVIEW,
	CAMCTRL_STATE_ON_CAPTURE,
	CAMCTRL_STATE_CAPTURE_END,
	CAMCTRL_STATE_ON_DECODE,
	CAMCTRL_STATE_DECODE_END,
	CAMCTRL_STATE_ERROR
 
}CAM_CTRL_STATE_ENUM;
typedef enum 
{
	IMAGE_QUALITY_HIGH,
	IMAGE_QUALITY_MIDIUM,
	IMAGE_QUALITY_LOW
}CAM_IMAGE_QUALITY_ENUM;
typedef struct
{
	UINT16 u16Startx;
	UINT16 u16Starty;
	UINT16 u16Width;
	UINT16 u16Height;
}IMAGE_VIEWBOX_STRUCT;

typedef enum
{
   ZOOM_IN,
   ZOOM_OUT
}CAM_IMAGE_ZOOM_ENUM;

typedef enum
{
    BRIGHT_HIGHER,
    BRIGHT_LOWER		

}CAM_IMAGE_BRIGHT_ENUM;

typedef enum
{
	IMAGE_EFFECT_NORMAL=0,
	IMAGE_EFFECT_WARM,
	IMAGE_EFFECT_COOL,
	IMAGE_EFFECT_FOG,
	IMAGE_EFFECT_NEGATION,
	IMAGE_EFFECT_GRAY,
}CAM_IMAGE_EFFECT_ENUM;

typedef enum
{
      OSD_NORMAL_DISP,
      OSD_OVERWRITE_DISP,
      OSD_OVERLAY_DISP
}OSD_MODE_ENUM;

typedef enum
{
     OSD_OVERLAY_XOR=0,
     OSD_OVERLAY_75_25,
     OSD_OVERLAY_50_50,
     OSD_OVERLAY_25_75,
     OSD_OVERLAY_0_100
}OSD_OVERLAY_PARAM_ENUM;

typedef enum 
{
	CSHOT_COUNT_THREE=3,
	CSHOT_COUNT_FIVE  =5,
	CSHOT_COUNT_NINE  =9,
	CSHOUT_COUNT_FIFTEEN=15
}CSHOT_COUNT_ENUM;

typedef enum
{
     FRAME_SAMPLE_ONE =1,
     FRAME_SAMPLE_THREE=3,
     FRAME_SAMPLE_FIVE=5

}FRAME_SAMPLING_RATE_ENUM;

typedef enum
{   
     STILL_BMP,
     STILL_JPEG,
     CONTINUOUS_JPEG,	 	
     MOVIE_JPEG
}IMAGE_TYPE_ENUM;

typedef enum
{
     IMAGE_RES_VGA,
     IMAGE_RES_QVGA,
     IMAGE_RES_QQVGA,
     IMAGE_RES_CLDC ,    // Only for bmp preview
     IMAGE_RES_MOVIE,   // for movie 
     IMAGE_RES_OSD       // for osd

}CAM_IMAGE_RESOLUTION_ENUM;


typedef enum
{	
	CAMCTRL_EVENT_OPERATION_COMPLETE

}CAMCTRL_OPERATION_EVENT_ENUM;

typedef struct
{
     UINT16   u16ClientWinSX;
     UINT16   u16ClientWinSY;	 
     UINT16   u16ClientWinWX;	 
     UINT16   u16ClientWinWY;
     UINT16   u16LCDHeight;
     UINT16   u16LCDWidth;	
     BOOL      bIntEnable;	 

}CAM_CTRL_INIT_PARAM_STRUCT;

typedef	struct
{
	OSD_MODE_ENUM	eOSDMode;
	OSD_OVERLAY_PARAM_ENUM	 eOSDParameter;
	UINT16	u16ChromaKeyValue;
	UINT16   *pOSDImg;
} CAM_OSD_OPTION_STRUCT;


typedef struct
{
	UINT32  u32ImageSize;
	UINT16  u16ImageWidth;	 
	UINT16  u16ImageHeight;

 }CAM_IMAGE_INFO_STRUCT;

typedef struct
{
     UINT32  u32ImageSize;
     UINT16  u16ImageWidth;	 
     UINT16  u16ImageHeight;
     UINT16  *pImgData;	 
     BOOL    bFitInWindow;	 
}CAM_DISP_IMAGE_STRUCT;


typedef	struct
{
	CSHOT_COUNT_ENUM	eCaptureCounts;
	FRAME_SAMPLING_RATE_ENUM	eImageSamplingRate;		
} CAM_CONTINUOUSSHOT_SETTING_STRUCT;


typedef	struct
{
    FRAME_SAMPLING_RATE_ENUM	eImageSamplingRate;		
} CAM_MOVIESHOT_SETTING_STRUCT;


CAM_CTRL_ERR_ENUM  CamCtrl_Init(CAM_CTRL_INIT_PARAM_STRUCT sInitParam,void func(CAMCTRL_OPERATION_EVENT_ENUM Mode, void *Param));
CAM_CTRL_ERR_ENUM  CamCtrl_Open(void);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeZoom(CAM_IMAGE_ZOOM_ENUM eZoom);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeBright(CAM_IMAGE_BRIGHT_ENUM  eBright);
CAM_CTRL_ERR_ENUM CamCtrl_ChangeImageEffect(CAM_IMAGE_EFFECT_ENUM eImgEffect);
CAM_CTRL_ERR_ENUM  CamCtrl_ChangeImageQuality(CAM_IMAGE_QUALITY_ENUM  eImgQuality) ;
CAM_CTRL_ERR_ENUM CamCtrl_ChangeImageSize(CAM_IMAGE_RESOLUTION_ENUM eResolution);

CAM_CTRL_ERR_ENUM CamCtrl_SetSinglePreview(void);
CAM_CTRL_ERR_ENUM CamCtrl_SetOSDPreview(CAM_OSD_OPTION_STRUCT sOSDOption);
CAM_CTRL_ERR_ENUM CamCtrl_SetContinuousPreview(CAM_CONTINUOUSSHOT_SETTING_STRUCT sSetting);
CAM_CTRL_ERR_ENUM CamCtrl_SetMoviePreview(CAM_MOVIESHOT_SETTING_STRUCT  sSetting);
CAM_CTRL_ERR_ENUM CamCtrl_CaptureImage(void);
CAM_CTRL_ERR_ENUM CamCtrl_StopMovieCapture();
CAM_CTRL_ERR_ENUM CamCtrl_StartMoviePlay();
CAM_CTRL_ERR_ENUM CamCtrl_StopMoviePlay();
CAM_CTRL_ERR_ENUM CamCtrl_DispPhoto(CAM_DISP_IMAGE_STRUCT sDispImgInfo);
CAM_CTRL_ERR_ENUM CamCtrl_DownLoadMovie( CAM_DISP_IMAGE_STRUCT sMovieInfo ,UINT32 u32Offset);
CAM_CTRL_ERR_ENUM CamCtrl_UpDateLCDRectangle(UINT16 u16Startx, UINT16 u16Starty,UINT16 u16Endx, UINT16 u16Endy, UINT16*pData);
CAM_CTRL_ERR_ENUM CamCtrl_Close(void);

#endif 

⌨️ 快捷键说明

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