我目前在作图像处理方面的,取出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 导致数据丢失