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

📄 normbindata.cc

📁 torch tracking code, it is a good code
💻 CC
字号:
const char *help = "\progname: normbindata.cc\n\code2html: This program reads a bindata and normalizes it.\n\version: Torch3 vision2.0, 2004-2005\n\(c) Sebastien Marcel (marcel@idiap.ch)\n";#include "ImageGray.h"#include "DiskXFile.h"#include "CmdLine.h"using namespace Torch;int main(int argc, char *argv[]){	char *filename_in;	char *filename_out;	bool verbose;		CmdLine cmd;	cmd.setBOption("write log", false);	cmd.info(help);	cmd.addText("\nArguments:");	cmd.addSCmdArg("imagefile in", &filename_in, "image file in");	cmd.addSCmdArg("output filename", &filename_out, "output bindata filename");	cmd.addText("\nOptions:");	cmd.addBCmdOption("-verbose", &verbose, false, "verbose");	cmd.read(argc, argv);		//	int n_frames;	int frame_size;	DiskXFile *pf_in;	DiskXFile *pf_out;	// Load	pf_in = new DiskXFile(filename_in, "r");	pf_in->read(&n_frames, sizeof(int), 1);	pf_in->read(&frame_size, sizeof(int), 1);	Sequence *seqimage = new Sequence(1, frame_size);		//	pf_out = new DiskXFile(filename_out, "w");	if(pf_out == NULL)	{  		error("Opening bindata file %s", filename_out);          		return 0;	}		if(verbose)	{		print("Output file ...\n");		print("   n_inputs = %d\n", frame_size);		print("   n_patterns = %d\n", n_frames);  	}	//	pf_out->write(&n_frames, sizeof(int), 1);	pf_out->write(&frame_size, sizeof(int), 1);		//	real *mean = NULL;	real *stdv = NULL;	mean = new real [frame_size];	stdv = new real [frame_size];				for(int i = 0 ; i < frame_size ; i++)	{		mean[i] = 0;		stdv[i] = 0;	}	for(int p = 0 ; p < n_frames ; p++)	{	   	pf_in->read(seqimage->frames[0], sizeof(real), frame_size);				for(int i = 0 ; i < frame_size ; i++)		{			real z = seqimage->frames[0][i];			mean[i] += z;			stdv[i] += z*z;		}	}	for(int i = 0 ; i < frame_size ; i++)	{		mean[i] /= (real) n_frames;		stdv[i] /= (real) n_frames;		stdv[i] -= mean[i]*mean[i];		if(stdv[i] <= 0)		{			warning("MeanVarNorm: input column %d has a null stdv. Replaced by 1.", i);			stdv[i] = 1.;		}		else stdv[i] = sqrt(stdv[i]);	}	delete pf_in;	pf_in = new DiskXFile(filename_in, "r");	pf_in->read(&n_frames, sizeof(int), 1);	pf_in->read(&frame_size, sizeof(int), 1);			for(int p = 0 ; p < n_frames ; p++)	{	   	pf_in->read(seqimage->frames[0], sizeof(real), frame_size);		for(int i = 0 ; i < frame_size ; i++)		{		   	real src_ = seqimage->frames[0][i];			src_ = (src_ - mean[i]) / stdv[i];			pf_out->write(&src_, sizeof(real), 1);   		}	}			delete [] mean;	delete [] stdv;	delete pf_in;	delete pf_out;	delete seqimage;	return 0;}

⌨️ 快捷键说明

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