• 大小: 12KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: 其他
  • 标签: 自动对焦  AF  auto  focus  

资源简介

相机的自动对焦的算法(auto focus),对不同的镜头的对焦算法

资源截图

代码片段和文件信息

/******************************************************************************

       AF.c
       Auto Focus algorithm file
       Zoran COACH8
       Jun-09-2006
       Jacky Liang

*******************************************************************************/

#include “FlexAF.h“
#include “Copal_AQJ1677.h“
#include “Common.h“
#include “I43_Api.h“
#include “Host.h“
#include “HcelensDrive.h“
#include “captureStillMenu.h“
#include “DB.h“
#include “Ael.h“
#include “menuTask.h“
#include “osd.h“
#include “ErrorMsg.h“
#include “Timing.h“

#define ERROR_PRINT 0
#if ERROR_PRINT
#include 
#define PRINTERROR printf
#else
#define PRINTERROR(format ...)
#endif

#define DBUG_PRINT 0
#if DBUG_PRINT
#include 
#define DPRINT printf
#else
#define DPRINT(format ...)
#endif

#define AF_DATA_PRINT 0
#if AF_DATA_PRINT
#include 
#define PRINTDATA printf
#else
#define PRINTDATA(format ...)
#endif

#define MANUAL_FOCUS 0

STATIC  AF_STAT s_iAfStat = kIdleStat;
STATIC  AF_RESULT s_iAfResult = kAFOutFocus;
STATIC  INT s_iAfPeakPos = 0;
STATIC  INT s_iCoarseAfPeakPos = 0;
STATIC  INT s_iFineAfPeakPos = 0;
STATIC  INT s_iAfCurIdx = 0;
STATIC  AF_VALUE s_AfValue[AF_MAX_frame_NUM];
STATIC AF_MODE s_AfMode = kSingleAF;
STATIC INT s_iBufferframe = 2;
STATIC BOOL s_bFocusCal = FALSE;
STATIC BOOL s_bContinuousAf = FALSE;
STATIC  AF_VALUE s_PeakAfValue;
STATIC  AF_VALUE s_CurframeAfValue;
STATIC  INT  FineScanEnable = 0;
UINT16 PuwPeakIdxHor =0PuwPeakIdxVer=0;
UINT    ThreePointWindowShow=0;
UINT    FErrorNum = 255;
INT     CurveStatus = 0;
BOOL    LeftWindow = 0;
BOOL    CenterWindow = 0;
BOOL    RightWindow = 0;
STATIC UINT16 AF_Windows_X = 0;
STATIC UINT16 AF_Windows_Y = 0;
STATIC UINT16 AF_Windows_Length = 0;
STATIC UINT16 AF_Windows_Width = 0;

/* Jacky Nov-23-2006 comment about scan step: the last table is caculated by Depth of View tool. Because of the frame rate limited we only use the pre-table. */
//CONST INT c_iFineAfScanStepTable[ZOOM_PI_MAX] = { 4 4 3 3 3 2 2 };//{ 25 18 11 8 7 6 5 };
CONST INT c_iFineAfScanStepTable[ZOOM_PI_MAX] = { 2 2 2 2 2 2 2 };//{ 25 18 11 8 7 6 5 };

#if MULTIPLE_AF
STATIC  INT s_iAfmMaxWindow = 0;
STATIC AFM_STATISTICS s_AfmStatistics;
#endif

STATIC ULONG HCE_GetAfValue(ULONG *ulVerEdge ULONG *ulHorEdge);
STATIC INT HCE_GetAfPeakPos(VOID);
STATIC BOOL HCE_ClearupAfValue(AF_VALUE *AfValue INT Idx);
STATIC INT HCE_GetFineAfScanStep(VOID);
STATIC INT HCE_GetCoarseAfScanStep(VOID);
INT HCE_GetAfScanStartPos(VOID);
INT HCE_GetAfScanEndPos(VOID);
STATIC BOOL HCE_CheckAfFallingTrend(VOID);
STATIC VOID HCE_FocusGoPosCB(ULONG data);
STATIC BOOL HCE_SceneChangeDetection(VOID);

void  SinglePeakAlgorithm(UINT16* PeakIdxHorUINT16* PeakIdxVerUINT CoarseOrFine);
void  CoarseScanThr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-05-21 23:22  Af\CVS\
     文件          46  2009-10-25 19:42  Af\CVS\Entries
     文件          29  2009-10-25 19:42  Af\CVS\Repository
     文件          64  2009-10-25 19:42  Af\CVS\Root
     文件       66509  2009-10-25 19:42  Af\FlexAF.c
     目录           0  2011-05-21 23:22  Af\

评论

共有 条评论