fix build with GCC 3.3 on Ubuntu 8.04
This commit is contained in:
parent
4187f11610
commit
db82906067
@ -1560,6 +1560,7 @@ struct DMatch
|
|||||||
class CV_EXPORTS DescriptorMatcher
|
class CV_EXPORTS DescriptorMatcher
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~DescriptorMatcher() {}
|
||||||
/*
|
/*
|
||||||
* Add descriptors to the training set
|
* Add descriptors to the training set
|
||||||
* descriptors Descriptors to add to the training set
|
* descriptors Descriptors to add to the training set
|
||||||
@ -1806,7 +1807,7 @@ void BruteForceMatcher<Distance>::matchImpl( const Mat& descriptors_1, const Mat
|
|||||||
|
|
||||||
for( int i = 0; i < descriptors_1.rows; i++ )
|
for( int i = 0; i < descriptors_1.rows; i++ )
|
||||||
{
|
{
|
||||||
const ValueType* d1 = descriptors_1.ptr<ValueType>(i);
|
const ValueType* d1 = (const ValueType*)(descriptors_1.data + descriptors_1.step*i);
|
||||||
int matchIndex = -1;
|
int matchIndex = -1;
|
||||||
DistanceType matchDistance = std::numeric_limits<DistanceType>::max();
|
DistanceType matchDistance = std::numeric_limits<DistanceType>::max();
|
||||||
|
|
||||||
@ -1814,7 +1815,7 @@ void BruteForceMatcher<Distance>::matchImpl( const Mat& descriptors_1, const Mat
|
|||||||
{
|
{
|
||||||
if( possibleMatch(mask, i, j) )
|
if( possibleMatch(mask, i, j) )
|
||||||
{
|
{
|
||||||
const ValueType* d2 = descriptors_2.ptr<ValueType>(j);
|
const ValueType* d2 = (const ValueType*)(descriptors_2.data + descriptors_2.step*j);
|
||||||
DistanceType curDistance = distance(d1, d2, dimension);
|
DistanceType curDistance = distance(d1, d2, dimension);
|
||||||
if( curDistance < matchDistance )
|
if( curDistance < matchDistance )
|
||||||
{
|
{
|
||||||
@ -1854,13 +1855,13 @@ void BruteForceMatcher<Distance>::matchImpl( const Mat& descriptors_1, const Mat
|
|||||||
|
|
||||||
for( int i = 0; i < descriptors_1.rows; i++ )
|
for( int i = 0; i < descriptors_1.rows; i++ )
|
||||||
{
|
{
|
||||||
const ValueType* d1 = descriptors_1.ptr<ValueType>(i);
|
const ValueType* d1 = (const ValueType*)(descriptors_1.data + descriptors_1.step*i);
|
||||||
|
|
||||||
for( int j = 0; j < descriptors_2.rows; j++ )
|
for( int j = 0; j < descriptors_2.rows; j++ )
|
||||||
{
|
{
|
||||||
if( possibleMatch(mask, i, j) )
|
if( possibleMatch(mask, i, j) )
|
||||||
{
|
{
|
||||||
const ValueType* d2 = descriptors_2.ptr<ValueType>(j);
|
const ValueType* d2 = (const ValueType*)(descriptors_2.data + descriptors_2.step*j);
|
||||||
DistanceType curDistance = distance(d1, d2, dimension);
|
DistanceType curDistance = distance(d1, d2, dimension);
|
||||||
if( curDistance < threshold )
|
if( curDistance < threshold )
|
||||||
{
|
{
|
||||||
|
@ -205,7 +205,7 @@ static void momentsInTile( const cv::Mat& img, double* moments )
|
|||||||
|
|
||||||
for( y = 0; y < size.height; y++ )
|
for( y = 0; y < size.height; y++ )
|
||||||
{
|
{
|
||||||
const T* ptr = img.ptr<T>(y);
|
const T* ptr = (const T*)(img.data + y*img.step);
|
||||||
WT x0 = 0, x1 = 0, x2 = 0;
|
WT x0 = 0, x1 = 0, x2 = 0;
|
||||||
MT x3 = 0;
|
MT x3 = 0;
|
||||||
|
|
||||||
|
@ -171,7 +171,8 @@ void saveCameraParams( const string& filename,
|
|||||||
for( size_t i = 0; i < imagePoints.size(); i++ )
|
for( size_t i = 0; i < imagePoints.size(); i++ )
|
||||||
{
|
{
|
||||||
Mat r = imagePtMat.row(i).reshape(2, imagePtMat.cols);
|
Mat r = imagePtMat.row(i).reshape(2, imagePtMat.cols);
|
||||||
Mat(imagePoints[i]).copyTo(r);
|
Mat imgpti(imagePoints[i]);
|
||||||
|
imgpti.copyTo(r);
|
||||||
}
|
}
|
||||||
fs << "image_points" << imagePtMat;
|
fs << "image_points" << imagePtMat;
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ protected:
|
|||||||
Mat_<double> res = Q * Mat_<double>(4, 1, from);
|
Mat_<double> res = Q * Mat_<double>(4, 1, from);
|
||||||
res /= res(3, 0);
|
res /= res(3, 0);
|
||||||
|
|
||||||
out3d_t pixel_exp = *res.ptr<Vec3d>();
|
out3d_t pixel_exp = *(Vec3d*)res.data;
|
||||||
out3d_t pixel_out = _3dImg(y, x);
|
out3d_t pixel_out = _3dImg(y, x);
|
||||||
|
|
||||||
const int largeZValue = 10000; /* see documentation */
|
const int largeZValue = 10000; /* see documentation */
|
||||||
|
@ -75,6 +75,11 @@ void testReduce( const Mat& src, Mat& sum, Mat& avg, Mat& max, Mat& min, int dim
|
|||||||
sum.setTo(Scalar(0));
|
sum.setTo(Scalar(0));
|
||||||
max.setTo(Scalar(-DBL_MAX));
|
max.setTo(Scalar(-DBL_MAX));
|
||||||
min.setTo(Scalar(DBL_MAX));
|
min.setTo(Scalar(DBL_MAX));
|
||||||
|
|
||||||
|
const Mat_<Type>& src_ = src;
|
||||||
|
Mat_<double>& sum_ = (Mat_<double>&)sum;
|
||||||
|
Mat_<double>& min_ = (Mat_<double>&)min;
|
||||||
|
Mat_<double>& max_ = (Mat_<double>&)max;
|
||||||
|
|
||||||
if( dim == 0 )
|
if( dim == 0 )
|
||||||
{
|
{
|
||||||
@ -82,9 +87,9 @@ void testReduce( const Mat& src, Mat& sum, Mat& avg, Mat& max, Mat& min, int dim
|
|||||||
{
|
{
|
||||||
for( int ci = 0; ci < src.cols; ci++ )
|
for( int ci = 0; ci < src.cols; ci++ )
|
||||||
{
|
{
|
||||||
sum.at<double>(0, ci) += src.at<Type>(ri, ci);
|
sum_(0, ci) += src_(ri, ci);
|
||||||
max.at<double>(0, ci) = std::max( max.at<double>(0, ci), (double)src.at<Type>(ri, ci) );
|
max_(0, ci) = std::max( max_(0, ci), (double)src_(ri, ci) );
|
||||||
min.at<double>(0, ci) = std::min( min.at<double>(0, ci), (double)src.at<Type>(ri, ci) );
|
min_(0, ci) = std::min( min_(0, ci), (double)src_(ri, ci) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -94,9 +99,9 @@ void testReduce( const Mat& src, Mat& sum, Mat& avg, Mat& max, Mat& min, int dim
|
|||||||
{
|
{
|
||||||
for( int ri = 0; ri < src.rows; ri++ )
|
for( int ri = 0; ri < src.rows; ri++ )
|
||||||
{
|
{
|
||||||
sum.at<double>(ri, 0) += src.at<Type>(ri, ci);
|
sum_(ri, 0) += src_(ri, ci);
|
||||||
max.at<double>(ri, 0) = std::max( max.at<double>(ri, 0), (double)src.at<Type>(ri, ci) );
|
max_(ri, 0) = std::max( max_(ri, 0), (double)src_(ri, ci) );
|
||||||
min.at<double>(ri, 0) = std::min( min.at<double>(ri, 0), (double)src.at<Type>(ri, ci) );
|
min_(ri, 0) = std::min( min_(ri, 0), (double)src_(ri, ci) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,37 +124,37 @@ int CV_ReduceTest::checkOp( const Mat& src, int dstType, int opType, const Mat&
|
|||||||
{
|
{
|
||||||
int srcType = src.type();
|
int srcType = src.type();
|
||||||
bool support = false;
|
bool support = false;
|
||||||
if( opType == CV_REDUCE_SUM || opType == CV_REDUCE_AVG )
|
if( opType == CV_REDUCE_SUM || opType == CV_REDUCE_AVG )
|
||||||
{
|
{
|
||||||
if( srcType == CV_8U && (dstType == CV_32S || dstType == CV_32F || dstType == CV_64F) )
|
if( srcType == CV_8U && (dstType == CV_32S || dstType == CV_32F || dstType == CV_64F) )
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_16U && (dstType == CV_32F || dstType == CV_64F) )
|
if( srcType == CV_16U && (dstType == CV_32F || dstType == CV_64F) )
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_16S && (dstType == CV_32F || dstType == CV_64F) )
|
if( srcType == CV_16S && (dstType == CV_32F || dstType == CV_64F) )
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_32F && (dstType == CV_32F || dstType == CV_64F) )
|
if( srcType == CV_32F && (dstType == CV_32F || dstType == CV_64F) )
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_64F && dstType == CV_64F)
|
if( srcType == CV_64F && dstType == CV_64F)
|
||||||
support = true;
|
support = true;
|
||||||
}
|
}
|
||||||
else if( opType == CV_REDUCE_MAX )
|
else if( opType == CV_REDUCE_MAX )
|
||||||
{
|
{
|
||||||
if( srcType == CV_8U && dstType == CV_8U )
|
if( srcType == CV_8U && dstType == CV_8U )
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_32F && dstType == CV_32F )
|
if( srcType == CV_32F && dstType == CV_32F )
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_64F && dstType == CV_64F )
|
if( srcType == CV_64F && dstType == CV_64F )
|
||||||
support = true;
|
support = true;
|
||||||
}
|
}
|
||||||
else if( opType == CV_REDUCE_MIN )
|
else if( opType == CV_REDUCE_MIN )
|
||||||
{
|
{
|
||||||
if( srcType == CV_8U && dstType == CV_8U)
|
if( srcType == CV_8U && dstType == CV_8U)
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_32F && dstType == CV_32F)
|
if( srcType == CV_32F && dstType == CV_32F)
|
||||||
support = true;
|
support = true;
|
||||||
if( srcType == CV_64F && dstType == CV_64F)
|
if( srcType == CV_64F && dstType == CV_64F)
|
||||||
support = true;
|
support = true;
|
||||||
}
|
}
|
||||||
if( !support )
|
if( !support )
|
||||||
return CvTS::OK;
|
return CvTS::OK;
|
||||||
|
|
||||||
@ -158,7 +163,7 @@ int CV_ReduceTest::checkOp( const Mat& src, int dstType, int opType, const Mat&
|
|||||||
reduce( src, _dst, dim, opType, dstType );
|
reduce( src, _dst, dim, opType, dstType );
|
||||||
_dst.convertTo( dst, CV_64FC1 );
|
_dst.convertTo( dst, CV_64FC1 );
|
||||||
if( norm( opRes, dst, NORM_INF ) > eps )
|
if( norm( opRes, dst, NORM_INF ) > eps )
|
||||||
{
|
{
|
||||||
char msg[100];
|
char msg[100];
|
||||||
const char* opTypeStr = opType == CV_REDUCE_SUM ? "CV_REDUCE_SUM" :
|
const char* opTypeStr = opType == CV_REDUCE_SUM ? "CV_REDUCE_SUM" :
|
||||||
opType == CV_REDUCE_AVG ? "CV_REDUCE_AVG" :
|
opType == CV_REDUCE_AVG ? "CV_REDUCE_AVG" :
|
||||||
@ -168,11 +173,11 @@ int CV_ReduceTest::checkOp( const Mat& src, int dstType, int opType, const Mat&
|
|||||||
getMatTypeStr( src.type(), srcTypeStr );
|
getMatTypeStr( src.type(), srcTypeStr );
|
||||||
getMatTypeStr( dstType, dstTypeStr );
|
getMatTypeStr( dstType, dstTypeStr );
|
||||||
const char* dimStr = dim == 0 ? "ROWS" : "COLS";
|
const char* dimStr = dim == 0 ? "ROWS" : "COLS";
|
||||||
|
|
||||||
sprintf( msg, "bad accuracy with srcType = %s, dstType = %s, opType = %s, dim = %s",
|
sprintf( msg, "bad accuracy with srcType = %s, dstType = %s, opType = %s, dim = %s",
|
||||||
srcTypeStr.c_str(), dstTypeStr.c_str(), opTypeStr, dimStr );
|
srcTypeStr.c_str(), dstTypeStr.c_str(), opTypeStr, dimStr );
|
||||||
ts->printf( CvTS::LOG, msg );
|
ts->printf( CvTS::LOG, msg );
|
||||||
return CvTS::FAIL_BAD_ACCURACY;
|
return CvTS::FAIL_BAD_ACCURACY;
|
||||||
}
|
}
|
||||||
return CvTS::OK;
|
return CvTS::OK;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user