std::vector<int> indexChange)
{
generateKernel(radiusList, numberList, dMax, dMin, indexChange);
+ threshold = 20;
+ octaves = 3;
}
void
if (dx + dy > 2)
{
// now the calculation:
- uchar* ptr = image.data + x_left + imagecols * y_top;
+ const uchar* ptr = image.data + x_left + imagecols * y_top;
// first the corners:
ret_val = A * int(*ptr);
ptr += dx + 1;
}
// now the calculation:
- uchar* ptr = image.data + x_left + imagecols * y_top;
+ const uchar* ptr = image.data + x_left + imagecols * y_top;
// first row:
ret_val = A * int(*ptr);
ptr++;
ret_val += B * int(*ptr);
// middle ones:
ptr += imagecols - dx - 1;
- uchar* end_j = ptr + dy * imagecols;
+ const uchar* end_j = ptr + dy * imagecols;
for (; ptr < end_j; ptr += imagecols - dx - 1)
{
ret_val += r_x_1_i * int(*ptr);
int t2;
// the feature orientation
- uchar* ptr = descriptors.data;
+ const uchar* ptr = descriptors.data;
for (size_t k = 0; k < ksize; k++)
{
cv::KeyPoint& kp = keypoints[k];
{
const cv::Mat& scores = pyramid_[layer].scores();
const int scorescols = scores.cols;
- uchar* data = scores.data + y_layer * scorescols + x_layer;
+ const uchar* data = scores.data + y_layer * scorescols + x_layer;
// decision tree:
const uchar center = (*data);
data--;
const int r_y = (int)((yf - y) * 1024);
const int r_x_1 = (1024 - r_x);
const int r_y_1 = (1024 - r_y);
- uchar* ptr = image.data + x + y * imagecols;
+ const uchar* ptr = image.data + x + y * imagecols;
// just interpolate:
ret_val = (r_x_1 * r_y_1 * int(*ptr));
ptr++;
const int r_y1_i = (int)(r_y1 * scaling);
// now the calculation:
- uchar* ptr = image.data + x_left + imagecols * y_top;
+ const uchar* ptr = image.data + x_left + imagecols * y_top;
// first row:
ret_val = A * int(*ptr);
ptr++;
ret_val += B * int(*ptr);
// middle ones:
ptr += imagecols - dx - 1;
- uchar* end_j = ptr + dy * imagecols;
+ const uchar* end_j = ptr + dy * imagecols;
for (; ptr < end_j; ptr += imagecols - dx - 1)
{
ret_val += r_x_1_i * int(*ptr);