1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-30 15:53:03 +04:00

fixed multiple GCC warnings on Ubuntu 11.04

This commit is contained in:
Vadim Pisarevsky
2011-06-14 12:03:34 +00:00
parent e05c488868
commit 22970b8270
22 changed files with 111 additions and 98 deletions
@@ -3433,7 +3433,14 @@ public:
static int isInstance(const void* ptr)
{
static _ClsName dummy;
return *(const void**)&dummy == *(const void**)ptr;
union
{
const void* p;
const void** pp;
} a, b;
a.p = &dummy;
b.p = ptr;
return *a.pp == *b.pp;
}
static void release(void** dbptr)
{
+1 -2
View File
@@ -558,8 +558,7 @@ void polarToCart( InputArray src1, InputArray src2,
{
Mat Mag = src1.getMat(), Angle = src2.getMat();
int type = Angle.type(), depth = Angle.depth(), cn = Angle.channels();
if( !Mag.empty() )
CV_Assert( Angle.size == Mag.size && type == Mag.type() && (depth == CV_32F || depth == CV_64F));
CV_Assert( Mag.empty() || (Angle.size == Mag.size && type == Mag.type() && (depth == CV_32F || depth == CV_64F)));
dst1.create( Angle.dims, Angle.size, type );
dst2.create( Angle.dims, Angle.size, type );
Mat X = dst1.getMat(), Y = dst2.getMat();
+1 -1
View File
@@ -801,7 +801,7 @@ cvRandArr( CvRNG* _rng, CvArr* arr, int disttype, CvScalar param1, CvScalar para
// !!! this will only work for current 64-bit MWC RNG !!!
cv::RNG& rng = _rng ? (cv::RNG&)*_rng : cv::theRNG();
rng.fill(mat, disttype == CV_RAND_NORMAL ?
cv::RNG::NORMAL : cv::RNG::UNIFORM, (cv::Scalar&)param1, (cv::Scalar&)param2 );
cv::RNG::NORMAL : cv::RNG::UNIFORM, cv::Scalar(param1), cv::Scalar(param2) );
}
CV_IMPL void cvRandShuffle( CvArr* arr, CvRNG* _rng, double iter_factor )
+32 -19
View File
@@ -466,8 +466,7 @@ int cv::countNonZero( InputArray _src )
cv::Scalar cv::mean( InputArray _src, InputArray _mask )
{
Mat src = _src.getMat(), mask = _mask.getMat();
if( !mask.empty() )
CV_Assert( mask.type() == CV_8U );
CV_Assert( mask.empty() || mask.type() == CV_8U );
int k, cn = src.channels(), depth = src.depth();
SumFunc func = sumTab[depth];
@@ -526,8 +525,7 @@ cv::Scalar cv::mean( InputArray _src, InputArray _mask )
void cv::meanStdDev( InputArray _src, OutputArray _mean, OutputArray _sdv, InputArray _mask )
{
Mat src = _src.getMat(), mask = _mask.getMat();
if( !mask.empty() )
CV_Assert( mask.type() == CV_8U );
CV_Assert( mask.empty() || mask.type() == CV_8U );
int k, cn = src.channels(), depth = src.depth();
SumSqrFunc func = sumSqrTab[depth];
@@ -1059,13 +1057,20 @@ double cv::norm( InputArray _src, int normType, InputArray _mask )
const Mat* arrays[] = {&src, &mask, 0};
uchar* ptrs[2];
double result = 0;
union
{
double d;
int i;
float f;
}
result;
result.d = 0;
NAryMatIterator it(arrays, ptrs);
int j, total = (int)it.size, blockSize = total, intSumBlockSize = 0, count = 0;
bool blockSum = (normType == NORM_L1 && depth <= CV_16S) ||
(normType == NORM_L2 && depth <= CV_8S);
int isum = 0;
int *ibuf = (int*)&result;
int *ibuf = &result.i;
size_t esz = 0;
if( blockSum )
@@ -1085,7 +1090,7 @@ double cv::norm( InputArray _src, int normType, InputArray _mask )
count += bsz;
if( blockSum && (count + blockSize >= intSumBlockSize || (i+1 >= it.nplanes && j+bsz >= total)) )
{
result += isum;
result.d += isum;
isum = 0;
count = 0;
}
@@ -1100,14 +1105,14 @@ double cv::norm( InputArray _src, int normType, InputArray _mask )
if( depth == CV_64F )
;
else if( depth == CV_32F )
result = (float&)result;
result.d = result.f;
else
result = (int&)result;
result.d = result.i;
}
else if( normType == NORM_L2 )
result = std::sqrt(result);
result.d = std::sqrt(result.d);
return result;
return result.d;
}
@@ -1159,13 +1164,21 @@ double cv::norm( InputArray _src1, InputArray _src2, int normType, InputArray _m
const Mat* arrays[] = {&src1, &src2, &mask, 0};
uchar* ptrs[3];
double result = 0;
union
{
double d;
float f;
int i;
unsigned u;
}
result;
result.d = 0;
NAryMatIterator it(arrays, ptrs);
int j, total = (int)it.size, blockSize = total, intSumBlockSize = 0, count = 0;
bool blockSum = (normType == NORM_L1 && depth <= CV_16S) ||
(normType == NORM_L2 && depth <= CV_8S);
unsigned int isum = 0;
unsigned int *ibuf = (unsigned int*)&result;
unsigned isum = 0;
unsigned *ibuf = &result.u;
size_t esz = 0;
if( blockSum )
@@ -1185,7 +1198,7 @@ double cv::norm( InputArray _src1, InputArray _src2, int normType, InputArray _m
count += bsz;
if( blockSum && (count + blockSize >= intSumBlockSize || (i+1 >= it.nplanes && j+bsz >= total)) )
{
result += isum;
result.d += isum;
isum = 0;
count = 0;
}
@@ -1201,14 +1214,14 @@ double cv::norm( InputArray _src1, InputArray _src2, int normType, InputArray _m
if( depth == CV_64F )
;
else if( depth == CV_32F )
result = (float&)result;
result.d = result.f;
else
result = (int&)result;
result.d = result.u;
}
else if( normType == NORM_L2 )
result = std::sqrt(result);
result.d = std::sqrt(result.d);
return result;
return result.d;
}
+5 -4
View File
@@ -352,7 +352,7 @@ bool CvCaptureCAM_DC1394_v2_CPP::startCapture()
{
dc1394video_modes_t videoModes;
dc1394_video_get_supported_modes(dcCam, &videoModes);
if (userMode < videoModes.num)
if (userMode < (int)videoModes.num)
{
dc1394video_mode_t mode = videoModes.modes[userMode];
code = dc1394_video_set_mode(dcCam, mode);
@@ -665,14 +665,15 @@ bool CvCaptureCAM_DC1394_v2_CPP::setProperty(int propId, double value)
&& dcCam)
{
if (cvRound(value) == CV_CAP_PROP_DC1394_OFF)
{
if ((feature_set.feature[dc1394properties[propId]-DC1394_FEATURE_MIN].on_off_capable)
&& (dc1394_feature_set_power(dcCam, (dc1394feature_t)dc1394properties[propId], DC1394_OFF)==DC1394_SUCCESS))
{
{
feature_set.feature[dc1394properties[propId]-DC1394_FEATURE_MIN].is_on=DC1394_OFF;
return true;
}
else
}
return false;
}
//try to turn the feature ON, feature can be ON and at the same time it can be not capable to change state to OFF
if ( feature_set.feature[dc1394properties[propId]-DC1394_FEATURE_MIN].is_on == DC1394_OFF &&
(feature_set.feature[dc1394properties[propId]-DC1394_FEATURE_MIN].on_off_capable == DC1394_TRUE))
+4 -12
View File
@@ -356,9 +356,7 @@ void cv::accumulate( InputArray _src, InputOutputArray _dst, InputArray _mask )
int sdepth = src.depth(), ddepth = dst.depth(), cn = src.channels();
CV_Assert( dst.size == src.size && dst.channels() == cn );
if( !mask.empty() )
CV_Assert( mask.size == src.size && mask.type() == CV_8U );
CV_Assert( mask.empty() || (mask.size == src.size && mask.type() == CV_8U) );
int fidx = getAccTabIdx(sdepth, ddepth);
AccFunc func = fidx >= 0 ? accTab[fidx] : 0;
@@ -380,9 +378,7 @@ void cv::accumulateSquare( InputArray _src, InputOutputArray _dst, InputArray _m
int sdepth = src.depth(), ddepth = dst.depth(), cn = src.channels();
CV_Assert( dst.size == src.size && dst.channels() == cn );
if( !mask.empty() )
CV_Assert( mask.size == src.size && mask.type() == CV_8U );
CV_Assert( mask.empty() || (mask.size == src.size && mask.type() == CV_8U) );
int fidx = getAccTabIdx(sdepth, ddepth);
AccFunc func = fidx >= 0 ? accSqrTab[fidx] : 0;
@@ -405,9 +401,7 @@ void cv::accumulateProduct( InputArray _src1, InputArray _src2,
CV_Assert( src2.size && src1.size && src2.type() == src1.type() );
CV_Assert( dst.size == src1.size && dst.channels() == cn );
if( !mask.empty() )
CV_Assert( mask.size == src1.size && mask.type() == CV_8U );
CV_Assert( mask.empty() || (mask.size == src1.size && mask.type() == CV_8U) );
int fidx = getAccTabIdx(sdepth, ddepth);
AccProdFunc func = fidx >= 0 ? accProdTab[fidx] : 0;
@@ -430,9 +424,7 @@ void cv::accumulateWeighted( InputArray _src, CV_IN_OUT InputOutputArray _dst,
int sdepth = src.depth(), ddepth = dst.depth(), cn = src.channels();
CV_Assert( dst.size == src.size && dst.channels() == cn );
if( !mask.empty() )
CV_Assert( mask.size == src.size && mask.type() == CV_8U );
CV_Assert( mask.empty() || (mask.size == src.size && mask.type() == CV_8U) );
int fidx = getAccTabIdx(sdepth, ddepth);
AccWFunc func = fidx >= 0 ? accWTab[fidx] : 0;
+1 -1
View File
@@ -103,7 +103,7 @@ public:
for (i=1; i<=num; i++) {
mem[i].prev = mem+i-1;
mem[i].next = mem+i+1;
mem[i].i = mem[i].i = -1;
mem[i].i = -1;
mem[i].T = FLT_MAX;
}
tail = mem+i;
+1 -3
View File
@@ -494,14 +494,12 @@ icvFitLine3D( CvPoint3D32f * points, int count, int dist,
float *w; /* weights */
float *r; /* square distances */
int i, j, k;
float _line[6], _lineprev[6];
float _line[6]={0,0,0,0,0,0}, _lineprev[6]={0,0,0,0,0,0};
float rdelta = reps != 0 ? reps : 1.0f;
float adelta = aeps != 0 ? aeps : 0.01f;
double min_err = DBL_MAX, err = 0;
CvRNG rng = cvRNG(-1);
memset( line, 0, 6*sizeof(line[0]) );
switch (dist)
{
case CV_DIST_L2:
+5 -1
View File
@@ -797,7 +797,11 @@ void CV_MinCircleTest::run_func()
if(!test_cpp)
cvMinEnclosingCircle( points, &center, &radius );
else
cv::minEnclosingCircle(cv::cvarrToMat(points), (cv::Point2f&)center, radius);
{
cv::Point2f tmpcenter;
cv::minEnclosingCircle(cv::cvarrToMat(points), tmpcenter, radius);
center = tmpcenter;
}
}
+1 -1
View File
@@ -214,7 +214,7 @@ int CV_SubdivTest::validate_test_results( int /*test_case_idx*/ )
double xrange = img_size.width*(1 - FLT_EPSILON);
double yrange = img_size.height*(1 - FLT_EPSILON);
subdiv = subdiv = cvCreateSubdivDelaunay2D(
subdiv = cvCreateSubdivDelaunay2D(
cvRect( 0, 0, img_size.width, img_size.height ), storage );
CvSeq* seq = cvCreateSeq( 0, sizeof(*seq), sizeof(CvPoint2D32f), storage );
-2
View File
@@ -715,8 +715,6 @@ cvContourFromContourTree( const CvContourTree* tree,
criteria = cvCheckTermCriteria( criteria, 0., 100 );
lpt = tree->total;
ptr_buf = NULL;
level_buf = NULL;
i_buf = 0;
cur_level = 0;
log_iter = (char) (criteria.type == CV_TERMCRIT_ITER ||
+2 -2
View File
@@ -150,7 +150,7 @@ static void translate_error_to_exception(void)
cvSetErrStatus(0);
}
#define ERRCHK do { if (cvGetErrStatus() != 0) { translate_error_to_exception(); return NULL; } } while (0)
#define ERRCHK do { if (cvGetErrStatus() != 0) { translate_error_to_exception(); return 0; } } while (0)
#define ERRWRAPN(F, N) \
do { \
try \
@@ -3355,7 +3355,7 @@ static PyObject *pycvReshapeMatND(PyObject *self, PyObject *args)
CvMatND *cva;
if (!convert_to_CvMatND(o, &cva, "src"))
return NULL;
ints dims;
ints dims={0,0};
if (new_dims != NULL) {
if (!convert_to_ints(new_dims, &dims, "new_dims"))
return NULL;
+1 -1
View File
@@ -161,7 +161,7 @@ simple_argtype_mapping = {
"int": ("int", "i", "0"),
"float": ("float", "f", "0.f"),
"double": ("double", "d", "0"),
"c_string": ("char*", "s", '""')
"c_string": ("char*", "s", '(char*)""')
}
class ClassProp(object):