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

📄 testjesorsky.cc

📁 torch tracking code, it is a good code
💻 CC
字号:
const char *help = "\progname: testJesorsky.cc\n\code2html: This program tests jesorskyGTMeasurer class methods.\n\version: Torch3 vision2.0, 2004-2005\n\(c) Sebastien Marcel (marcel@idiap.ch)\n";#include "FrontalFace19x19.h"#include "FrontalFace15x20.h"#include "jesorskyGTMeasurer.h"#include "Rectangle2D.h"#include "CmdLine.h"#include "DiskXFile.h"using namespace Torch;int main(int argc, char *argv[]){   	char *posfilename;	int x_corner, y_corner;	int width, height;	int facemodel_id;	real J;	bool verbose;		CmdLine cmd;	cmd.setBOption("write log", false);	//cmd.info(help);		cmd.addText("\nArguments:");	cmd.addSCmdArg("posfile", &posfilename, "pos file");	cmd.addICmdArg("x", &x_corner, "x corner");	cmd.addICmdArg("y", &y_corner, "y corner");	cmd.addICmdArg("w", &width, "width");	cmd.addICmdArg("h", &height, "height");	cmd.addText("\nArguments:");	cmd.addICmdOption("-facemodel", &facemodel_id, 2, "facemodel (1=15x20, 2=19x19)");	cmd.addRCmdOption("-jesorsky", &J, 0.25, "Jesorsky threshold");	cmd.addBCmdOption("-verbose", &verbose, false, "verbose");		cmd.read(argc, argv);	Allocator *allocator = new Allocator;	//	DiskXFile *pos_file = new DiskXFile(posfilename, "r");	Point2D l_eye;	Point2D r_eye;			// IDIAP format	real x, y;	pos_file->scanf("%f", &x);	pos_file->scanf("%f", &y);				l_eye.x = x; 	l_eye.y = y;	pos_file->scanf("%f", &x);	pos_file->scanf("%f", &y);	r_eye.x = x; 	r_eye.y = y;	delete pos_file;	print(" + Eyes: (%.1f-%.1f) - (%.1f-%.1f)\n", l_eye.x, l_eye.y, r_eye.x, r_eye.y);	//	FaceModel *face_model = NULL;	if(facemodel_id == 1)	{		message("Using 15x20 face model.");		face_model = new(allocator) FrontalFace15x20(1);	}	else if(facemodel_id == 2) 	{		message("Using 19x19 face model.");		face_model = new(allocator) FrontalFace19x19(1);	}	else error("face model %d unknown", facemodel_id);		face_model->setBOption("verbose", false);	pos_file = new DiskXFile(posfilename, "r");	face_model->loadXFile(pos_file);	delete pos_file;		face_model->ldm2bbx();	Point2D BBX0(face_model->bbx_points[0]);	Point2D BBX1(face_model->bbx_points[1]);	Point2D BBX2(face_model->bbx_points[2]);	Point2D BBX3(face_model->bbx_points[3]);		print(" + BBX: %s %s %s %s (%dx%d)\n", 	      				BBX0.sprint(), 	      				BBX1.sprint(), 	      				BBX2.sprint(), 	      				BBX3.sprint(),					face_model->bbx_width, face_model->bbx_height);		jesorskyGTMeasurer *jesorsky = new(allocator) jesorskyGTMeasurer(face_model, true, J);	jesorsky->setBOption("verbose", verbose);	jesorsky->load(posfilename);	message("Measure with GT");	real the_measure;		jesorsky->measure(4, face_model->bbx_points, &the_measure);	//	Rectangle2D rect(x_corner, y_corner, width, height);		sPoint2D bbx[4];	bbx[0] = rect.P0.get();	bbx[1] = rect.P1.get();	bbx[2] = rect.P2.get();	bbx[3] = rect.P3.get();		print(" + RECT: %s\n", rect.sprint()); 	message("Measure with input:");	jesorsky->measure(4, bbx, &the_measure);	delete allocator;	return(0);}

⌨️ 快捷键说明

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