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
    +关注

    关注

    1631

    文章

    21806

    浏览量

    606695
  • matlab
    +关注

    关注

    186

    文章

    2983

    浏览量

    231210
  • 仿真
    +关注

    关注

    50

    文章

    4134

    浏览量

    134126
  • ModelSim
    +关注

    关注

    5

    文章

    174

    浏览量

    47418

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

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

收藏 人收藏

    评论

    相关推荐

    FPGA上的图像处理算法集成与优化

    、Tophat形态学滤波、RAW8转RGB888、彩色图像均值滤波、Alpha背景叠加、直方图灰度拉伸算法以及自动白平衡算法。每种算法都提供了实现方法和相关公式,涵盖了图像处理的核心概
    的头像 发表于 02-14 13:46 70次阅读
    <b class='flag-5'>FPGA</b>上的<b class='flag-5'>图像</b>处理算法集成与优化

    FPGA图像处理基础----实现缓存卷积窗口

    像素行与像素窗口 一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用FPGA内部的存储资
    的头像 发表于 02-07 10:43 156次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>图像</b>处理基础----<b class='flag-5'>实现</b>缓存卷积窗口

    VirtualLab Fusion案例:高NA反射显微镜系统

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

    基于FPGA的GigE Vision相机图像采集方案设计

    1 概述 GigE Vision是一个比较复杂的协议,要在FPGA中完全实现具有较大的难度。如果FPGA作为接收端希望实现GigE Vision相机的配置和
    的头像 发表于 01-07 09:34 291次阅读
    基于<b class='flag-5'>FPGA</b>的GigE Vision相机<b class='flag-5'>图像</b>采集方案设计

    基于FPGA实现图像直方图设计

    简单,单采用FPGA实现直方图的统计就稍显麻烦。若使用Xilinx和Altera的FPGA芯片,可以使用HLS来进行图像的加速处理。但这暂时不是我的重点。 用C语言
    的头像 发表于 12-24 10:24 265次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b><b class='flag-5'>图像</b>直方图设计

    FPGA 实时信号处理应用 FPGA图像处理中的优势

    现场可编程门阵列(FPGA)是一种高度灵活的硬件平台,它允许开发者根据特定应用需求定制硬件逻辑。在实时信号处理和图像处理领域,FPGA因其独特的优势而受到青睐。 1. 并行处理能力 FPGA
    的头像 发表于 12-02 10:01 947次阅读

    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 2142次阅读

    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 676次阅读
    基于<b class='flag-5'>FPGA</b>的常见的<b class='flag-5'>图像</b>算法模块总结

    基于空间光调制器彩色全息显示--上海瞬渺光电技术有限公司

    和瑞士FISBA公司的READYBeam 三色激光器,采用时分复用方法实现彩色图像调制。Holoeye的GAEA,LETO-3-CFS-017和LUNA这 3种类型的空间光调制器,都可以在色序CFS(color-field-se
    发表于 02-28 13:12