0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用FPGA实现伪彩色图像

FPGA自习室 来源:FPGA自习室 作者:FPGA自习室 2020-11-02 16:37 次阅读

伪彩色图像

一、原理介绍:

伪彩色(Pseudo-color)图像的每个像素的颜色不是由每个基本色分量的数值直接决定,实际上是把像素当成调色板(Palettes)或颜色查找表(Color Look-Up Table,CLUT)的表项入口地址,根据该地址可查找出包含实际R、G、B的强度值,如果图像中的颜色在调色板或彩色查找表中不存在,则调色板会用一个最为接近的颜色来匹配。通过查找出的R、G、B强度值产生的色彩不是图像本身真正的颜色,因此称为伪彩色。

伪彩色处理:

将彩色图像转换为灰度图像是一个不可逆的过程,灰度图像也不可能变换为原来的彩色图像。而某些场合需要将灰度图像转变为彩色图像;伪彩色处理主要是把黑白的灰度图像或者多波段图像转换为彩色图像的技术过程。其目的是提高图像内容的可辨识度。其中方法有,灰度分成法,灰度变换法。

真彩色

(true color)真彩色是指在组成一幅彩色图像的每个像素值中,有R,G,B三个基色分量,每个基色分量直接决定显示设备的基色强度,这样产生的彩色称为真彩色。例如用RGB 8∶8∶8表示的彩色图像,R,G,B各用8位,用R,G,B分量大小的值直接确定三个基色的强度,这样得到的彩色是真实的原图彩色。

在许多场合,真彩色图通常是指RGB 88,即图像的颜色数等于2^24,也常称为全彩色(full color)图像。但在显示器上显示的颜色就不一定是真彩色,要得到真彩色图像需要有真彩色显示适配器,在PC上用的VGA适配器是很难得到真彩色图像的。

直接色

(direct color)每个像素值分成R,G,B分量,每个分量作为单独的索引值对它做变换。也就是通过相应的彩色变换表找出基色强度,用变换后得到的R,G,B强度值产生的彩色称为直接色。它的特点是对每个基色进行变换。

用这种系统产生颜色与真彩色系统相比,相同之处是都采用R,G,B分量决定基色强度,不同之处是后者的基色强度直接用R,G,B决定,而前者的基色强度由R,G,B经变换后决定。因而这两种系统产生的颜色就有差别。试验结果表明,使用直接色在显示器上显示的彩色图像看起来真实、很自然。

这种系统与伪彩色系统相比,相同之处是都采用查找表,不同之处是前者对R,G,B分量分别进行变换,后者是把整个像素当作查找表的索引值进行彩色变换。

二、Matlab与Modelsim仿真

2.1图像产生

如下图3所示,使用matlb将分辨率为640*480的len.bmp图像的R、G、B各个分量的二维图像数据,如图4所示,转换成一维数据存到img_r_data.txt、img_g_data.txt、img_b_data.txt文本里供Modelsim读取。

图3matlabgen代码

2.2图像处理

2.2.1 rgbtoyuv 灰度化算法公式

采用rgbtoyuv格式的颜色空间的转换图像算法为例,转换公式如下 ,

2.2.2 graytorgb伪彩算法公式

如下图所示是matalb 代码 ,三个颜色通道对应3个公式:

2.2.3 FPGA实现

在FPGA实现过程中,没有直接使用上述matlab代码的”if-else”进行图像的点操作,这里我使用查找表的方式实现,把三个颜色通道R、G、B 看成是灰度(0~255)的函数,通过matlab得到各个颜色的映射值的mif文件,然后导入fpga的rom 中,当像素进来时直接作为的rom的读地址,rom的输出就是处理得到的伪彩色图像。生成mif文件的matlab代码,其中t可以理解为灰度值,R、G、B为各颜色通道值。

FPGA实现时分别把对应的线性映射数值存到rom中:

2.3图像显示

在编写完RTL代码后加入视频流仿真平台,处理的后的结果如图6所示,其中图像的复现的matlab代码如图5所示:

图5matlabshow代码

责任编辑:xj

原文标题:FPGA实现伪彩色图像

文章出处:【微信公众号:FPGA自习室】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21309

    浏览量

    593123
  • matlab
    +关注

    关注

    175

    文章

    2922

    浏览量

    228432
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132148
  • ModelSim
    +关注

    关注

    5

    文章

    172

    浏览量

    46756

原文标题:FPGA实现伪彩色图像

