Merge remote-tracking branch 'origin/2.4' into merge-2.4

Conflicts:
	modules/core/include/opencv2/core/types_c.h
	modules/gpu/src/cuda/imgproc.cu
	modules/gpu/src/cuda/safe_call.hpp
	modules/gpu/src/error.cpp
	modules/gpu/src/imgproc.cpp
	modules/imgproc/src/distransform.cpp
	modules/imgproc/src/shapedescr.cpp
	modules/python/src2/cv2.cpp
	modules/python/src2/cv2.cv.hpp
This commit is contained in:
Roman Donchenko
2013-07-22 18:38:57 +04:00
32 changed files with 358 additions and 215 deletions

View File

@@ -266,6 +266,8 @@ public:
}
private:
calcHist1D_Invoker operator=(const calcHist1D_Invoker&);
T* p_[one];
uchar* mask_;
int step_[one];
@@ -338,6 +340,8 @@ public:
}
private:
calcHist2D_Invoker operator=(const calcHist2D_Invoker&);
T* p_[two];
uchar* mask_;
int step_[two];
@@ -428,6 +432,8 @@ public:
}
private:
calcHist3D_Invoker operator=(const calcHist3D_Invoker&);
T* p_[three];
uchar* mask_;
int step_[three];
@@ -767,8 +773,7 @@ calcHist_( std::vector<uchar*>& _ptrs, const std::vector<int>& _deltas,
#ifdef HAVE_TBB
calcHist1D_Invoker<T> body(_ptrs, _deltas, hist, _uniranges, size[0], dims, imsize);
parallel_for(BlockedRange(0, imsize.height), body);
return;
#endif
#else
double a = uniranges[0], b = uniranges[1];
int sz = size[0], d0 = deltas[0], step0 = deltas[1];
const T* p0 = (const T*)ptrs[0];
@@ -791,14 +796,15 @@ calcHist_( std::vector<uchar*>& _ptrs, const std::vector<int>& _deltas,
((int*)H)[idx]++;
}
}
#endif //HAVE_TBB
return;
}
else if( dims == 2 )
{
#ifdef HAVE_TBB
calcHist2D_Invoker<T> body(_ptrs, _deltas, hist, _uniranges, size, dims, imsize, hstep);
parallel_for(BlockedRange(0, imsize.height), body);
return;
#endif
#else
double a0 = uniranges[0], b0 = uniranges[1], a1 = uniranges[2], b1 = uniranges[3];
int sz0 = size[0], sz1 = size[1];
int d0 = deltas[0], step0 = deltas[1],
@@ -827,6 +833,8 @@ calcHist_( std::vector<uchar*>& _ptrs, const std::vector<int>& _deltas,
((int*)(H + hstep0*idx0))[idx1]++;
}
}
#endif //HAVE_TBB
return;
}
else if( dims == 3 )
{