关于stm32 ov7670二值化

stm32 ov7670二值化

按照一般步骤

1、先将RGB565颜色转为灰度

grey = (u8)((((color&0x00f100)>>8)*77+((color&0x07e0)>>3)*150+((color&0x001f)<<3)*29+128)/256);//将rgb565转为灰度值

这里我之前转为灰度后就直接在lcd屏上显示 导致整个屏幕只有蓝色,后来才发现原来八位的灰度值必须经过处理后才能用在lcd上,于是有了以下的处理:

color = ((grey >> 3)|((grey & ~3) << 3)|((grey & ~7) << 8));

这下就能正确显示在LCD上了

2、将灰度值按照阈值进行二值化

二值化主要是选取阈值,大于阈值就显示白色,小于则显示黑色,我这里选取阈值为100

if(grey>100){
		color = 0xffff;
}else{
		color = 0x0000;
}
	LCD->LCD_RAM=color;       

显示效果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值