⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 atland.hpp

📁 这是个人脸识别程序
💻 HPP
📖 第 1 页 / 共 2 页
字号:
-1, // 11_RJaw3-1, // 12_RJaw2-1, // 13_RJaw1-1, // 14_RTemple7,  // 15_ROuterEyeBrow-1, // 16_ROuterTopEyeBrow-1, // 17_RInnerTopEyeBrow6,  // 18_RInnerEyeBrow-1, // 19_Point19-1, // 20_Point204,  // 21_LOuterEyeBrow-1, // 22_LOuterTopEyeBrow-1, // 23_LInnerTopEyeBrow5,  // 24_LInnerEyeBrow-1, // 25_Point25-1, // 26_Point269,  // 27_LEyeOuter-1, // 28_LEyeTop10, // 29_LEyeInner-1, // 30_LEyeBottom0,  // 31_LEye12, // 32_REyeOuter-1, // 33_REyeTop11, // 34_REyeInner-1, // 35_REyeBottom1,  // 36_REye-1, // 37_LNoseTop-1, // 38_LNoseMid-1, // 39_LNoseBot0-1, // 40_LNoseBot1-1, // 41_Nosebase-1, // 42_RNoseBot1-1, // 43_RNoseBot0-1, // 44_MRNoseMid-1, // 45_RNoseTop15, // 46_LNostril16, // 47_RNostril2,  // 48_LMouthCorner-1, // 49_Mouth49-1, // 50_Mouth5017, // 51_MouthTopOfTopLip-1, // 52_Mouth52-1, // 53_Mouth533,  // 54_RMouthCorner-1, // 55_Mouth55-1, // 56_Mouth5618, // 57_MouthBotOfBotLip-1, // 58_Mouth58-1, // 59_Mouth59-1, // 60_Mouth60-1, // 61_Mouth61-1, // 62_Mouth62-1, // 63_Mouth63-1, // 64_Mouth64-1, // 65_Mouth65-1, // 66_MouthBotOfTopLip14, // 67_NoseTip-1, // 68_LEye0-1, // 69_LEye1-1, // 70_LEye2-1, // 71_LEye3-1, // 72_LEye4-1, // 73_LEye5-1, // 74_LEye6-1, // 75_LEye7-1, // 76_REye0-1, // 77_REye1-1, // 78_REye2-1, // 79_REye3-1, // 80_REye4-1, // 81_REye5-1, // 82_REye6-1, // 83_REye7-1, // 84_Point84-1, // 85_Point85-1, // 86_Point86-1, // 87_Point87-1, // 88_Point88-1, // 89_Point89-1, // 90_Point90-1, // 91_Point91-1, // 92_Point92-1, // 93_Point93-1, // 94_Point94-1, // 95_Point95-1, // 96_Point96-1, // 97_Point97-1, // 98_Point98-1, // 99_Point99};// AR// There are no corresponding internal landmarks for three AR points: left temple, right temple, left jaw, right jaw// We set these two points to "unused" (0,0). This leaves 18 points used of the total of 22.// We do it this way to keep the landmark numbers used internally the same for XM2VTS and BioId and AR// The upshot is that the AR table is identical to igTransBioid, so we use the BioId tablestatic const int igTransAr[CONF_nMaxLandmarks] ={-1, // 00_LTemple-1, // 01_LJaw1-1, // 02_LJaw220, // 03_LJaw3-1, // 04_LJaw4-1, // 05_LJaw5-1, // 06_LJaw619, // 07_TipOfChin-1, // 08_RJaw6-1, // 09_RJaw5-1, // 10_RJaw421, // 11_RJaw3-1, // 12_RJaw2-1, // 13_RJaw1-1, // 14_RTemple7,  // 15_ROuterEyeBrow-1, // 16_ROuterTopEyeBrow-1, // 17_RInnerTopEyeBrow6,  // 18_RInnerEyeBrow-1, // 19_Point19-1, // 20_Point204,  // 21_LOuterEyeBrow-1, // 22_LOuterTopEyeBrow-1, // 23_LInnerTopEyeBrow5,  // 24_LInnerEyeBrow-1, // 25_Point25-1, // 26_Point269,  // 27_LEyeOuter-1, // 28_LEyeTop10, // 29_LEyeInner-1, // 30_LEyeBottom0,  // 31_LEye12, // 32_REyeOuter-1, // 33_REyeTop11, // 34_REyeInner-1, // 35_REyeBottom1,  // 36_REye-1, // 37_LNoseTop-1, // 38_LNoseMid-1, // 39_LNoseBot0-1, // 40_LNoseBot1-1, // 41_Nosebase-1, // 42_RNoseBot1-1, // 43_RNoseBot0-1, // 44_MRNoseMid-1, // 45_RNoseTop15, // 46_LNostril16, // 47_RNostril2,  // 48_LMouthCorner-1, // 49_Mouth49-1, // 50_Mouth5017, // 51_MouthTopOfTopLip-1, // 52_Mouth52-1, // 53_Mouth533,  // 54_RMouthCorner-1, // 55_Mouth55-1, // 56_Mouth5618, // 57_MouthBotOfBotLip-1, // 58_Mouth58-1, // 59_Mouth59-1, // 60_Mouth60-1, // 61_Mouth61-1, // 62_Mouth62-1, // 63_Mouth63-1, // 64_Mouth64-1, // 65_Mouth65-1, // 66_MouthBotOfTopLip14, // 67_NoseTip-1, // 68_LEye0-1, // 69_LEye1-1, // 70_LEye2-1, // 71_LEye3-1, // 72_LEye4-1, // 73_LEye5-1, // 74_LEye6-1, // 75_LEye7-1, // 76_REye0-1, // 77_REye1-1, // 78_REye2-1, // 79_REye3-1, // 80_REye4-1, // 81_REye5-1, // 82_REye6-1, // 83_REye7-1, // 84_MLNeckTop-1, // 85_MLNeckBottom-1, // 86_MRNeckTop-1, // 87_MRNeckBottom-1, // 88_Point88-1, // 89_Point89-1, // 90_Point90-1, // 91_Point91-1, // 92_Point92-1, // 93_Point93-1, // 94_Point94-1, // 95_Point95-1, // 96_Point96-1, // 97_Point97-1, // 98_Point98-1, // 99_Point99};//-----------------------------------------------------------------------------// Fenceposts, experimental#define	CONF_nFencePosts 0		// can't put in masmconf.hpp because masmconf.hpp comes after atland.hpp#if CONF_nFencePostsstatic int igFromFencePosts[] = { 27, 28, 29, 32, 33, 34, };static int igToFencePosts[]   = { 28, 29, 30, 33, 34, 35, };//static int igFromFencePosts[] = { 27, 28, 29 };//static int igToFencePosts[]   = { 28, 29, 30 };#endif//-----------------------------------------------------------------------------// Submodelstypedef enum eSubModel{	SM_All, 		// all points, number of points determined by shape file	SM_20,			// the 20 BioId points, but with the XM2VTS numbering scheme	SM_LEye, 		// left eye points only} eSubModel;static const int gSubModel20[] ={0,	// 00_LTemple-1,	// 01_LJaw1-1,	// 02_LJaw2-1,	// 03_LJaw3-1,	// 04_LJaw4-1,	// 05_LJaw5-1,	// 06_LJaw67,	// 07_TipOfChin-1,	// 08_RJaw6-1,	// 09_RJaw5-1,	// 10_RJaw4-1,	// 11_RJaw3-1,	// 12_RJaw2-1,	// 13_RJaw114,	// 14_RTemple15,	// 15_ROuterEyeBrow-1,	// 16_ROuterTopEyeBrow-1,	// 17_RInnerTopEyeBrow18,	// 18_RInnerEyeBrow-1,	// 19_Point19-1,	// 20_Point2021,	// 21_LOuterEyeBrow-1,	// 22_LOuterTopEyeBrow-1,	// 23_LInnerTopEyeBrow24,	// 24_LInnerEyeBrow-1,	// 25_Point25-1,	// 26_Point2627,	// 27_LEyeOuter-1,	// 28_LEyeTop29,	// 29_LEyeInner-1,	// 30_LEyeBottom31,	// 31_LEye32,	// 32_REyeOuter-1,	// 33_REyeTop34,	// 34_REyeInner-1,	// 35_REyeBottom36,	// 36_REye-1,	// 37_LNoseTop-1,	// 38_LNoseMid-1,	// 39_LNoseBot0-1,	// 40_LNoseBot1-1,	// 41_Nosebase-1,	// 42_RNoseBot1-1,	// 43_RNoseBot0-1,	// 44_MRNoseMid-1,	// 45_RNoseTop46,	// 46_LNostril47,	// 47_RNostril48,	// 48_LMouthCorner-1,	// 49_Mouth49-1,	// 50_Mouth5051,	// 51_MouthTopOfTopLip-1,	// 52_Mouth52-1,	// 53_Mouth5354,	// 54_RMouthCorner-1,	// 55_Mouth55-1,	// 56_Mouth5657,	// 57_MouthBotOfBotLip-1,	// 58_Mouth58-1,	// 59_Mouth59-1,	// 60_Mouth60-1,	// 61_Mouth61-1,	// 62_Mouth62-1,	// 63_Mouth63-1,	// 64_Mouth64-1,	// 65_Mouth65-1,	// 66_MouthBotOfTopLip67,	// 67_NoseTip-1,	// 68_LEye0-1,	// 69_LEye1-1,	// 70_LEye2-1,	// 71_LEye3-1,	// 72_LEye4-1,	// 73_LEye5-1,	// 74_LEye6-1,	// 75_LEye7-1, // 76_REye0-1, // 77_REye1-1, // 78_REye2-1, // 79_REye3-1, // 80_REye4-1, // 81_REye5-1, // 82_REye6-1, // 83_REye7-1, // 84_MLNeckTop-1, // 85_MLNeckBottom-1, // 86_MRNeckTop-1, // 87_MRNeckBottom-1, // 88_Point88-1, // 89_Point89-1, // 90_Point90-1, // 91_Point91-1, // 92_Point92-1, // 93_Point93-1, // 94_Point94-1, // 95_Point95-1, // 96_Point96-1, // 97_Point97-1, // 98_Point98-1, // 99_Point99};static const int gSubModelLEye[] ={-1,	// 00_LTemple-1,	// 01_LJaw1-1,	// 02_LJaw2-1,	// 03_LJaw3-1,	// 04_LJaw4-1,	// 05_LJaw5-1,	// 06_LJaw6-1,	// 07_TipOfChin-1,	// 08_RJaw6-1,	// 09_RJaw5-1,	// 10_RJaw4-1,	// 11_RJaw3-1,	// 12_RJaw2-1,	// 13_RJaw1-1,	// 14_RTemple-1,	// 15_ROuterEyeBrow-1,	// 16_ROuterTopEyeBrow-1,	// 17_RInnerTopEyeBrow-1,	// 18_RInnerEyeBrow-1,	// 19_Point19-1,	// 20_Point20-1,	// 21_LOuterEyeBrow-1,	// 22_LOuterTopEyeBrow-1,	// 23_LInnerTopEyeBrow-1,	// 24_LInnerEyeBrow-1,	// 25_Point25-1,	// 26_Point2627,	// 27_LEyeOuter28,	// 28_LEyeTop29,	// 29_LEyeInner30,	// 30_LEyeBottom31,	// 31_LEye-1,	// 32_REyeOuter-1,	// 33_REyeTop-1,	// 34_REyeInner-1,	// 35_REyeBottom-1,	// 36_REye-1,	// 37_LNoseTop-1,	// 38_LNoseMid-1,	// 39_LNoseBot0-1,	// 40_LNoseBot1-1,	// 41_Nosebase-1,	// 42_RNoseBot1-1,	// 43_RNoseBot0-1,	// 44_MRNoseMid-1,	// 45_RNoseTop-1,	// 46_LNostril-1,	// 47_RNostril-1,	// 48_LMouthCorner-1,	// 49_Mouth49-1,	// 50_Mouth50-1,	// 51_MouthTopOfTopLip-1,	// 52_Mouth52-1,	// 53_Mouth53-1,	// 54_RMouthCorner-1,	// 55_Mouth55-1,	// 56_Mouth56-1,	// 57_MouthBotOfBotLip-1,	// 58_Mouth58-1,	// 59_Mouth59-1,	// 60_Mouth60-1,	// 61_Mouth61-1,	// 62_Mouth62-1,	// 63_Mouth63-1,	// 64_Mouth64-1,	// 65_Mouth65-1,	// 66_MouthBotOfTopLip-1,	// 67_NoseTip-1,	// 68_LEye0-1,	// 69_LEye1-1,	// 70_LEye2-1,	// 71_LEye3-1,	// 72_LEye4-1,	// 73_LEye5-1,	// 74_LEye6-1,	// 75_LEye7-1, // 76_REye0-1, // 77_REye1-1, // 78_REye2-1, // 79_REye3-1, // 80_REye4-1, // 81_REye5-1, // 82_REye6-1, // 83_REye7-1, // 84_MLNeckTop-1, // 85_MLNeckBottom-1, // 86_MRNeckTop-1, // 87_MRNeckBottom-1, // 88_Point88-1, // 89_Point89-1, // 90_Point90-1, // 91_Point91-1, // 92_Point92-1, // 93_Point93-1, // 94_Point94-1, // 95_Point95-1, // 96_Point96-1, // 97_Point97-1, // 98_Point98-1, // 99_Point99};static const int *gSubModelTrans[] =	// must be in same order as eSubModel{NULL,			// SM_AllgSubModel20,	// SM_20,gSubModelLEye,	// SM_LEye,};static const char *sgSubModel[] =		// sub model names{"",			// SM_All"SM20",		// SM_20,"LEye",		// SM_LEye,};//-----------------------------------------------------------------------------// Externsconst tLand *pSelectLand(int nPoints);	// inconst int iTranslatedPoint(int iPoint);bool fConvertShapeToInternalFormat(Mat &Shape, 										// io									int nWantedPoints, eSubModel iSubModel=SM_All, 	// in									int nSynthesizeREyePoints=0,					// in									StringVec *pTagStrings=NULL, int iShape=0);		// in: TODO for debugging, can be removed#define AT_NO_DISCARD_UNDERSCORES	0	// values for fDiscardUnderscores#define AT_DISCARD_UNDERSCORES		1void DiscardGlobalFaceDetectorShapes(ShapeVec *pShapes, StringVec &TagStrings,  	// io						bool fDiscardUnderscores);					// invoid ConvertShapeFromInternalFormat(Mat &Shape, 													// out: file format										const Mat &InShape, const char *sShape, int nWantedPoints);	// in: internal formatint nUsedLandmarks(const Mat &Shape);void CheckHasAllLandmarks(const Mat &Shape);void ShowLandmarkTab(const Mat &Shape, const char sFname[], const char sImageDirs[]);void InitLandTabs(int nWantedPoints, int nPoints);#endif // atland_hpp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -