mirror of
https://github.com/opencv/opencv.git
synced 2024-11-29 13:47:32 +08:00
Added ippiComputeThreshold_Otsu to cv::threshold
This commit is contained in:
parent
32b25de583
commit
232c37e827
@ -675,16 +675,29 @@ static double
|
||||
getThreshVal_Otsu_8u( const Mat& _src )
|
||||
{
|
||||
Size size = _src.size();
|
||||
int step = (int) _src.step;
|
||||
if( _src.isContinuous() )
|
||||
{
|
||||
size.width *= size.height;
|
||||
size.height = 1;
|
||||
step = size.width;
|
||||
}
|
||||
|
||||
#if defined(HAVE_IPP) && !defined(HAVE_IPP_ICV_ONLY) && IPP_VERSION_X100 >= 801
|
||||
IppiSize srcSize = { size.width, size.height };
|
||||
Ipp8u thresh;
|
||||
CV_SUPPRESS_DEPRECATED_START
|
||||
IppStatus ok = ippiComputeThreshold_Otsu_8u_C1R(_src.data, step, srcSize, &thresh);
|
||||
CV_SUPPRESS_DEPRECATED_END
|
||||
if (ok >= 0)
|
||||
return thresh;
|
||||
#endif
|
||||
|
||||
const int N = 256;
|
||||
int i, j, h[N] = {0};
|
||||
for( i = 0; i < size.height; i++ )
|
||||
{
|
||||
const uchar* src = _src.data + _src.step*i;
|
||||
const uchar* src = _src.data + step*i;
|
||||
j = 0;
|
||||
#if CV_ENABLE_UNROLLED
|
||||
for( ; j <= size.width - 4; j += 4 )
|
||||
|
Loading…
Reference in New Issue
Block a user