• 大小: 14KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: C/C++
  • 标签: kcf  c语言  目标跟踪  

资源简介

经典的目标跟踪算法KCF的代码,标准C语言编写,方便移植

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include “fft.h“


int reverse_matrix_128[]={
0  64  32  96  16  80  48 112   8  72  40 104  24  88  56 120
4  68  36 100  20  84  52 116  12  76  44 108  28  92  60 124
2  66  34  98  18  82  50 114  10  74  42 106  26  90  58 122
6  70  38 102  22  86  54 118  14  78  46 110  30  94  62 126
1  65  33  97  17  81  49 113   9  73  41 105  25  89  57 121
5  69  37 101  21  85  53 117  13  77  45 109  29  93  61 125
3  67  35  99  19  83  51 115  11  75  43 107  27  91  59 123
7  71  39 103  23  87  55 119  15  79  47 111  31  95  63 127
};

int reverse_matrix_64[]={ 
03216488402456
436205212442860
234185010422658   
638225414463062    
13317499412557   
537215313452961
335195111432759
    739235515473163};
int reverse_matrix_32[]={  
01682442012282181026
    62214301179255211329
31911277231531};

void conjugate_complex(int Ncomplexdouble *incomplexdouble *out)
{
int i;
for(i=0;i {
out[i].imag = -in[i].imag;
out[i].real = in[i].real;
}
}

void c_abs(complexdouble f[]double out[]int n)
{
float t;
int i = 0;
for(i=0;i {
out[i]= f[i].real * f[i].real+ f[i].imag * f[i].imag;
}
}

void c_plus(complexdouble acomplexdouble bcomplexdouble *c)
{
c->real = a.real + b.real;
c->imag = a.imag + b.imag;
}

void c_sub(complexdouble acomplexdouble bcomplexdouble *c)
{
c->real = a.real - b.real;
c->imag = a.imag - b.imag;
}

void c_mul(complexdouble acomplexdouble bcomplexdouble *c)
{
c->real = a.real * b.real - a.imag * b.imag;
c->imag = a.real * b.imag + a.imag * b.real;
}

void c_mul_conjugate(complexdouble acomplexdouble bcomplexdouble *c)
{
c->real = a.real * b.real - a.imag * b.imag*(-1);
c->imag = a.real * (-1)*b.imag + a.imag * b.real;
}

void c_div(complexdouble acomplexdouble bcomplexdouble *c)
{
//
c->real = (a.real * b.real + a.imag * b.imag)/(b.real * b.real +b.imag * b.imag);
//c->real = (a.real * b.real + a.imag * b.imag);
//c->real = (b.real * b.real +b.imag * b.imag);
//
c->imag=(a.imag * b.real - a.real * b.imag)/(b.real * b.real +b.imag * b.imag);
//c->imag=(a.imag * b.real - a.real * b.imag);
}

void Wn_i(int nint icomplexdouble *Wnchar flag)
{
Wn->real = cos(2*PI*i/n);
if(flag == 1)
Wn->imag = -sin(2*PI*i/n);
else if(flag == 0)
Wn->imag = sin(2*PI*i/n);
}


void fft(int Nint Mcomplexdouble *in)
{
complexdouble twn;
int ijkmnlr;
int lalblc;

///*----M=log2(N)----*/
//for(i=NM=1;(i=i/2)!=1;M++); 
///*--------*/
// for(i=1j=N/2;i<=N-2;i++)
// {
// if(i // {
// t=in[j];
// in[j]=in[i];
// in[i]=t;
// }
// k=N/2;
// while(k<=j)
// {
// j=j-k;
// k=k/2;
// }
// j=j+k;
// }
/*----FFT----*/
for(m=1;m<=M;m++)
{
la=pow(2.0m); 
lb=l

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-12-28 08:45  kcf_tracker-master\
     文件         249  2016-12-28 08:45  kcf_tracker-master\README.md
     文件       24217  2016-12-28 08:45  kcf_tracker-master\RunTracker.c
     文件       22039  2016-12-28 08:45  kcf_tracker-master\Tracker.c
     文件        1416  2016-12-28 08:45  kcf_tracker-master\Tracker.h
     文件        6366  2016-12-28 08:45  kcf_tracker-master\fft.c
     文件         920  2016-12-28 08:45  kcf_tracker-master\fft.h
     文件         780  2016-12-28 08:45  kcf_tracker-master\para.h

评论

共有 条评论