查看: 4236|回复: 0

(四)RGB转灰度图像处理算法(单通道实现)

[复制链接]
  • TA的每日心情
    无聊
    2021-4-7 11:23
  • 签到天数: 27 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2020-1-26 17:25:17 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 雪孩爱雪 于 2020-1-26 17:40 编辑

    背景知识
       在正式入题之前先给大家讲解一下 gray 图像,YUV 图像以及 Ycbcr 图像。
    Gray 图像:灰度(gray)图像就是我们常说的黑白图像,由黑到白为灰阶为 0-255(8bit)
    YUV 图像:YUV 是被欧洲电视系统所采用的一种颜色编码方法(属于 PAL),是 PAL
    SECAM 模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中,通常采用三管彩色
    摄影机或彩色 CCD 摄影机进行取像,然后把取得的彩色图像信号经分色、分别放大校正后
    得到 RGB,再经过矩阵变换电路得到亮度信号 Y 和两个色差信号 BY(即 U)、RY(即
    V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表
    示方法就是所谓的 YUV 色彩空间表示。采用 YUV 色彩空间的重要性是它的亮度信号 Y
    色度信号 UV 是分离的。YUV 主要用于优化彩色视频信号的传输,使其向后相容老式黑
    白电视。与 RGB 视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB 要求三
    个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance Luma),也就是灰阶值;
    而“U”和“V” 表示的则是色度(Chrominance Chroma),作用是描述影像色彩及饱和
    度,用于指定像素的颜色。“亮度”是透过 RGB 输入信号来建立的,方法是将 RGB 信号的
    特定部分叠加到一起。“色度”则定义了颜色的两个方面─色调与饱和度,分别用 Cr Cb
    来表示。其中,Cr 反映了 RGB 输入信号红色部分与 RGB 信号亮度值之间的差异。而 Cb
    映的是 RGB 输入信号蓝色部分与 RGB 信号亮度值之间的差异。
    Ycbcr 图像:Ycbcr Y'CbCr 有的时候会被写作:YCBCR 或是 Y'CBCR,是色彩空间
    的一种,通常会用于影片中的影像连续处理,或是数字摄影系统中。Y'为颜色的亮度(luma)
    成分、而 CB CR 则为蓝色和红色的浓度偏移量成份。Y'Y 是不同的,而 Y 就是所谓的
    流明(luminance),表示光的浓度且为非线性,使用伽马修正(gamma correction)编码处理

    FPGA 实现 RGB 图像转 Gray 图像方法

    一般 RGB 像转灰度(gray)图像有两种方法:
    ①使用 RGB 图像的单通道去显示图像(RG B)。
    ②RGB 图像转换成 Ycbcr 图像,使用 Y 分量去显示图像,来实现彩色图像转灰度图。


    本帖子实现RGB 单通道实现灰度图像的转换:
    我们按照正点原子教程,将lenna的图片转换为coe文件 360截图17001021281822.png
    然后在“Other Options”选项卡中,加载我们刚刚使用“PicToLCD”软件生成的“.coe”文件
    360截图16251111065025.png

    RGB 单通道实现灰度图像 FPGA 源码:
    assign TFT_rgb_r = {rom_rd_data[23:16],rom_rd_data[23:16],rom_rd_data[23:16]};
    assign TFT_rgb_g = {rom_rd_data[15:8],rom_rd_data[15:8],rom_rd_data[15:8]};
    assign TFT_rgb_b = {rom_rd_data[7:0],rom_rd_data[7:0],rom_rd_data[7:0]};

    IMG_20200126_165300.jpg
    lenna原图
    IMG_20200126_165911.jpg
    lenna的Red分量图片
    IMG_20200126_170403.jpg
    lenna的Green分量图片
    IMG_20200126_170839.jpg
    lenna的Blue分量图片

    三个分量显示图像来看,Green 分量显示效果较好,脉络清晰,红色分量灰
    度图像偏亮,蓝色分量灰度图像较好。这是最简单的 RGB 转灰度图像的方法,旨在通过最
    简单的方式让大家感受 FPGA 进行图像处理的直观效果。
    附件为完整工程;




    rgb_to_gray(1).zip

    15.82 MB, 下载次数: 48

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-11-15 13:50 , Processed in 0.108639 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.