Commit 1a9eee39 authored by cbalint13's avatar cbalint13

Fixx win64 compilation.

parent dec629a6
...@@ -497,8 +497,8 @@ static Mat layered_gradient( Mat data, int layer_no = 8 ) ...@@ -497,8 +497,8 @@ static Mat layered_gradient( Mat data, int layer_no = 8 )
Mat cvO; Mat cvO;
// smooth the data matrix // smooth the data matrix
filter2D( data, cvO, CV_32F, Kernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( data, cvO, CV_32F, Kernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( cvO, cvO, CV_32F, Kernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvO, cvO, CV_32F, Kernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
Mat dx(1, data_size, CV_32F); Mat dx(1, data_size, CV_32F);
Mat dy(1, data_size, CV_32F); Mat dy(1, data_size, CV_32F);
...@@ -540,8 +540,8 @@ static void layered_gradient( Mat data, int layer_no, Mat layers ) ...@@ -540,8 +540,8 @@ static void layered_gradient( Mat data, int layer_no, Mat layers )
gaussian_1d(kernel, 5, 0.5f, 0.0f); gaussian_1d(kernel, 5, 0.5f, 0.0f);
Mat Kernel(1, 5, CV_32F, (float*) kernel); Mat Kernel(1, 5, CV_32F, (float*) kernel);
filter2D( cvI, cvI, CV_32F, Kernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvI, cvI, CV_32F, Kernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( cvI, cvI, CV_32F, Kernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvI, cvI, CV_32F, Kernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
Mat dx(1, data_size, CV_32F); Mat dx(1, data_size, CV_32F);
Mat dy(1, data_size, CV_32F); Mat dy(1, data_size, CV_32F);
...@@ -654,8 +654,8 @@ inline void DAISY_Impl::smooth_layers( Mat layers, int h, int w, int layer_numbe ...@@ -654,8 +654,8 @@ inline void DAISY_Impl::smooth_layers( Mat layers, int h, int w, int layer_numbe
float *layer = NULL; float *layer = NULL;
int kernel_size = filter_size( sigma ); int kernel_size = filter_size( sigma );
float kernel[kernel_size]; std::vector<float> kernel(kernel_size);
gaussian_1d( kernel, kernel_size, sigma, 0 ); gaussian_1d( &kernel[0], kernel_size, sigma, 0 );
float* ptr = layers.ptr<float>(0); float* ptr = layers.ptr<float>(0);
...@@ -669,9 +669,9 @@ inline void DAISY_Impl::smooth_layers( Mat layers, int h, int w, int layer_numbe ...@@ -669,9 +669,9 @@ inline void DAISY_Impl::smooth_layers( Mat layers, int h, int w, int layer_numbe
Mat cvI( h, w, CV_32FC1, (float*) layer ); Mat cvI( h, w, CV_32FC1, (float*) layer );
Mat Kernel( 1, kernel_size, CV_32FC1, (float*) kernel ); Mat Kernel( 1, kernel_size, CV_32FC1, &kernel[0] );
filter2D( cvI, cvI, CV_32F, Kernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvI, cvI, CV_32F, Kernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( cvI, cvI, CV_32F, Kernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvI, cvI, CV_32F, Kernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
} }
} }
...@@ -900,8 +900,8 @@ inline void DAISY_Impl::compute_smoothed_gradient_layers() ...@@ -900,8 +900,8 @@ inline void DAISY_Impl::compute_smoothed_gradient_layers()
- m_cube_sigmas.at<double>(r-1) * m_cube_sigmas.at<double>(r-1) ); - m_cube_sigmas.at<double>(r-1) * m_cube_sigmas.at<double>(r-1) );
int kernel_size = filter_size( sigma ); int kernel_size = filter_size( sigma );
float kernel[kernel_size]; std::vector<float> kernel(kernel_size);
gaussian_1d(kernel, kernel_size, (float)sigma, 0); gaussian_1d(&kernel[0], kernel_size, (float)sigma, 0);
#if defined _OPENMP #if defined _OPENMP
#pragma omp parallel for #pragma omp parallel for
...@@ -911,9 +911,9 @@ inline void DAISY_Impl::compute_smoothed_gradient_layers() ...@@ -911,9 +911,9 @@ inline void DAISY_Impl::compute_smoothed_gradient_layers()
Mat cvI( m_image.rows, m_image.cols, CV_32FC1, (float*) prev_cube + th*m_layer_size ); Mat cvI( m_image.rows, m_image.cols, CV_32FC1, (float*) prev_cube + th*m_layer_size );
Mat cvO( m_image.rows, m_image.cols, CV_32FC1, (float*) cube + th*m_layer_size ); Mat cvO( m_image.rows, m_image.cols, CV_32FC1, (float*) cube + th*m_layer_size );
Mat Kernel( 1, kernel_size, CV_32FC1, (float*) kernel ); Mat Kernel( 1, kernel_size, CV_32FC1, &kernel[0] );
filter2D( cvI, cvO, CV_32F, Kernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvI, cvO, CV_32F, Kernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( cvO, cvO, CV_32F, Kernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( cvO, cvO, CV_32F, Kernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
} }
prev_cube = cube; prev_cube = cube;
} }
...@@ -1001,15 +1001,15 @@ inline void DAISY_Impl::compute_scales() ...@@ -1001,15 +1001,15 @@ inline void DAISY_Impl::compute_scales()
if( kernel_size%2 == 0 ) kernel_size++; // kernel size must be odd if( kernel_size%2 == 0 ) kernel_size++; // kernel size must be odd
if( kernel_size < 3 ) kernel_size = 3; // kernel size cannot be smaller than 3 if( kernel_size < 3 ) kernel_size = 3; // kernel size cannot be smaller than 3
float kernel[kernel_size]; std::vector<float> kernel(kernel_size);
gaussian_1d( kernel, kernel_size, sigma, 0 ); gaussian_1d( &kernel[0], kernel_size, sigma, 0 );
Mat Kernel( 1, kernel_size, CV_32F, (float*) kernel ); Mat Kernel( 1, kernel_size, CV_32F, &kernel[0] );
Mat sim, next_sim; Mat sim, next_sim;
// output gaussian image // output gaussian image
filter2D( m_image, sim, CV_32F, Kernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( m_image, sim, CV_32F, Kernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( sim, sim, CV_32F, Kernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( sim, sim, CV_32F, Kernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
Mat max_dog( m_image.rows, m_image.cols, CV_32F, Scalar(0) ); Mat max_dog( m_image.rows, m_image.cols, CV_32F, Scalar(0) );
m_scale_map = Mat( m_image.rows, m_image.cols, CV_32F, Scalar(0) ); m_scale_map = Mat( m_image.rows, m_image.cols, CV_32F, Scalar(0) );
...@@ -1032,13 +1032,13 @@ inline void DAISY_Impl::compute_scales() ...@@ -1032,13 +1032,13 @@ inline void DAISY_Impl::compute_scales()
if( kernel_size%2 == 0 ) kernel_size++; // kernel size must be odd if( kernel_size%2 == 0 ) kernel_size++; // kernel size must be odd
if( kernel_size < 3 ) kernel_size= 3; // kernel size cannot be smaller than 3 if( kernel_size < 3 ) kernel_size= 3; // kernel size cannot be smaller than 3
float next_kernel[kernel_size]; kernel.resize(kernel_size);
gaussian_1d( next_kernel, kernel_size, sigma_inc, 0 ); gaussian_1d( &kernel[0], kernel_size, sigma_inc, 0 );
Mat NextKernel( 1, kernel_size, CV_32F, (float*) next_kernel ); Mat NextKernel( 1, kernel_size, CV_32F, &kernel[0] );
// output gaussian image // output gaussian image
filter2D( sim, next_sim, CV_32F, NextKernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( sim, next_sim, CV_32F, NextKernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( next_sim, next_sim, CV_32F, NextKernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( next_sim, next_sim, CV_32F, NextKernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
#if defined _OPENMP #if defined _OPENMP
...@@ -1066,13 +1066,13 @@ inline void DAISY_Impl::compute_scales() ...@@ -1066,13 +1066,13 @@ inline void DAISY_Impl::compute_scales()
if( kernel_size < 3 ) kernel_size = 3; // kernel size cannot be smaller than 3 if( kernel_size < 3 ) kernel_size = 3; // kernel size cannot be smaller than 3
float filter_kernel[kernel_size]; kernel.resize(kernel_size);
gaussian_1d( filter_kernel, kernel_size, 10.0f, 0 ); gaussian_1d( &kernel[0], kernel_size, 10.0f, 0 );
Mat FilterKernel( 1, kernel_size, CV_32F, (float*) filter_kernel ); Mat FilterKernel( 1, kernel_size, CV_32F, &kernel[0] );
// output gaussian image // output gaussian image
filter2D( m_scale_map, m_scale_map, CV_32F, FilterKernel, Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( m_scale_map, m_scale_map, CV_32F, FilterKernel, Point( -1, -1 ), 0, BORDER_REPLICATE );
filter2D( m_scale_map, m_scale_map, CV_32F, FilterKernel.t(), Point( -1.0f, -1.0f ), 0, BORDER_REPLICATE ); filter2D( m_scale_map, m_scale_map, CV_32F, FilterKernel.t(), Point( -1, -1 ), 0, BORDER_REPLICATE );
#if defined _OPENMP #if defined _OPENMP
#pragma omp parallel for #pragma omp parallel for
...@@ -1174,7 +1174,7 @@ inline void DAISY_Impl::compute_orientations() ...@@ -1174,7 +1174,7 @@ inline void DAISY_Impl::compute_orientations()
{ {
angle = 0; angle = 0;
} }
m_orientation_map.at<float>(y,x) = iangle; m_orientation_map.at<float>(y,x) = (float)iangle;
} }
hist.release(); hist.release();
} }
...@@ -1333,7 +1333,7 @@ inline void DAISY_Impl::i_get_descriptor( double y, double x, int orientation, f ...@@ -1333,7 +1333,7 @@ inline void DAISY_Impl::i_get_descriptor( double y, double x, int orientation, f
yy = y + grid.at<double>(2*region ); yy = y + grid.at<double>(2*region );
xx = x + grid.at<double>(2*region + 1); xx = x + grid.at<double>(2*region + 1);
if ( ! Point( xx, yy ).inside( if ( ! Point2f( (float)xx, (float)yy ).inside(
Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) ) Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) )
) continue; ) continue;
...@@ -1384,7 +1384,7 @@ inline void DAISY_Impl::ni_get_descriptor( double y, double x, int orientation, ...@@ -1384,7 +1384,7 @@ inline void DAISY_Impl::ni_get_descriptor( double y, double x, int orientation,
iy = (int)yy; if( yy - iy > 0.5 ) iy++; iy = (int)yy; if( yy - iy > 0.5 ) iy++;
ix = (int)xx; if( xx - ix > 0.5 ) ix++; ix = (int)xx; if( xx - ix > 0.5 ) ix++;
if ( ! Point( xx, yy ).inside( if ( ! Point2f( (float)xx, (float)yy ).inside(
Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) ) Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) )
) continue; ) continue;
...@@ -1425,7 +1425,7 @@ inline bool DAISY_Impl::i_get_descriptor( double y, double x, int orientation, d ...@@ -1425,7 +1425,7 @@ inline bool DAISY_Impl::i_get_descriptor( double y, double x, int orientation, d
double hy, hx, ry, rx; double hy, hx, ry, rx;
point_transform_via_homography( H, x, y, hx, hy ); point_transform_via_homography( H, x, y, hx, hy );
if ( ! Point( hx, hy ).inside( if ( ! Point2f( (float)hx, (float)hy ).inside(
Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) ) Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) )
) return false; ) return false;
...@@ -1460,7 +1460,7 @@ inline bool DAISY_Impl::i_get_descriptor( double y, double x, int orientation, d ...@@ -1460,7 +1460,7 @@ inline bool DAISY_Impl::i_get_descriptor( double y, double x, int orientation, d
hradius[r] = quantize_radius( (float) radius ); hradius[r] = quantize_radius( (float) radius );
} }
if ( ! Point( hx, hy ).inside( if ( ! Point2f( (float)hx, (float)hy ).inside(
Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) ) Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) )
) continue; ) continue;
...@@ -1489,7 +1489,7 @@ inline bool DAISY_Impl::ni_get_descriptor( double y, double x, int orientation, ...@@ -1489,7 +1489,7 @@ inline bool DAISY_Impl::ni_get_descriptor( double y, double x, int orientation,
point_transform_via_homography(H, x, y, hx, hy ); point_transform_via_homography(H, x, y, hx, hy );
if ( ! Point( hx, hy ).inside( if ( ! Point2f( (float)hx, (float)hy ).inside(
Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) ) Rect( 0, 0, m_image.cols-1, m_image.rows-1 ) )
) return false; ) return false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment