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

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

3天内不再提示

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

FPGA之家 来源:FPGA自习室 作者:FPGA自习室 2021-04-04 11:34 次阅读

伪彩色图像

一、原理介绍:

伪彩色(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读取。

2059e3d8-8ecb-11eb-8b86-12bb97331649.png

图3matlabgen代码

2.2图像处理

2.2.1 rgbtoyuv 灰度化算法公式

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

2069591c-8ecb-11eb-8b86-12bb97331649.png

2.2.2 graytorgb伪彩算法公式

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

20a2b4aa-8ecb-11eb-8b86-12bb97331649.png

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为各颜色通道值。

20fe82b2-8ecb-11eb-8b86-12bb97331649.png

21444e1e-8ecb-11eb-8b86-12bb97331649.png

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

21c0acfc-8ecb-11eb-8b86-12bb97331649.png

2.3图像显示

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

227742be-8ecb-11eb-8b86-12bb97331649.png

图5matlabshow代码

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

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

责任编辑:haq

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

    关注

    1624

    文章

    21597

    浏览量

    601013
  • 图像处理
    +关注

    关注

    27

    文章

    1274

    浏览量

    56541

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

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA图像处理领域的优势有哪些?

    单元和可编程互联线,可以实现高度并行的数据处理。在图像处理任务中,如图像预处理、特征提取和图像识别等,需要大量的计算任务。FPGA可以通过并
    发表于 10-09 14:36

    具有非常高数值孔径的反射显微镜系统

    Fusion的快速物理光学技术获得的结果与参考文献进行比较。 任务描述 系统构建模块-光源 系统构建模块-物镜 建模总结 光线追迹结果 结果:场追迹(伪彩色) 结果:场追迹(真彩色) 与实验结果比较 VirtualLab Fusion技术
    发表于 08-14 11:52

    基于DSP C6000教学实验箱_数字图像处理教程:5-9 图像反色实验案例分享

    一、实验目的 学习图像反色的原理,掌握图像的读取方法,并实现图像反色。 二、实验原理 图像反色 反色的实际含义是将R、G、B值反转。若颜色的
    发表于 07-19 09:57

    基于FPGA图像采集与显示系统设计

    源和固有的并行处理能力,在数字信号处理、硬件加速、汽车电子等领域得到了广泛应用。在图像采集与显示系统中,FPGA能够实现高速、并行的数据处理,显著提高系统的实时性和性能。本文设计了一个基于FP
    的头像 发表于 07-17 10:58 1582次阅读

    FPGA设计经验之图像处理

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

    基于FPGA的实时边缘检测系统设计,Sobel图像边缘检测,FPGA图像处理

    计算机软件实现方式有更快的处理速度。 经验证,系统工作稳定,满足实时性要求 。 MATLAB 与 FPGA无线通信、图像处理、数字信号处理系列 引言 图像的边缘包含一副
    发表于 05-24 07:45

    FPGA设计中 Verilog HDL实现基本的图像滤波处理仿真

    今天给大侠带来FPGA设计中用Verilog HDL实现基本的图像滤波处理仿真,话不多说,上货。 1、用matlab代码,准备好把图片转化成Vivado Simulator识别的格式,即每行一
    发表于 05-20 16:44

    基于FPGA的常见的图像算法模块总结

    意在给大家补充一下基于FPGA图像算法基础,于是讲解了一下常见的图像算法模块,经过个人的总结,将知识点分布如下所示。
    的头像 发表于 04-28 11:45 496次阅读
    基于<b class='flag-5'>FPGA</b>的常见的<b class='flag-5'>图像</b>算法模块总结

    1/2.9“彩色CMOS 200万像素(1600 x 1300)图像传感器数据手册

    电子发烧友网站提供《1/2.9“彩色CMOS 200万像素(1600 x 1300)图像传感器数据手册.pdf》资料免费下载
    发表于 01-10 11:04 0次下载

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

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

    1/2.7“彩色CMOS 500万像素 PureCel®图像传感器数据手册

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

    FPGA图像处理之CLAHE算法

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

    FPGA图像处理方法

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

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

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

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

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