当前位置: 首页 > news >正文

闲庭信步使用图像验证平台加速FPGA的开发:第十三课——图像浮雕效果的FPGA实现

  (本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球:成工fpga,https://t.zsxq.com/DMeqH关注即送200GB学习资料,链接已置顶!)

图像的浮雕效果,就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。算法产生浮雕效果原理与之类似,即通过勾画图像的轮廓,并且降低周围的像素值,从而产生一张具有立体感的浮雕效果图片。我们可以通过相邻元素相减的方法得到轮廓与边缘的差,从而获得凹凸的立体感觉。

图像实现浮雕效果的公式就是求出前后两个像素点的差值,然后再加上一个阈值,既|img(i,j)-img(i,j-1)|+threshold

,如果区域比较平坦,值都在threshold附近,而图像变化比较大,结果就好远离threshold,从而形成浮雕的效果。

所以图像浮雕效果的FPGA实现不需要行缓存,只需要对图像数据进行一拍的延时即可。

在\src\emboss文件夹下新建emboss.sv文件,基本功能如下,图像数据延时一个时钟周期,为了避免负数,通过判断前后数据的大小进行减法运算,最后根据sum的值来确定输入的值。

在top文件中,例化了rgb2ycbcr模块和emboss模块,分别获取图像的亮度数据并使用亮度数据进行浮雕效果的实现。

在tb_image_sim文件中的第二个initial块中,将图像测试平台和FPGA硬件仿真的结果保存并比对。

我们双击sim文件夹下的top_tb.bat文件,完成系统的自动化仿真。

可以看到在modelsim的Transcript有如下的打印信息,图像测试平台和FPGA硬件仿真的结果一致。

打开img文件夹,也可以看到图像测试平台和FPGA硬件仿真的结果是一致的。

当然通过设置样式产生pattern产生正负的浮雕效果,如下所示。

其实我们发现,图像浮雕的效果并不是很明显,其实实现图像的浮雕效果还有其它的方法,比如使用多行数据,这就要用到了行缓存,大家如果感兴趣可以自行设计。

http://www.xdnf.cn/news/1115335.html

相关文章:

  • JAVA生成PDF(itextpdf)
  • 互联网大厂Java面试:从Spring Boot到微服务的场景应用
  • HTML 初体验
  • HarmonyOS组件/模板集成创新活动-元服务小云体重管理引入案例(步骤条UI组件)
  • HarmonyOS组件/模板集成创新活动-开发者工具箱
  • 【设计模式】备忘录模式(标记(Token)模式)
  • 为什么玩游戏用UDP,看网页用TCP?
  • 融合开源AI大模型与MarTech:AI智能名片与S2B2C商城小程序源码赋能数字化营销新生态
  • 【QT】使用QSS进行界面美化
  • 【Linux | 网络】应用层
  • Rust赋能文心大模型4.5智能开发
  • Leetcode 3615. Longest Palindromic Path in Graph
  • 操作系统-第四章存储器管理和第五章设备管理-知识点整理(知识点学习 / 期末复习 / 面试 / 笔试)
  • 笔记/sklearn中的数据划分方法
  • 滑动窗口-76.最小覆盖子串-力扣(LeetCode)
  • 【保姆级图文详解】MCP架构(客户端-服务端)、三种方式使用MCP服务、Spring AI MCP客户端和服务端开发、MCP部署方案、MCP安全性
  • 【Datawhale夏令营】用AI做带货视频评论分析
  • Spring-----MVC配置和基本原理
  • QCustomPlot绘图保存成PDF文件
  • office-ai整合excel
  • 特征选择方法
  • 数据库3.0
  • Java SE--图书管理系统模拟实现
  • PHP语法高级篇(二):文件处理
  • JVM 锁自动升级机制详解
  • 【AI论文】GLM-4.1V-Thinking:迈向具备可扩展强化学习的通用多模态推理
  • Java面试基础:面向对象(2)
  • 数学与应用数学核心课程有哪些?全文解析!
  • 【webrtc】gcc当前可用码率2:设置阈值通知码率改变
  • 梯度下降算法:像下山一样找到最优解