Beispiel #1
0
int MakeFeature(
		char* fileName
		){
	char srcpath[FLEN], srcfile[FLEN];

	//read image
	strcpy(srcpath, fileName);

	strcpy(srcfile, srcpath);
	strcat(srcfile, IMG_EXT);

	IplImage* image = cvLoadImage(srcfile, CV_LOAD_IMAGE_COLOR);

	//read depth image
	strcpy(srcfile, srcpath);
	strcat(srcfile, DEPTH_EXT);

	IplImage* depth = cvLoadImage(srcfile, CV_LOAD_IMAGE_GRAYSCALE);

	//read mask image
	strcpy(srcfile, srcpath);
	strcat(srcfile, MASK_EXT);

	IplImage* mask = cvLoadImage(srcfile, CV_LOAD_IMAGE_GRAYSCALE);

	// calc features
	FEATURE feature;
	int retCode = MakeFeatureInMem(image, depth, mask, &feature);

	if (retCode){
		return retCode;
	}
	// save features
	strcpy(srcfile, srcpath);
	strcat(srcfile, FTR_EXT);
	SaveFeature(&feature, srcfile);

	ReleaseFeature(&feature);

	return retCode;
}
/**
 *0.Initialize feature vectors as zero vectors\n
 *1.Extract intra-syllable features\n
 *2.Extract cross-syllable features\n
 *3.Save features
 */
void SRIPitchFeXor::Extract(Utterance* u, vector< vector<double> >& features, bool extractDelta)
{
	DUMP(__PRETTY_FUNCTION__);

	vector<double> backupPitchContour = u->GetPitchContour();
	stylizer->Stylize(u);
	InitializeFeature(u->GetNumberOfSyllables());
	GetFeature(u);
	SaveFeature(features, u->GetNumberOfSyllables());

	if (extractDelta)
	{
		InitializeDeltaFeature(u->GetNumberOfSyllables());
		GetDeltaFeature(u->GetNumberOfSyllables());
		SaveDeltaFeature(features, u->GetNumberOfSyllables());
		ResetDeltaFeature(u->GetNumberOfSyllables());
	}

	ResetFeature(u->GetNumberOfSyllables());
	u->SetPitchContour(backupPitchContour);
}