pGrayBuf = __pFaceDetectorImpl->ConvertToGrayN(byteBuffer, dim, format);
pProcessedData = std::unique_ptr<FaceBuffer>(new (std::nothrow) FaceBuffer(*pGrayBuf, dim));
- SysTryCatch(NID_UIX, pProcessedData != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed."
+ SysTryCatch(NID_UIX, pProcessedData.get() != null, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[%s] Memory allocation failed."
, GetErrorMessage(E_OUT_OF_MEMORY));
delete pGrayBuf;
{
result r = E_SUCCESS;
ClearLastResult();
+ int capacity = 0;
std::unique_ptr< Tizen::Base::ByteBuffer > pGrayBuf(new (std::nothrow) Tizen::Base::ByteBuffer());
SysTryReturn(NID_UIX, pGrayBuf != null, null, E_OUT_OF_MEMORY, "[%s] Memory allocation failed."
, GetErrorMessage(E_OUT_OF_MEMORY));
- r = pGrayBuf->Construct(resolution.width * resolution.height);
+ capacity = byteBuffer.GetCapacity();
+ r = pGrayBuf->Construct(capacity);
SysTryReturn(NID_UIX, r == E_SUCCESS, null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(r));
switch (format)
break;
case PIXEL_FORMAT_YCbCr420_PLANAR:
- memcpy((unsigned char*) (pGrayBuf->GetPointer()),
- (unsigned char*) byteBuffer.GetPointer(), sizeof(unsigned char) * resolution.width * resolution.height);
+ memcpy((unsigned char*)(pGrayBuf->GetPointer()), (unsigned char*)(byteBuffer.GetPointer()), capacity);
break;
default:
, GetErrorMessage(E_FAILURE));
}
- //isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, "/usr/share/face-engine/data/");
isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
//SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
, GetErrorMessage(E_FAILURE));
}
- //isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2,"/usr/share/face-engine/data/");
isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
//SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
, GetErrorMessage(E_FAILURE));
}
- //isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2,"/usr/share/face-engine/data/");
isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
//SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
Tizen::Base::ByteBuffer*
_FaceRecognizerImpl::ExtractFeatureN(const Tizen::Base::ByteBuffer& grayBuffer, const Tizen::Graphics::Dimension& resolution,
- const Tizen::Graphics::Rectangle& faceRect)
+ const Tizen::Graphics::Rectangle& faceRect, Tizen::Graphics::Point eyeLeft,
+ Tizen::Graphics::Point eyeRight)
{
ClearLastResult();
result r = E_SUCCESS;
__pFaceEngineInfoTemp->g_FaceROI[0].y = faceRect.y;
__pFaceEngineInfoTemp->g_FaceROI[0].width = faceRect.width;
__pFaceEngineInfoTemp->g_FaceROI[0].height = faceRect.height;
+ __pFaceEngineInfoTemp->g_EyeROI[0].lx = eyeLeft.x;
+ __pFaceEngineInfoTemp->g_EyeROI[0].ly = eyeLeft.y;
+ __pFaceEngineInfoTemp->g_EyeROI[0].rx = eyeRight.x;
+ __pFaceEngineInfoTemp->g_EyeROI[0].ry = eyeRight.y;
- //caApp_RunFaceDetection((unsigned char*)grayBuffer, resolution.width, resolution.height, __pFaceEngineInfoTemp);
- //isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2,"/usr/share/face-engine/data/");
isValidFREngine = caApp_FtsExInit(FR_MODE_MPL2, _FACE_ENGINE_BIN_PATH);
//SysTryCatch(NID_UIX, isValidFREngine == _FACEENGINE_RETURN_SUCCESS, r = E_FAILURE, E_FAILURE, "[%s] Failed caApp_FtsExInit", GetErrorMessage(E_FAILURE));
* It can be happened when the detected faces are too small or the image is not clear. @n
* This is the result of a normal operation. @n
*/
- Tizen::Base::ByteBuffer* ExtractFeatureN(const Tizen::Base::ByteBuffer& grayBuffer, const Tizen::Graphics::Dimension& resolution, const Tizen::Graphics::Rectangle& faceRect);
+ Tizen::Base::ByteBuffer* ExtractFeatureN(const Tizen::Base::ByteBuffer& grayBuffer, const Tizen::Graphics::Dimension& resolution, const Tizen::Graphics::Rectangle& faceRect,
+ Tizen::Graphics::Point eyeLeft, Tizen::Graphics::Point eyeRight);
/**
* Extracts the eye state.