文章出处:【微信号:FPGA_Study,微信公众号:FPGA自习室】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    1/2“彩色CMOS 800万像素 PureCel”图像传感器数据手册

    电子发烧友网站提供《1/2“彩色CMOS 800万像素 PureCel”图像传感器数据手册.pdf》资料免费下载
    发表于 01-10 11:02 1次下载

    FPGA图像处理之CLAHE算法

    FPGA图像处理--CLAHE算法(一)中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 1476次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b>处理之CLAHE算法

    FPGA图像处理方法

    图像细节。 FPGA 图像处理方法 1、图像增强 两大方法:空间域方法和时间域方法(以后再详述) 2、图像滤波 (1)平滑空间 滤波器 (2
    的头像 发表于 12-02 13:15 597次阅读

    一种FPGA+W5300架构的C0FDM无线图像传输系统设计

    基于FPGA的无线图像传输系统硬件设计与实现
    的头像 发表于 11-14 09:44 915次阅读
    一种<b class='flag-5'>FPGA</b>+W5300架构的C0FDM无线<b class='flag-5'>图像</b>传输系统设计

    基于 FPGA 的无线图像传输系统硬 件设计与实现

    实 现COFDM 调制 解调,结 合 FPGA 实现数字信号处理的优势,以及 W5300 硬件协议栈实现网络协议的转换优点,有效地解决了图像数据传输过程中实时性、大数据量的要 求 。
    发表于 11-07 11:33

    基于FPGA的Bayer彩色自动白平衡设计

    电子发烧友网站提供《基于FPGA的Bayer彩色自动白平衡设计.pdf》资料免费下载
    发表于 10-08 11:32 0次下载
    基于<b class='flag-5'>FPGA</b>的Bayer<b class='flag-5'>彩色</b>自动白平衡设计

    基于FPGA搭建一个通用的图像处理平台

    本文介绍如何搭建一个通用的图像处理平台,采用HDMI接口进行输入、输出,可用于测试基于HLS的FPGA图像处理项目。
    的头像 发表于 09-04 18:20 1194次阅读
    基于<b class='flag-5'>FPGA</b>搭建一个通用的<b class='flag-5'>图像</b>处理平台

    基于FPGA图像旋转和双线性插值算法设计

    今天开源一个FPGA图像处理相关的项目:图像旋转。图像旋转算法本身非常简单,但是如果想让旋转之后的图像更加完整、平滑,还需要进行双线性插值处
    的头像 发表于 09-04 16:52 818次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>图像</b>旋转和双线性插值算法设计

    基于FPGA的速率自适应图像抽取算法

    方法,适用于深空探测航天器载荷自主管理和可视化应用。通过图像帧识别、指针管理和数据筛选实现图像抽帧回放算法,具有图像完整、实时,速率自适应的特点。该方法在某探测器工程项目中采用
    的头像 发表于 08-05 10:35 491次阅读
    基于<b class='flag-5'>FPGA</b>的速率自适应<b class='flag-5'>图像</b>抽取算法

    #FPGA #图像处理 图像处理(概论)

    fpga图像处理
    奔跑的小鑫
    发布于 :2023年07月27日 10:15:04

    基于FPGA图像处理之直方图均衡

    最近一直在用FPGA图像处理相关的算法,主要是集中在图像增强和增晰方面。
    发表于 06-29 09:23 704次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>图像</b>处理之直方图均衡

    基于FPGA的实时图像边缘检测系统设计(附代码)

    接口实时显示检测得到的图像边缘信息。 1.3.2 系统的设计流程 本课题基于FPGA实现,主要涉及到以下内容:1、摄像头接口的驱动;2、图像数据的实时捕获;3、
    发表于 06-21 18:47

    荐读:FPGA设计经验之图像处理

    系列:基于 FPGA图像边缘检测系统设计(sobel算法) FPGA设计中 Verilog HDL实现基本的图像滤波处理仿真 基于
    发表于 06-08 15:55

    求一种FPGA实现图像去雾的实现设计方案

    本文详细描述了FPGA实现图像去雾的实现设计方案,采用暗通道先验算法实现,并利用verilog并行执行的特点对算法进行了加速;
    发表于 06-05 17:01 894次阅读
    求一种<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>图像</b>去雾的<b class='flag-5'>实现</b>设计方案

    为什么图片识别要将彩色图像灰度化?

        先前在为大家介绍OCR识别技术时,在图像预处理部分提到了灰度化,大家可能会产生疑惑: 为什么做图片识别要将彩色图像灰度化呢?   正式解释这个问题之前,我们需要了解, 什么是灰度
    发表于 05-28 11:36 1685次阅读
    为什么图片识别要将<b class='flag-5'>彩色</b><b class='flag-5'>图像</b>灰度化?