i=0;
for (y=0;y<image.rows;y++)
{
uchar* ptr_cv= (uchar *)( image.ptr() + image.channels()*y * image.cols);
for (x=0;x<image.cols/2;x++)
{
U = pData[i]-128.0;
YY1 = 1.164*(pData[i+1]-16);
V = pData[i+2]-128.0;
YY2 = 1.164*(pData[i+3]-16);
i+=4;
B=YY1 + 1.793*U;
G=YY1 - 0.534*V- 0.213*U;
R=YY1 + 2.115*V;
if (R<0) R=0;if (G<0) G=0;if (B<0) B=0;
if (R>255) R=255;if (G>255) G=255;if (B>255) B=255;
j=2*image.channels()*x;
ptr_cv[j] = (unsigned char)B;
ptr_cv[j+1]= (unsigned char)G;
ptr_cv[j+2]= (unsigned char)R;
B=YY2 + 1.793*U;
G=YY2 - 0.534*V- 0.213*U;
R=YY2 + 2.115*V;
if (R<0) R=0;if (G<0) G=0;if (B<0) B=0;
if (R>255) R=255;if (G>255) G=255;if (B>255) B=255;
ptr_cv[j+3] = (unsigned char)B;
ptr_cv[j+4]= (unsigned char)G;
ptr_cv[j+5]= (unsigned char)R;
}
}
Aucun commentaire:
Enregistrer un commentaire