diff --git a/modules/core/include/opencv2/core/operations.hpp b/modules/core/include/opencv2/core/operations.hpp index 9fce43b346..87e6ad8ff0 100644 --- a/modules/core/include/opencv2/core/operations.hpp +++ b/modules/core/include/opencv2/core/operations.hpp @@ -2311,13 +2311,13 @@ inline Point LineIterator::pos() const template inline AutoBuffer<_Tp, fixed_size>::AutoBuffer() { - ptr = alignPtr(buf, 16); + ptr = buf; size = fixed_size; } template inline AutoBuffer<_Tp, fixed_size>::AutoBuffer(size_t _size) { - ptr = alignPtr(buf, 16); + ptr = buf; size = fixed_size; allocate(_size); } @@ -2339,11 +2339,10 @@ template inline void AutoBuffer<_Tp, fixed_size template inline void AutoBuffer<_Tp, fixed_size>::deallocate() { - _Tp* buf0 = alignPtr(buf, 16); - if( ptr != buf0 ) + if( ptr != buf ) { cv::deallocate<_Tp>(ptr, size); - ptr = buf0; + ptr = buf; size = fixed_size; } } diff --git a/modules/core/src/convert.cpp b/modules/core/src/convert.cpp index 58243d192c..76d117f089 100644 --- a/modules/core/src/convert.cpp +++ b/modules/core/src/convert.cpp @@ -1130,11 +1130,19 @@ cvMixChannels( const CvArr** src, int src_count, CvArr** dst, int dst_count, const int* from_to, int pair_count ) { - cv::AutoBuffer buf; + cv::AutoBuffer buf(src_count + dst_count); int i; for( i = 0; i < src_count; i++ ) + { + printf("%d. %p ", i, src[i]); + if( src[i] ) + { + CvMat m, *pm = cvGetMat(src[i], &m); + printf( "%d x %d, type = %d\n", pm->rows, pm->cols, CV_MAT_TYPE(pm->type)); + } buf[i] = cv::cvarrToMat(src[i]); + } for( i = 0; i < dst_count; i++ ) buf[i+src_count] = cv::cvarrToMat(dst[i]); cv::mixChannels(&buf[0], src_count, &buf[src_count], dst_count, from_to, pair_count); diff --git a/modules/core/src/stat.cpp b/modules/core/src/stat.cpp index e514d80d02..f0c2e0be3c 100644 --- a/modules/core/src/stat.cpp +++ b/modules/core/src/stat.cpp @@ -60,7 +60,7 @@ template static inline Scalar rawToScalar(const T& v) \****************************************************************************************/ template -static size_t sum_(const T* src0, const uchar* mask, ST* dst, int len, int cn ) +static int sum_(const T* src0, const uchar* mask, ST* dst, int len, int cn ) { const T* src = src0; if( !mask ) @@ -537,7 +537,7 @@ void cv::meanStdDev( const InputArray& _src, OutputArray _mean, OutputArray _sdv const Mat* arrays[] = {&src, &mask, 0}; uchar* ptrs[2]; NAryMatIterator it(arrays, ptrs); - int total = it.size, blockSize = total, intSumBlockSize = 0; + int total = (int)it.size, blockSize = total, intSumBlockSize = 0; int j, count = 0, nz0 = 0; AutoBuffer _buf(cn*4); double *s = (double*)_buf, *sq = s + cn; @@ -954,11 +954,11 @@ normDiffL2_(const T* src1, const T* src2, const uchar* mask, ST* _result, int le #define CV_DEF_NORM_FUNC(L, suffix, type, ntype) \ -static int norm##L##_##suffix(const type* src, const uchar* mask, ntype* r, size_t len, int cn) \ +static int norm##L##_##suffix(const type* src, const uchar* mask, ntype* r, int len, int cn) \ { return norm##L##_(src, mask, r, len, cn); } \ static int normDiff##L##_##suffix(const type* src1, const type* src2, \ - const uchar* mask, ntype* r, size_t len, int cn) \ -{ return normDiff##L##_(src1, src2, mask, r, len, cn); } + const uchar* mask, ntype* r, int len, int cn) \ +{ return normDiff##L##_(src1, src2, mask, r, (int)len, cn); } #define CV_DEF_NORM_ALL(suffix, type, inftype, l1type, l2type) \ CV_DEF_NORM_FUNC(Inf, suffix, type, inftype) \ diff --git a/modules/features2d/src/matchers.cpp b/modules/features2d/src/matchers.cpp index 82ae5c19db..6a4cafda55 100755 --- a/modules/features2d/src/matchers.cpp +++ b/modules/features2d/src/matchers.cpp @@ -162,7 +162,7 @@ void DescriptorMatcher::DescriptorCollection::getLocalIdx( int globalDescIdx, in CV_Assert( (globalDescIdx>=0) && (globalDescIdx < size()) ); std::vector::const_iterator img_it = std::upper_bound(startIdxs.begin(), startIdxs.end(), globalDescIdx); --img_it; - imgIdx = img_it - startIdxs.begin(); + imgIdx = (int)(img_it - startIdxs.begin()); localDescIdx = globalDescIdx - (*img_it); } diff --git a/modules/imgproc/src/contours.cpp b/modules/imgproc/src/contours.cpp index bc57a01b00..485476afb9 100644 --- a/modules/imgproc/src/contours.cpp +++ b/modules/imgproc/src/contours.cpp @@ -1485,14 +1485,14 @@ void cv::findContours( const InputOutputArray _image, OutputArrayOfArrays _conto return; } Seq all_contours(cvTreeToNodeSeq( _ccontours, sizeof(CvSeq), storage )); - size_t i, total = all_contours.size(); + int i, total = (int)all_contours.size(); _contours.create(total, 1, 0, -1, true); SeqIterator it = all_contours.begin(); for( i = 0; i < total; i++, ++it ) { CvSeq* c = *it; ((CvContour*)c)->color = (int)i; - _contours.create(c->total, 1, CV_32SC2, i, true); + _contours.create((int)c->total, 1, CV_32SC2, i, true); Mat ci = _contours.getMat(i); CV_Assert( ci.isContinuous() ); cvCvtSeqToArray(c, ci.data); @@ -1583,7 +1583,7 @@ void cv::drawContours( InputOutputArray _image, const InputArrayOfArrays& _conto for( i = first; i < last; i++ ) { - Mat ci = _contours.getMat(i); + Mat ci = _contours.getMat((int)i); if( ci.empty() ) continue; int npoints = ci.checkVector(2, CV_32S);