mirror of
https://github.com/opencv/opencv.git
synced 2024-11-30 06:10:02 +08:00
Merge pull request #75 form taka-no-me:comments/2463
This commit is contained in:
commit
bfa466dcbd
@ -31,28 +31,20 @@ int getFeatureMaps(const IplImage* image, const int k, CvLSVMFeatureMap **map)
|
||||
int i, j, kk, c, ii, jj, d;
|
||||
float * datadx, * datady;
|
||||
|
||||
//номер канала в цикле
|
||||
int ch;
|
||||
//переменные вычисления магнитуды
|
||||
float magnitude, x, y, tx, ty;
|
||||
|
||||
IplImage * dx, * dy;
|
||||
int *nearest;
|
||||
float *w, a_x, b_x;
|
||||
|
||||
// ядро для вычисления градиентов изображение по осям x и y
|
||||
float kernel[3] = {-1.f, 0.f, 1.f};
|
||||
CvMat kernel_dx = cvMat(1, 3, CV_32F, kernel);
|
||||
CvMat kernel_dy = cvMat(3, 1, CV_32F, kernel);
|
||||
|
||||
// грачение градиента
|
||||
float * r;
|
||||
// новер сектора куда попало значение градиента
|
||||
// четные иннексы не контрастное изображение
|
||||
// не четные иннексы контрастное изображение
|
||||
int * alfa;
|
||||
|
||||
// векторы границ секторов
|
||||
float boundary_x[NUM_SECTOR + 1];
|
||||
float boundary_y[NUM_SECTOR + 1];
|
||||
float max, dotProd;
|
||||
@ -70,7 +62,7 @@ int getFeatureMaps(const IplImage* image, const int k, CvLSVMFeatureMap **map)
|
||||
|
||||
sizeX = width / k;
|
||||
sizeY = height / k;
|
||||
px = 3 * NUM_SECTOR; // контрастное и не контрастное изображение
|
||||
px = 3 * NUM_SECTOR;
|
||||
p = px;
|
||||
stringSize = sizeX * p;
|
||||
allocFeatureMapObject(map, sizeX, sizeY, p);
|
||||
@ -138,7 +130,6 @@ int getFeatureMaps(const IplImage* image, const int k, CvLSVMFeatureMap **map)
|
||||
}/*for(i = 0; i < width; i++)*/
|
||||
}/*for(j = 0; j < height; j++)*/
|
||||
|
||||
//подсчет весов и смещений
|
||||
nearest = (int *)malloc(sizeof(int ) * k);
|
||||
w = (float*)malloc(sizeof(float) * (k * 2));
|
||||
|
||||
@ -167,7 +158,6 @@ int getFeatureMaps(const IplImage* image, const int k, CvLSVMFeatureMap **map)
|
||||
}/*for(j = k / 2; j < k; j++)*/
|
||||
|
||||
|
||||
//интерполяция
|
||||
for(i = 0; i < sizeY; i++)
|
||||
{
|
||||
for(j = 0; j < sizeX; j++)
|
||||
@ -275,7 +265,7 @@ int normalizeAndTruncate(CvLSVMFeatureMap *map, const float alfa)
|
||||
sizeY -= 2;
|
||||
|
||||
newData = (float *)malloc (sizeof(float) * (sizeX * sizeY * pp));
|
||||
//normalization
|
||||
//normalization
|
||||
for(i = 1; i <= sizeY; i++)
|
||||
{
|
||||
for(j = 1; j <= sizeX; j++)
|
||||
@ -336,12 +326,12 @@ int normalizeAndTruncate(CvLSVMFeatureMap *map, const float alfa)
|
||||
}/*for(ii = 0; ii < 2 * p; ii++)*/
|
||||
}/*for(j = 1; j <= sizeX; j++)*/
|
||||
}/*for(i = 1; i <= sizeY; i++)*/
|
||||
//truncation
|
||||
//truncation
|
||||
for(i = 0; i < sizeX * sizeY * pp; i++)
|
||||
{
|
||||
if(newData [i] > alfa) newData [i] = alfa;
|
||||
}/*for(i = 0; i < sizeX * sizeY * pp; i++)*/
|
||||
//swop data
|
||||
//swap data
|
||||
|
||||
map->numFeatures = pp;
|
||||
map->sizeX = sizeX;
|
||||
@ -354,6 +344,7 @@ int normalizeAndTruncate(CvLSVMFeatureMap *map, const float alfa)
|
||||
|
||||
return LATENT_SVM_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
// Feature map reduction
|
||||
// In each cell we reduce dimension of the feature vector
|
||||
@ -427,7 +418,7 @@ int PCAFeatureMaps(CvLSVMFeatureMap *map)
|
||||
} /*for(ii = 0; ii < yp; ii++)*/
|
||||
}/*for(j = 0; j < sizeX; j++)*/
|
||||
}/*for(i = 0; i < sizeY; i++)*/
|
||||
//swop data
|
||||
//swap data
|
||||
|
||||
map->numFeatures = pp;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user