图片转灰度图时,图片偏绿色

     ~~~~     这是开始我第二次android底层camera的时候碰到的问题,没怎么仔细想,yuv420转灰度图片,直接把uv全部设置为0,为了防止下次再犯,我要把这个记下来。
     ~~~~     yuv420表示四个y公用一组uv分量,其他类似,常用就是yuv420,下面是yuv转rgb的公式,可以记录一下。

	u = YUVdata[UPOS] - 128;
	v = YUVdata[VPOS] - 128;
	if (r>255) r=255;
	if (r<0) r=0;
	rdif = v + ((v * 103) >> 8);
	invgdif = ((u * 88) >> 8) +((v * 183) >> 8);
	bdif = u +( (u*198) >> 8);
	r = YUVdata[YPOS] + rdif;
	g = YUVdata[YPOS] - invgdif;
	b = YUVdata[YPOS] + bdif;

     ~~~~     而我们转灰度图片的时候由于y和uv的存储区是分开的,我们只要找到uv内存区直接全部赋值为128就行了。这个时候如果还需要转RGB的话,你要记住下面的公式:

	R = Y + 1.4075 *(V-128)
	G = Y – 0.3455 *(U –128) – 0.7169 *(V –128)
	B = Y + 1.779 *(U – 128

     ~~~~     很明显灰度图片其实就是rgb三个都等于Y。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值