本文共 512 字,大约阅读时间需要 1 分钟。
在这里分享设计:
通过之前发布的实验中,已经实现Nexys4DDR+OV7670实时视频采集系统,在此基础上进行灰度处理并显示。 硬件环境:Nexys4 DDR 软件环境:vivado 2018 编程语言: VHDL/verilog 彩色图像转换成灰度图像一共有两种输出方法: 1、将彩色RGB转换成gray,利用公式进行转换,这里用到的是这个公式: gray = ( red * 76 + green * 156 + blue *30 ) >> 8 如果采集的图像格式是RGB888,正好可以用这个公式,如果格式是RGB565,需要进行RGB565=>RGB888的转换,转换的策略就是用RGB565的低位去补位,补RGB888剩余的位置,转换完之后就得到8bit的灰度像素,第一种输出方法是将灰度值转换成十进制的数,然后自己设定一个阈值,当大于这个阈值时,输出端口RGB444为全1,小于时为全0. 2、第二种输出方法,公式同上,转换成gray后,直接将8位的灰度值的前四位赋值给RGB444,这样依然可以得到灰度图像,这种方法显示的效果好,可以这样理解因为RGB三个颜色会相互抵消,所以产生灰度图像。 硬件电路图如下:转载地址:http://jhlez.baihongyu.com/