차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
ko:bs2_extracetemplatefaceex [2022/06/30 07:21]
mark [샘플코드]
ko:bs2_extracetemplatefaceex [2023/11/02 09:45] (현재)
kkshin
줄 5: 줄 5:
  
 ===== BS2_ExtractTemplateFaceEx ===== ===== BS2_ExtractTemplateFaceEx =====
-[+ 2.7.1] ''​FaceStation F2''​ 얼굴이 포함된 이미지를 가지고, template을 추출합니다. \\+[+ 2.7.1] ''​FaceStation F2''​ ''​BioStation 3''​ 얼굴이 포함된 이미지를 가지고, template을 추출합니다. \\
 AOC 카드에 template을 담기 위해 사용합니다. AOC 카드에 template을 담기 위해 사용합니다.
 +<callout type="​warning"​ icon="​true">​
 +**주의 사항** \\
 +[[BS2_GetNormalizedImageFaceEx]]를 통해 추출된 이미지를 전달하여야 합니다.
 +</​callout>​
 +
 ==== 함수 ==== ==== 함수 ====
 <code cpp> <code cpp>
줄 27: 줄 32:
 성공적으로 수행될 경우 ''​BS_SDK_SUCCESS''​를 반환하고,​ 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. ​ 성공적으로 수행될 경우 ''​BS_SDK_SUCCESS''​를 반환하고,​ 에러가 발생할 경우 상응하는 에러 코드를 반환합니다. ​
 \\  ​ \\  ​
-==== 샘플코드 ==== 
-C++ 
-<code cpp> 
-int UserControl::​extractTemplateFaceEx(BS2_DEVICE_ID id, BS2TemplateEx&​ templateEx) 
-{ 
- BS2SimpleDeviceInfoEx deviceInfoEx = { 0, }; 
- 
- int sdkResult = BS2_GetDeviceInfoEx(context_,​ id, NULL, &​deviceInfoEx);​ 
- if (BS_SDK_SUCCESS != sdkResult) 
- { 
- TRACE("​BS2_GetDeviceInfoEx call failed: %d", sdkResult); 
- return sdkResult; 
- } 
- 
- bool faceExScanSupported = (deviceInfoEx.supported & BS2SimpleDeviceInfoEx::​BS2_SUPPORT_FACE_EX_SCAN) ==  
-        BS2SimpleDeviceInfoEx::​BS2_SUPPORT_FACE_EX_SCAN;​ 
- if (faceExScanSupported) 
- { 
- try 
- { 
- if (Utility::​isYes("​Do you want to extract faceEx template from image?"​)) 
- { 
- string imagePath = Utility::​getInput<​string>​("​Enter the face image path and name:"​);//​C:​\88withphone.jpg 
- uint32_t size = Utility::​getResourceSize(imagePath);​ 
- shared_ptr<​uint8_t>​ buffer(new uint8_t[size],​ ArrayDeleter<​uint8_t>​());​ 
- 
- size_t dataOffset = offsetof(BS2FaceEx,​ rawImageData);​ 
- size_t faceSize = dataOffset + size; 
- if (Utility::​getResourceFromFile(imagePath,​ buffer, size)) 
- { 
- sdkResult = BS2_ExtractTemplateFaceEx(context_,​ id, buffer.get(),​ size, 0, &​templateEx);​ 
- if (BS_SDK_SUCCESS != sdkResult) 
- { 
- TRACE("​BS2_ExtractTemplateFaceEx call failed: %d", sdkResult); 
- return sdkResult; 
- } 
- print(templateEx);​ 
- } 
- } 
- } 
- catch (const std::​exception&​) 
- { 
- 
- } 
- } 
- 
- return sdkResult; 
-} 
-BS2_ReleaseObject(uidObj);​ 
-</​code>​