|  | /* | 
|  | * Copyright (C) 2008 The Android Open Source Project | 
|  | * | 
|  | * Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | * you may not use this file except in compliance with the License. | 
|  | * You may obtain a copy of the License at | 
|  | * | 
|  | *      http://www.apache.org/licenses/LICENSE-2.0 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, software | 
|  | * distributed under the License is distributed on an "AS IS" BASIS, | 
|  | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | * See the License for the specific language governing permissions and | 
|  | * limitations under the License. | 
|  | */ | 
|  |  | 
|  | #ifndef btk_DCR_EM_H | 
|  | #define btk_DCR_EM_H | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /** | 
|  | *  Data Carrier object | 
|  | */ | 
|  |  | 
|  | /* ---- includes ----------------------------------------------------------- */ | 
|  |  | 
|  | #include "SDK.h" | 
|  |  | 
|  | /* ---- related objects  --------------------------------------------------- */ | 
|  |  | 
|  | /** data carrier object */ | 
|  | struct btk_DCR; | 
|  |  | 
|  | /* ---- typedefs ----------------------------------------------------------- */ | 
|  |  | 
|  | /** handle for data carrier object */ | 
|  | typedef struct btk_DCR* btk_HDCR; | 
|  |  | 
|  | /** node data structure */ | 
|  | typedef struct | 
|  | { | 
|  | s16p16  x; /* x-coordinate */ | 
|  | s16p16  y; /* y-coordinate */ | 
|  | s32    id; /* node id */ | 
|  | s16p16 reserved; /* reserved for future versions (0) */ | 
|  | } btk_Node; | 
|  |  | 
|  | /** rectangle data structure */ | 
|  | typedef struct | 
|  | { | 
|  | s16p16  xMin; /* x min coordinate */ | 
|  | s16p16  yMin; /* y min coordinate */ | 
|  | s16p16  xMax; /* x max coordinate */ | 
|  | s16p16  yMax; /* y max coordinate */ | 
|  | } btk_Rect; | 
|  |  | 
|  | /** DCR creation parameters */ | 
|  | typedef struct | 
|  | { | 
|  | /* reserved parameter (0) */ | 
|  | u32 reserved; | 
|  |  | 
|  | } btk_DCRCreateParam; | 
|  |  | 
|  | /* ---- constants ---------------------------------------------------------- */ | 
|  |  | 
|  | /* ---- functions ---------------------------------------------------------- */ | 
|  |  | 
|  | /** returns default data carrier parameters */ | 
|  | btk_DECLSPEC | 
|  | btk_DCRCreateParam btk_DCR_defaultParam( void ); | 
|  |  | 
|  | /** creates a data carrier object */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_create( btk_HSDK hsdkA, | 
|  | const btk_DCRCreateParam* pCreateParamA, | 
|  | btk_HDCR* hpdcrA ); | 
|  |  | 
|  | /** closes a data carrier object */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_close( btk_HDCR hdcrA ); | 
|  |  | 
|  | /** deprecated (use assignImage) */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_assignGrayByteImage( btk_HDCR hdcrA, | 
|  | const void* pDataA, | 
|  | u32 widthA, | 
|  | u32 heightA ); | 
|  |  | 
|  | /** assigns a byte gray image referenced by pDataA to the data carrier */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_assignImage( btk_HDCR hdcrA, | 
|  | const void* pDataA, | 
|  | u32 widthA, | 
|  | u32 heightA ); | 
|  |  | 
|  | /** deprecated (use assignImageROI) */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_assignGrayByteImageROI( btk_HDCR hdcrA, | 
|  | const void* pDataA, | 
|  | u32 widthA, | 
|  | u32 heightA, | 
|  | const btk_Rect* pRectA ); | 
|  |  | 
|  | /** assigns a byte gray image referenced by pDataA to the data carrier and | 
|  | * a region of interest given by pRectA. | 
|  | */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_assignImageROI( btk_HDCR hdcrA, | 
|  | const void* pDataA, | 
|  | u32 widthA, | 
|  | u32 heightA, | 
|  | const btk_Rect* pRectA ); | 
|  |  | 
|  | /** extracts facial rectangle */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_getRect( btk_HDCR hdcrA, | 
|  | btk_Rect* pRectA ); | 
|  |  | 
|  | /** returns number of available landmark nodes */ | 
|  | btk_DECLSPEC | 
|  | u32 btk_DCR_nodeCount( btk_HDCR hdcrA ); | 
|  |  | 
|  | /** extracts information about indexed node */ | 
|  | btk_DECLSPEC | 
|  | btk_Status btk_DCR_getNode( btk_HDCR hdcrA, | 
|  | u32 indexA, | 
|  | btk_Node* pNodeA ); | 
|  |  | 
|  | /** returns confidence 8.24 fixed format */ | 
|  | btk_DECLSPEC | 
|  | s8p24 btk_DCR_confidence( btk_HDCR hdcrA ); | 
|  |  | 
|  | /** returns approval flag (0=false; 1=true)*/ | 
|  | btk_DECLSPEC | 
|  | u32 btk_DCR_approved( btk_HDCR hdcrA ); | 
|  |  | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /* btk_DCR_EM_H */ |