@ -56,65 +56,65 @@ int validateToInt(size_t sz)
# define cG (int)(0.587*(1 << SCALE) + 0.5)
# define cB ((1 << SCALE) - cR - cG)
void icvCvt_BGR2Gray_8u_C3C1R ( const uchar * rg b, int rg b_step,
void icvCvt_BGR2Gray_8u_C3C1R ( const uchar * bgr , int bgr _step ,
uchar * gray , int gray_step ,
Size size , int _swap_rb )
{
int i ;
for ( ; size . height - - ; gray + = gray_step )
{
short cRG B0 = cR ;
short cRG B2 = cB ;
if ( _swap_rb ) std : : swap ( cRG B0 , cRG B2 ) ;
for ( i = 0 ; i < size . width ; i + + , rg b + = 3 )
short cBGR 0 = cB ;
short cBGR 2 = cR ;
if ( _swap_rb ) std : : swap ( cBGR 0 , cBGR 2 ) ;
for ( i = 0 ; i < size . width ; i + + , bgr + = 3 )
{
int t = descale ( rg b[ 0 ] * cRG B0 + rg b[ 1 ] * cG + rg b[ 2 ] * cRG B2 , SCALE ) ;
int t = descale ( bgr [ 0 ] * cBGR 0 + bgr [ 1 ] * cG + bgr [ 2 ] * cBGR 2 , SCALE ) ;
gray [ i ] = ( uchar ) t ;
}
rg b + = rg b_step - size . width * 3 ;
bgr + = bgr _step - size . width * 3 ;
}
}
void icvCvt_BGRA2Gray_16u_CnC1R ( const ushort * rg b, int rg b_step,
void icvCvt_BGRA2Gray_16u_CnC1R ( const ushort * bgr , int bgr _step ,
ushort * gray , int gray_step ,
Size size , int ncn , int _swap_rb )
{
int i ;
for ( ; size . height - - ; gray + = gray_step )
{
short cRG B0 = cR ;
short cRG B2 = cB ;
if ( _swap_rb ) std : : swap ( cRG B0 , cRG B2 ) ;
for ( i = 0 ; i < size . width ; i + + , rg b + = ncn )
short cBGR 0 = cB ;
short cBGR 2 = cR ;
if ( _swap_rb ) std : : swap ( cBGR 0 , cBGR 2 ) ;
for ( i = 0 ; i < size . width ; i + + , bgr + = ncn )
{
int t = descale ( rg b[ 0 ] * cRG B0 + rg b[ 1 ] * cG + rg b[ 2 ] * cRG B2 , SCALE ) ;
int t = descale ( bgr [ 0 ] * cBGR 0 + bgr [ 1 ] * cG + bgr [ 2 ] * cBGR 2 , SCALE ) ;
gray [ i ] = ( ushort ) t ;
}
rg b + = rg b_step - size . width * ncn ;
bgr + = bgr _step - size . width * ncn ;
}
}
void icvCvt_BGRA2Gray_8u_C4C1R ( const uchar * rg ba, int rgba_step ,
void icvCvt_BGRA2Gray_8u_C4C1R ( const uchar * bgr a , int rgba_step ,
uchar * gray , int gray_step ,
Size size , int _swap_rb )
{
int i ;
for ( ; size . height - - ; gray + = gray_step )
{
short cRG B0 = cR ;
short cRG B2 = cB ;
if ( _swap_rb ) std : : swap ( cRG B0 , cRG B2 ) ;
for ( i = 0 ; i < size . width ; i + + , rg ba + = 4 )
short cBGR 0 = cB ;
short cBGR 2 = cR ;
if ( _swap_rb ) std : : swap ( cBGR 0 , cBGR 2 ) ;
for ( i = 0 ; i < size . width ; i + + , bgr a + = 4 )
{
int t = descale ( rg ba[ 0 ] * cRG B0 + rg ba[ 1 ] * cG + rg ba[ 2 ] * cRG B2 , SCALE ) ;
int t = descale ( bgr a [ 0 ] * cBGR 0 + bgr a [ 1 ] * cG + bgr a [ 2 ] * cBGR 2 , SCALE ) ;
gray [ i ] = ( uchar ) t ;
}
rg ba + = rgba_step - size . width * 4 ;
bgr a + = rgba_step - size . width * 4 ;
}
}