QImage转RGB,RGB转YUV 再由YUV转回RGB 为什么图像就花了

我目前在作图像处理方面的,取出RGB数据后 转YUV  然后对YUV进行操作  操作完后转回RGB   再显示出来图像  
但是在做的过程中发现一个问题 ,就算我什么也不改  就直接是提取RGB 再由RGB转YUV  再转回RGB  图像就花了  这是为什么

直接上代码








原图


提取再还原

 

double T[3][3] = { {0.2126,0.7152,0.0722},{-0.1146,-0.3854,0.5000 },{0.5000,-0.4542,-0.0468 } };    //RGB转YUV参数

double T1[3][3] = { {1,0,1.4075},{1,-0.3455,-0.7169 },{1,1.779,0 } };

typedef unsigned char BYTE;      其中R_arr 是byte类型    OutR_arr是int类型

原因  存储数据类型不对   BYTE是无符号  而UV是-127到128 导致数据丢失

猜你喜欢

转载自blog.csdn.net/y281252548/article/details/113095530