mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Remove SCALE_FACTOR const
This commit is contained in:
parent
e898bbd15a
commit
065a3cb337
@ -50,6 +50,7 @@
|
|||||||
|
|
||||||
#undef PI
|
#undef PI
|
||||||
#define PI (3.14159265f)
|
#define PI (3.14159265f)
|
||||||
|
#define PI_2 (3.14159265f*2.0f)
|
||||||
|
|
||||||
#define kNB_SCALES (64)
|
#define kNB_SCALES (64)
|
||||||
#define kNB_ORIENTATION (256)
|
#define kNB_ORIENTATION (256)
|
||||||
@ -190,19 +191,20 @@ const static uint8_t DESCRIPTION_PAIRS[512][2] = {
|
|||||||
|
|
||||||
|
|
||||||
// simply take average on a square patch, not even gaussian approx
|
// simply take average on a square patch, not even gaussian approx
|
||||||
static uint8_t mean_intensity(image_t *image, i_image_t *i_image,
|
static uint8_t mean_intensity(image_t *image, i_image_t *i_image, int kp_x, int kp_y, uint32_t rot, uint32_t point)
|
||||||
int kp_x, int kp_y, float scale_factor, uint32_t rot, uint32_t point)
|
|
||||||
{
|
{
|
||||||
int pidx = (point/6)%8;
|
int pidx = (point/6)%8;
|
||||||
float alpha, beta, theta = 0;
|
float alpha, beta, theta = 0;
|
||||||
|
|
||||||
theta = (float)rot*2.0f*PI/(float)kNB_ORIENTATION; // orientation of the pattern
|
if (rot) {
|
||||||
|
theta = rot*PI_2/(float)kNB_ORIENTATION; // orientation of the pattern
|
||||||
|
}
|
||||||
beta = PI/n[pidx]*(pidx%2); // orientation offset so that groups of points on each circles are staggered
|
beta = PI/n[pidx]*(pidx%2); // orientation offset so that groups of points on each circles are staggered
|
||||||
alpha = (float)(point%n[pidx])*2.0f*PI/(float)n[pidx]+beta+theta;
|
alpha = (float)(point%n[pidx])*PI_2/(float)n[pidx]+beta+theta;
|
||||||
|
|
||||||
float px = radius[pidx] * arm_cos_f32(alpha) * scale_factor * PATTERN_SCALE;
|
float px = radius[pidx] * PATTERN_SCALE * arm_cos_f32(alpha);
|
||||||
float py = radius[pidx] * arm_sin_f32(alpha) * scale_factor * PATTERN_SCALE;
|
float py = radius[pidx] * PATTERN_SCALE * arm_sin_f32(alpha);
|
||||||
float psigma = sigma[pidx] * scale_factor * PATTERN_SCALE;
|
float psigma = sigma[pidx] * PATTERN_SCALE;
|
||||||
|
|
||||||
// get point position in image
|
// get point position in image
|
||||||
float xf = px+kp_x;
|
float xf = px+kp_x;
|
||||||
@ -266,7 +268,7 @@ void freak_find_keypoints(image_t *image, kp_t *kpts, int kpts_size, bool orient
|
|||||||
} else {
|
} else {
|
||||||
// get the points intensity value in the un-rotated pattern
|
// get the points intensity value in the un-rotated pattern
|
||||||
for (int i=kNB_POINTS; i--;) {
|
for (int i=kNB_POINTS; i--;) {
|
||||||
pointsValue[i] = mean_intensity(image, &i_image, kpts[k].x, kpts[k].y, SCALE_FACTOR, 0, i);
|
pointsValue[i] = mean_intensity(image, &i_image, kpts[k].x, kpts[k].y, 0, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
direction0 = 0;
|
direction0 = 0;
|
||||||
@ -291,7 +293,7 @@ void freak_find_keypoints(image_t *image, kp_t *kpts, int kpts_size, bool orient
|
|||||||
|
|
||||||
// extract descriptor at the computed orientation
|
// extract descriptor at the computed orientation
|
||||||
for (int i=kNB_POINTS; i--;) {
|
for (int i=kNB_POINTS; i--;) {
|
||||||
pointsValue[i] = mean_intensity(image, &i_image, kpts[k].x, kpts[k].y, SCALE_FACTOR, thetaIdx, i);
|
pointsValue[i] = mean_intensity(image, &i_image, kpts[k].x, kpts[k].y, thetaIdx, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int m=kNB_PAIRS; m--;) {
|
for (int m=kNB_PAIRS; m--;) {
|
||||||
@ -335,7 +337,6 @@ int16_t *freak_match_keypoints(kp_t *kpts1, int kpts1_size, kp_t *kpts2, int kpt
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (dist < min_dist) {
|
if (dist < min_dist) {
|
||||||
min_idx = y;
|
min_idx = y;
|
||||||
min_dist = dist;
|
min_dist = dist;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user