欢迎光临散文网 会员登陆 & 注册

【基于FPGA的图像处理工程】边缘检测工程之灰度转换模块代码解析

2023-02-03 08:06 作者:明德扬易老师  | 我要投稿

【基于FPGA的图像处理工程】

                                                                               ——边缘检测工程:灰度转换模块代码解析


本文为明德扬原创文章,转载请注明出处!

灰度转换模块的功能:该模块将接收到的RGB数据经过灰度转换公式计算,输出灰度数据给下一个模块。


一、设计架构

RGB图像转换成灰度图像的公式为:Gray = (red * 70 + green * 150 + bule *30)>>8

公式中的RGB是888格式,即R、G、B均用8比特表示。注意,本模块输入的是565格式,即R、G、B分别是5、6、5表示。

RGB565转成RGB888的方法,只要后面补0或者低位即可。例如R后面补3个0。

如上图,第1个像素进来的din为16’h0001,即R=5’b00000,G=6’b000000,B=5’b00001。

改为RGB888格式后,R=8’b00000000,G=8b’00000000,B=8’b00001000

如上图,第2个像素进来的din为16’h0203,即R=5’b00000,G=6’b001010,B=5’b00011。

改为RGB888格式后,R=8’b00000000,G=8’b00001010,B=8’b00000011。


二、信号的意义



三、参考代码

下面展出本模块的设计,欢迎进一步交流,如果需要源代码,欢迎与本人联系。


明德扬专注FPGA研究,我司正在连载两本书籍:《基于FPGA至简设计法实现的图像边缘检测系统》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=691)、《ASIC和FPGA时序约束理论与应用》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=705),有兴趣点击阅读。


【基于FPGA的图像处理工程】边缘检测工程之灰度转换模块代码解析的评论 (共 条)

分享到微博请遵守国家法律