|
|
|
@ -419,50 +419,50 @@ bool MotionSaliencyBinWangApr2014::templateReplacement( const Mat& finalBFMask, |
|
|
|
|
if( i > 0 && j > 0 && i < ( backgroundModel[z]->rows - 1 ) && j < ( backgroundModel[z]->cols - 1 ) ) |
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j - (int) floor( roiSize / 2 ), i - (int) floor( roiSize / 2 ), roiSize, roiSize ) ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j - (int) floor((float) roiSize / 2 ), i - (int) floor((float) roiSize / 2 ), roiSize, roiSize ) ); |
|
|
|
|
} |
|
|
|
|
else if( i == 0 && j == 0 ) // upper leftt
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j, i, (int) ceil( roiSize / 2 ), (int) ceil( roiSize / 2 ) ) ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j, i, (int) ceil((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ) ) ); |
|
|
|
|
} |
|
|
|
|
else if( j == 0 && i > 0 && i < ( backgroundModel[z]->rows - 1 ) ) // middle left
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j, i - (int) floor( roiSize / 2 ), (int) ceil( roiSize / 2 ), roiSize ) ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j, i - (int) floor((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ), roiSize ) ); |
|
|
|
|
} |
|
|
|
|
else if( i == ( backgroundModel[z]->rows - 1 ) && j == 0 ) //down left
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j, i - (int) floor( roiSize / 2 ), (int) ceil( roiSize / 2 ), (int) ceil( roiSize / 2 ) ) ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j, i - (int) floor((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ) ) ); |
|
|
|
|
} |
|
|
|
|
else if( i == 0 && j > 0 && j < ( backgroundModel[z]->cols - 1 ) ) // upper - middle
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( ( j - (int) floor( roiSize / 2 ) ), i, roiSize, (int) ceil( roiSize / 2 ) ) ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( ( j - (int) floor((float) roiSize / 2 ) ), i, roiSize, (int) ceil((float) roiSize / 2 ) ) ); |
|
|
|
|
} |
|
|
|
|
else if( i == ( backgroundModel[z]->rows - 1 ) && j > 0 && j < ( backgroundModel[z]->cols - 1 ) ) //down middle
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( |
|
|
|
|
Rect( j - (int) floor( roiSize / 2 ), i - (int) floor( roiSize / 2 ), roiSize, (int) ceil( roiSize / 2 ) ) ); |
|
|
|
|
Rect( j - (int) floor((float) roiSize / 2 ), i - (int) floor((float) roiSize / 2 ), roiSize, (int) ceil((float) roiSize / 2 ) ) ); |
|
|
|
|
} |
|
|
|
|
else if( i == 0 && j == ( backgroundModel[z]->cols - 1 ) ) // upper right
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j - (int) floor( roiSize / 2 ), i, (int) ceil( roiSize / 2 ), (int) ceil( roiSize / 2 ) ) ); |
|
|
|
|
backgroundModelROI = mv[0]( Rect( j - (int) floor((float) roiSize / 2 ), i, (int) ceil((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ) ) ); |
|
|
|
|
} |
|
|
|
|
else if( j == ( backgroundModel[z]->cols - 1 ) && i > 0 && i < ( backgroundModel[z]->rows - 1 ) ) // middle - right
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( |
|
|
|
|
Rect( j - (int) floor( roiSize / 2 ), i - (int) floor( roiSize / 2 ), (int) ceil( roiSize / 2 ), roiSize ) ); |
|
|
|
|
Rect( j - (int) floor((float) roiSize / 2 ), i - (int) floor((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ), roiSize ) ); |
|
|
|
|
} |
|
|
|
|
else if( i == ( backgroundModel[z]->rows - 1 ) && j == ( backgroundModel[z]->cols - 1 ) ) // down right
|
|
|
|
|
{ |
|
|
|
|
split( *backgroundModel[z], mv ); |
|
|
|
|
backgroundModelROI = mv[0]( |
|
|
|
|
Rect( j - (int) floor( roiSize / 2 ), i - (int) floor( roiSize / 2 ), (int) ceil( roiSize / 2 ), (int) ceil( roiSize / 2 ) ) ); |
|
|
|
|
Rect( j - (int) floor((float) roiSize / 2 ), i - (int) floor((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ), (int) ceil((float) roiSize / 2 ) ) ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* Check if the value of current pixel BA in potentialBackground model is already contained in at least one of its neighbors'
|
|
|
|
|