Esempio n. 1
0
/* Create a 3D index array into which gradient values are accumulated.
   After filling array, copy values back into vec.
*/
void KeySampleVec(float *vec, KKeypoint key, Image grad, Image ori,
		  float scale, float row, float col)
{
   int i, j, k, v;
   float index[IndexSize][IndexSize][OriSize];

   /* Initialize index array. */
   for (i = 0; i < IndexSize; i++)
      for (j = 0; j < IndexSize; j++)
         for (k = 0; k < OriSize; k++)
            index[i][j][k] = 0.0;
    
   KeySample(index, key, grad, ori, scale, row, col);
      
   /* Unwrap the 3D index values into 1D vec. */
   v = 0;
   for (i = 0; i < IndexSize; i++)
     for (j = 0; j < IndexSize; j++)
       for (k = 0; k < OriSize; k++)
	 vec[v++] = index[i][j][k];
}
Esempio n. 2
0
/* Create a 3D index array into which gradient values are accumulated.
   After filling array, copy values back into vec.
*/
void KeySampleVec(
	keypoint& key, const flimage& grad,
	float scale, float row, float col,siftPar &par)
{
	
	float index[IndexSize][IndexSize][OriSize];

	/* Initialize index array. */
	for (int i = 0; i < IndexSize; i++)
		for (int j = 0; j < IndexSize; j++)
			for (int k = 0; k < OriSize; k++)
				index[i][j][k] = 0.0;


	KeySample(index, key, grad, scale, row, col, par);


	/* Unwrap the 3D index values into 1D vec. */
	int v = 0;
	for (int i = 0; i < IndexSize; i++)
		for (int j = 0; j < IndexSize; j++)
			for (int k = 0; k < OriSize; k++)
				key.vec[v++] = index[i][j][k];
}