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:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -797,7 +797,11 @@ void CV_MinCircleTest::run_func()
|
||||
if(!test_cpp)
|
||||
cvMinEnclosingCircle( points, ¢er, &radius );
|
||||
else
|
||||
cv::minEnclosingCircle(cv::cvarrToMat(points), (cv::Point2f&)center, radius);
|
||||
{
|
||||
cv::Point2f tmpcenter;
|
||||
cv::minEnclosingCircle(cv::cvarrToMat(points), tmpcenter, radius);
|
||||
center = tmpcenter;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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 ||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user