Updating STAR detector and FREAK descriptor to work with large and/or 16-bit images

This commit is contained in:
sprice
2013-12-04 18:13:34 -08:00
parent 458ac2592b
commit 2cc11e2c6a
4 changed files with 226 additions and 141 deletions

6
modules/imgproc/src/sumpixels.cpp Normal file → Executable file
View File

@@ -217,6 +217,8 @@ static void integral_##suffix( T* src, size_t srcstep, ST* sum, size_t sumstep,
DEF_INTEGRAL_FUNC(8u32s, uchar, int, double)
DEF_INTEGRAL_FUNC(8u32f, uchar, float, double)
DEF_INTEGRAL_FUNC(8u64f, uchar, double, double)
DEF_INTEGRAL_FUNC(16u64f, ushort, double, double)
DEF_INTEGRAL_FUNC(16s64f, short, double, double)
DEF_INTEGRAL_FUNC(32f, float, float, double)
DEF_INTEGRAL_FUNC(32f64f, float, double, double)
DEF_INTEGRAL_FUNC(64f, double, double, double)
@@ -307,6 +309,10 @@ void cv::integral( InputArray _src, OutputArray _sum, OutputArray _sqsum, Output
func = (IntegralFunc)integral_8u32f;
else if( depth == CV_8U && sdepth == CV_64F )
func = (IntegralFunc)integral_8u64f;
else if( depth == CV_16U && sdepth == CV_64F )
func = (IntegralFunc)integral_16u64f;
else if( depth == CV_16S && sdepth == CV_64F )
func = (IntegralFunc)integral_16s64f;
else if( depth == CV_32F && sdepth == CV_32F )
func = (IntegralFunc)integral_32f;
else if( depth == CV_32F && sdepth == CV_64F )