工作问题总结(mtk平台);
1、关于 人脸坐标的获取方式;
在三方挂载点的plugin 下的property设置一个关于人脸信息的属性;如下
prop.mFaceData = eFD_Current;
在通过halmetadate中的MTK_FEATURE_FACE_RECTANGLES 的key值来获取人脸信息,包括人脸个数和人脸坐标;
{
IMetadata::IEntry entryFaceRects = pHalMeta->entryFor(MTK_FEATURE_FACE_RECTANGLES);
const size_t faceDataCount = entryFaceRects.count();
MY_LOGD(“the number of face is %d”,faceDataCount);
mParam.TranFD_info.numbers_of_face=faceDataCount;
for(size_t i = 0; i < faceDataCount; i++)
{
MRect faceRect = entryFaceRects.itemAt(i, Type2Type());
mParam.TranFD_info.tran_fdInfo[i].fdTopLeft.x = faceRect.p.x;
mParam.TranFD_info.tran_fdInfo[i].fdTopLeft.y = faceRect.p.y;
mParam.TranFD_info.tran_fdInfo[i].fdBotRight.x = faceRect.s.w;
mParam.TranFD_info.tran_fdInfo[i].fdBotRight.y = faceRect.s.h;
}
追加:
此种方式获取应该会影响到流程的性能,因为他每一帧都要走到FDnode下去申请,这个部分的占用可以通过trace可以看到,每一次进去在FD的耗时大约在30ms左右,如果是多帧的算法,每次都走进去的话这部分耗时还是挺大的,这个方式的应用需要注意;
另外对于prop.mFaceData = eFD_Current;
prop.mFaceData = eFD_Cache;
目前看改成prop.mFaceData = eFD_Cache因该会减少这部分的耗时,待后续验证将对比trace和分析贴出
MTK平台获取人脸坐标方式
最新推荐文章于 2024-05-11 11:56:44 发布