void toT(int * r, uchar * p) { *r = (((float)color2gray(p)/255.0f)-0.5f)*4294967295u; }
void toT(float * r, uchar * p) { *r = (float)color2gray(p)/255.0f; }
void toT(short * r, uchar * p) { *r = (((float)color2gray(p)/255.0f)-0.5f)*65535; }
void toT(char * r, uchar * p) { *r = color2gray(p)-128; }
void toT(uchar * r, uchar * p) { *r = color2gray(p); }
void toT(bool * r, uchar * p) { *r = color2gray(p) > 128; }
/*----------------------------------------------------------------------------*/ int vrgb2gray(vrgb_t colorpix) { int *buff = (int*) &colorpix; return color2gray(*buff); }