17f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/* 27f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 37f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * 47f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 57f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * you may not use this file except in compliance with the License. 67f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * You may obtain a copy of the License at 77f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * 87f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 97f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * 107f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 117f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 127f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * See the License for the specific language governing permissions and 147f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * limitations under the License. 157f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project */ 167f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 177f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#ifndef btk_FaceFinder_EM_H 187f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#define btk_FaceFinder_EM_H 197f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 207f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#ifdef __cplusplus 217f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectextern "C" { 227f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#endif 237f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 247f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** 257f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project * Face Finder object 267f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project */ 277f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 287f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/* ---- includes ----------------------------------------------------------- */ 297f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 307f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#include "DCR.h" 317f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 327f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/* ---- related objects --------------------------------------------------- */ 337f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 347f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** face finder object */ 357f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectstruct btk_FaceFinder; 367f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 377f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/* ---- typedefs ----------------------------------------------------------- */ 387f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 397f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** handle for face finder object */ 407f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projecttypedef struct btk_FaceFinder* btk_HFaceFinder; 417f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 427f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** FaceFinder creation parameters */ 437f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projecttypedef struct 447f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project{ 457f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project /* reserved parameter */ 467f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project u32 reserved; 477f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 487f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project /* obaque module parameters */ 497f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project void* pModuleParam; 507f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 517f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project /* size of module parameters */ 527f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project u32 moduleParamSize; 537f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 547f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project /* maximum number of detectable faces */ 557f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project u32 maxDetectableFaces; 567f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 577f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project} btk_FaceFinderCreateParam; 587f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 597f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/* ---- constants ---------------------------------------------------------- */ 607f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 617f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/* ---- functions ---------------------------------------------------------- */ 627f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 637f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** returns default FaceFinder parameters */ 647f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 657f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_FaceFinderCreateParam btk_FaceFinder_defaultParam( void ); 667f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 677f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** creates a face finder object */ 687f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 697f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_Status btk_FaceFinder_create( btk_HSDK hsdkA, /* sdk handle */ 707f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project const btk_FaceFinderCreateParam* pCreateParamA, 717f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project btk_HFaceFinder* hpFaceFinderA ); 727f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 737f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** closes a face finder object */ 747f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 757f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_Status btk_FaceFinder_close( btk_HFaceFinder hFaceFinderA ); 767f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 777f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** sets eye distance range */ 787f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 797f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_Status btk_FaceFinder_setRange( btk_HFaceFinder hFaceFinderA, 807f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project u32 minDistA, 817f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project u32 maxDistA ); 827f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 837f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** passes a DCR object and triggers image processing */ 847f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 857f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_Status btk_FaceFinder_putDCR( btk_HFaceFinder hFaceFinderA, 867f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project btk_HDCR hdcrA ); 877f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 887f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** returns number of faces that can be retrieved from face finder with function btk_FaceFinder_getDCR */ 897f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 907f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectu32 btk_FaceFinder_faces( btk_HFaceFinder hFaceFinderA ); 917f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 927f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** retrieves a DCR object for each detected face */ 937f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 947f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_Status btk_FaceFinder_getDCR( btk_HFaceFinder hFaceFinderA, 957f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project btk_HDCR hdcrA ); 967f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 977f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project/** processes DCR for single face detection */ 987f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_DECLSPEC 997f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Projectbtk_Status btk_FaceFinder_process( btk_HFaceFinder hFaceFinderA, 1007f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project btk_HDCR hdcrA ); 1017f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 1027f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#ifdef __cplusplus 1037f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project} 1047f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#endif 1057f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project 1067f81d9b6fa7f2ec161b682622db577a28c90b49fThe Android Open Source Project#endif /* btk_FaceFinder_EM_H */ 107