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

    关注

    1646

    文章

    22097

    浏览量

    620768
  • 图像处理
    +关注

    关注

    27

    文章

    1328

    浏览量

    58277

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OptiSystem应用:真实图像在光纤中传输后的恢复

    经过50km的光纤系统进行传输,光电转化并滤波之后,我们用数据恢复器件(Data Recovery)来恢复二进制信号,再用图像重构组件(Image Reconstructor)接收二进制信号实现对传
    发表于 03-03 09:26

    请问Lightcrafter4500 EVM能否工作在120Hz、彩色(RGB:888)视频模式?

    :Lightcrafter4500 EVM能否工作在120Hz、彩色(RGB:888)视频模式? 问题二:120Hz模式下,我想通过HDMI接口,将图像传输到投影仪,如何实现? 说明:之前我用的Lightcrafter投影仪
    发表于 02-28 07:25

    【国产FPGA入学必备】国产FPGA权威设计指南+配套FPGA图像视频教程

    反映紫光同创深耕FPGA技术的创新,帮助读者迅速掌握国产FPGA开发的精髓。 04 适用人群广泛 本书对工程师有良好的指导作用,帮助加快FPGA应用的开发速度,实现工程项目的快速收敛和
    发表于 02-20 15:08

    DLPDLCR4710EVM-G2是否可以在flash或内部存储中设置投射的彩色图像

    刚刚开始使用DLPDLCR4710EVM-G2,目前是用HDMI显示PC的屏幕的方式。 但是有什么办法设置flash或内部存储中的彩色图像,让光机自己运行投射相应光场? 谢谢
    发表于 02-20 07:40

    DLP3437是如何去控制输出彩色,如何配比电流的大小来控制彩色?

    针对TI开发板的DLP3310套件: DLP3437控制DLPA电流输出时序,有以下几个疑问 1、LED的电流控·制时序(duty time),主要是为生产彩色图像设置的吗? 2、根据什么条件来
    发表于 02-19 06:07

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

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

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

    像素行与像素窗口 一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用FPGA内部的存储资
    的头像 发表于 02-07 10:43 ?972次阅读
    <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 ?1180次阅读
    基于<b class='flag-5'>FPGA</b>的GigE Vision相机<b class='flag-5'>图像</b>采集方案设计

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

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

    图像高斯滤波的原理及FPGA实现思路

    1.概念 高斯分布 图像滤波之高斯滤波介绍 图像处理算法|高斯滤波 高斯滤波(Gaussian filter)包含很多种,包括低通、高通、带通等,在图像上说的高斯滤波通常是指的高斯模糊
    的头像 发表于 12-07 09:12 ?2035次阅读
    <b class='flag-5'>图像</b>高斯滤波的原理及<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>思路

    基于OpenCV的拆分和合并图像通道实验案例分享_基于RK3568教学实验箱

    一、实验目的 本节视频的目的是了解图像通道的概念,学习OpenCV的基本操作,并掌握通过OpenCV实现拆分和合并图像通道的方法。 二、实验原理 拆分与合并图像
    发表于 12-03 14:27

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

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

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

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

    基于FPGA+GPU异构平台的遥感图像切片解决方案

    大型遥感图像分割成图像切片信息,以便更有效地处理和分析图像数据。中科亿海微自主研制的AI目标识别加速卡,基于FPGA+GPU异构并行计算处理架构设计,内嵌深度学习
    的头像 发表于 09-20 08:05 ?959次阅读
    基于<b class='flag-5'>FPGA</b>+GPU异构平台的遥感<b class='flag-5'>图像</b>切片解决方案