Merge pull request #3786 from jviney:fix_background_subtractor_knn_width_step
This commit is contained in:
commit
8c69266cbf
@ -458,10 +458,8 @@ CV_INLINE void
|
|||||||
uchar nShadowDetection
|
uchar nShadowDetection
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
int size=_src.rows*_src.cols;
|
|
||||||
int nchannels = CV_MAT_CN(_src.type());
|
int nchannels = CV_MAT_CN(_src.type());
|
||||||
const uchar* pDataCurrent=_src.ptr(0);
|
|
||||||
uchar* pDataOutput=_dst.ptr(0);
|
|
||||||
//model
|
//model
|
||||||
uchar* m_aModel=_bgmodel.ptr(0);
|
uchar* m_aModel=_bgmodel.ptr(0);
|
||||||
uchar* m_nNextLongUpdate=_nNextLongUpdate.ptr(0);
|
uchar* m_nNextLongUpdate=_nNextLongUpdate.ptr(0);
|
||||||
@ -509,10 +507,12 @@ CV_INLINE void
|
|||||||
if (_nLongCounter >= m_nLongUpdate) _nLongCounter = 0;
|
if (_nLongCounter >= m_nLongUpdate) _nLongCounter = 0;
|
||||||
|
|
||||||
//go through the image
|
//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;
|
for (long x = 0; x < _src.cols; x++)
|
||||||
pDataCurrent=pDataCurrent+nchannels;
|
{
|
||||||
|
const uchar* data = _src.ptr(y, x);
|
||||||
|
|
||||||
//update model+ background subtract
|
//update model+ background subtract
|
||||||
uchar include=0;
|
uchar include=0;
|
||||||
@ -539,18 +539,19 @@ CV_INLINE void
|
|||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
//foreground
|
//foreground
|
||||||
(* pDataOutput)=255;
|
*_dst.ptr(y, x) = 255;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
//background
|
//background
|
||||||
(* pDataOutput)=0;
|
*_dst.ptr(y, x) = 0;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
//shadow
|
//shadow
|
||||||
(* pDataOutput)=nShadowDetection;
|
*_dst.ptr(y, x) = nShadowDetection;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
pDataOutput++;
|
i++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user