一、需求
在起前面这篇文章中,ov7725摄像头通过VGA/HDMI显示RGB565格式的图像 完成了用摄像头采集图像后,通过HDMI或者VGA显示图像,现在需要添加一个图像处理模块,对摄像头采集的图像进行处理
但是由于ov7725摄像头使用的是GRB565格式的图像,但是在图像处理中使用的是RGB888的图像格式,于是就需要将GRB565转为RGB888
RGB888:红绿蓝各占8位,共24位信息 GRB565:red[15:11]、green[10:5]、blue[4:0] 这几位分别取8位红绿蓝的高位
那GRB565比RGB888少了8位数据,少的这几位都是3中颜色的地位数据,即用来表示背景颜色的数据被丢失了
三、如何实现如下,用了RGB565的地位补全信息
.per_img_red ({vga_rgb[15:11], vga_rgb[13:11]}),
.per_img_green({vga_rgb[10:5], vga_rgb[6:5]}),
.per_img_blue ({vga_rgb[4:0], vga_rgb[2:0]}),
四、其他格式转换
推荐阅读:看最后的附录
4.1 8位灰度Y - 转 - 16位数据在往摄像头显示的工程中加入图像处理算法:图像处理1:RGB888_YCbCr444
时用到了
assign data_out = {post_img_Y[7:3],post_img_Y[7:2],post_img_Y[7:3]};