-
大小: 43.53MB文件類型: .zip金幣: 1下載: 0 次發(fā)布日期: 2023-08-07
- 語言: 其他
- 標(biāo)簽: 粒子濾波??目標(biāo)跟蹤??PF??Tracking??
資源簡介
功能全面的粒子濾波視頻跟蹤程序,本人基于粒子濾波原始程序開發(fā)而成,開發(fā)環(huán)境為VS2010+OPENCV2.2,運行需要OPENCV2以上及GSL1.8支持,程序支持手動選框,暫停與繼續(xù),結(jié)果輸出等功能,資源中的Word文檔中有每個文件及函數(shù)的詳細(xì)說明,非常適合初學(xué)者。
代碼片段和文件信息
//?Getopt.c
//?命令行解析函數(shù)的實現(xiàn)
#include?“getopt.h“
static?const?char*?ID?=?“$Id:?getopt.cv?1.2?2003/10/26?03:10:20?vindaci?Exp?$“;
char*?optarg?=?NULL;
int?optind?=?0;
int?opterr?=?1;
int?optopt?=?‘?‘;
static?char**?prev_argv?=?NULL;????????/*?Keep?a?copy?of?argv?and?argc?to?*/
static?int?prev_argc?=?0;??????????????/*????tell?if?getopt?params?change?*/
static?int?argv_index?=?0;?????????????/*?Option?we‘re?checking?*/
static?int?argv_index2?=?0;????????????/*?Option?argument?we‘re?checking?*/
static?int?opt_offset?=?0;?????????????/*?Index?into?compounded?“-option“?*/
static?int?dashdash?=?0;???????????????/*?True?if?“--“?option?reached?*/
static?int?nonopt?=?0;?????????????????/*?How?many?nonopts?we‘ve?found?*/
static?void?increment_index()
{
/*?Move?onto?the?next?option?*/
if(argv_index? {
while(prev_argv[++argv_index]?&&?prev_argv[argv_index][0]?!=?‘-‘
&&?argv_index? }
else
argv_index++;
opt_offset?=?1;
}
/*?Permutes?argv[]?so?that?the?argument?currently?being?processed?is?moved?to?the?end.?*/
static?int?permute_argv_once()
{
/*?Movability?check?*/
if(argv_index?+?nonopt?>=?prev_argc)
return?1;
/*?Move?the?current?option?to?the?end?bring?the?others?to?front?*/
else
{
char*?tmp?=?prev_argv[argv_index];
/*?Move?the?data?*/
memmove(&prev_argv[argv_index]?&prev_argv[argv_index+1]
sizeof(char**)?*?(prev_argc?-?argv_index?-?1));
prev_argv[prev_argc?-?1]?=?tmp;
nonopt++;
return?0;
}
}
/*?
optstr說明:
1.單個字符,表示選項;
2.單個字符后接一個冒號:表示該選項后必須跟一個參數(shù),
參數(shù)緊跟在選項后或者以空格隔開,該參數(shù)的指針賦給optarg;
3.單個字符后跟兩個冒號,表示該選項后必須跟一個參數(shù),
參數(shù)必須緊跟在選項后不能以空格隔開,該參數(shù)的指針賦給optarg。
*/
int?getopt(int?argc?char**?argv?char*?optstr)
{
int?c?=?0;
/*?If?we?have?new?argv?reinitialize?*/
if(prev_argv?!=?argv?||?prev_argc?!=?argc)
{
/*?Initialize?variables?*/
prev_argv?=?argv;
prev_argc?=?argc;
argv_index?=?1;
argv_index2?=?1;
opt_offset?=?1;
dashdash?=?0;
nonopt?=?0;
}
/*?Jump?point?in?case?we?want?to?ignore?the?current?argv_index?*/
getopt_top:
/*?Misc.?initializations?*/
optarg?=?NULL;
/*?Dash-dash?check?*/
if(argv[argv_index]?&&?!strcmp(argv[argv_index]?“--“))
{
dashdash?=?1;
increment_index();
}
/*?If?we‘re?at?the?end?of?argv?that‘s?it.?*/
if(argv[argv_index]?==?NULL)
{
c?=?-1;
}
/*?Are?we?looking?at?a?string??Single?dash?is?also?a?string?*/
else?if(dashdash?||?argv[argv_index][0]?!=?‘-‘?||?!strcmp(argv[argv_index]?“-“))
{
/*?If?we?want?a?string...?*/
if(optstr[0]?==?‘-‘)
{
c?=?1;
optarg?=?argv[argv_index];
increment_index();
}
/*?If?we?really?don‘t?want?it?(we‘re?in?POSIX?mode)?we‘re?done?*/
else?if(optstr[0]?==?‘+‘?||?getenv(“POSIXLY_CORRECT“))
{
c?=?-1;
/*?Everything?else?is?a?non-opt?argument?*/
nonopt?=?argc?-?argv_index;
}
/*?If?we?mildly?don‘t?want?it?then?move?it?back?*/
else
{
if(!permute_argv_once())?goto?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-04-15?17:39??SingleObTrkPF\
?????目錄???????????0??2015-04-15?17:38??SingleObTrkPF\Debug\
?????文件???????76404??2014-12-13?17:38??SingleObTrkPF\Debug\CL.read.1.tlog
?????文件????????2912??2014-12-13?17:38??SingleObTrkPF\Debug\CL.write.1.tlog
?????文件???????11165??2014-12-13?17:38??SingleObTrkPF\Debug\Getopt.obj
?????文件???????38718??2014-12-13?17:38??SingleObTrkPF\Debug\Observation.obj
?????文件???????34859??2014-12-13?17:38??SingleObTrkPF\Debug\Particles.obj
?????文件???????46923??2014-12-13?17:38??SingleObTrkPF\Debug\SOTPF.obj
?????文件????????2578??2013-04-26?16:47??SingleObTrkPF\Debug\SingleObTrkPF.Build.CppClean.log
?????文件??????????81??2013-04-26?17:11??SingleObTrkPF\Debug\SingleObTrkPF.lastbuildstate
?????文件???????41117??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPF.log
?????文件????????2727??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.Build.CppClean.log
?????文件??????108544??2015-03-17?15:19??SingleObTrkPF\Debug\SingleObTrkPFMod.exe
?????文件?????????406??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.exe.em
?????文件?????????472??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.exe.em
?????文件?????????381??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.exe.intermediate.manifest
?????文件??????606824??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.ilk
?????文件??????????85??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.lastbuildstate
?????文件??????756736??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod.pdb
?????文件?????????222??2014-12-13?17:38??SingleObTrkPF\Debug\SingleObTrkPFMod_manifest.rc
?????文件???????71274??2014-12-13?17:38??SingleObTrkPF\Debug\Utils.obj
?????文件????????3296??2014-12-13?17:38??SingleObTrkPF\Debug\cl.command.1.tlog
?????目錄???????????0??2015-04-15?17:39??SingleObTrkPF\Debug\export\
?????文件?????1814315??2006-07-07?22:08??SingleObTrkPF\Debug\libgsl.dll
?????文件??????230190??2006-07-07?22:08??SingleObTrkPF\Debug\libgslcblas.dll
?????文件???????????2??2014-12-13?17:38??SingleObTrkPF\Debug\li
?????文件???????????2??2014-12-13?17:38??SingleObTrkPF\Debug\li
?????文件???????????2??2014-12-13?17:38??SingleObTrkPF\Debug\li
?????文件???????????2??2014-12-13?17:38??SingleObTrkPF\Debug\li
?????文件???????????2??2014-12-13?17:38??SingleObTrkPF\Debug\li
?????文件???????????2??2014-12-13?17:38??SingleObTrkPF\Debug\li
............此處省略32個文件信息
評論
共有 條評論