Merge pull request #3786 from jviney:fix_background_subtractor_knn_width_step

This commit is contained in:
Vadim Pisarevsky 2015-03-06 10:17:43 +00:00
commit 8c69266cbf

View File

@ -458,10 +458,8 @@ CV_INLINE void
uchar nShadowDetection
)
{
int size=_src.rows*_src.cols;
int nchannels = CV_MAT_CN(_src.type());
const uchar* pDataCurrent=_src.ptr(0);
uchar* pDataOutput=_dst.ptr(0);
//model
uchar* m_aModel=_bgmodel.ptr(0);
uchar* m_nNextLongUpdate=_nNextLongUpdate.ptr(0);
@ -509,10 +507,12 @@ CV_INLINE void
if (_nLongCounter >= m_nLongUpdate) _nLongCounter = 0;
//go through the image
for (long i=0;i<size;i++)
long i = 0;
for (long y = 0; y < _src.rows; y++)
{
const uchar* data=pDataCurrent;
pDataCurrent=pDataCurrent+nchannels;
for (long x = 0; x < _src.cols; x++)
{
const uchar* data = _src.ptr(y, x);
//update model+ background subtract
uchar include=0;
@ -539,18 +539,19 @@ CV_INLINE void
{
case 0:
//foreground
(* pDataOutput)=255;
*_dst.ptr(y, x) = 255;
break;
case 1:
//background
(* pDataOutput)=0;
*_dst.ptr(y, x) = 0;
break;
case 2:
//shadow
(* pDataOutput)=nShadowDetection;
*_dst.ptr(y, x) = nShadowDetection;
break;
}
pDataOutput++;
i++;
}
}
};