在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3211|回复: 5

[原创] 基于FPGA的RGB2YUV、图像增强、YUV2RGBIP仿真实例

[复制链接]
发表于 2019-8-12 18:56:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
基于FPGARGB2YUV、图像增强、YUV2RGBIP仿真实例
AT7_Xilinx开发板(USB3.0+LVDS)资料共享
       腾讯链接:https://share.weiyun.com/5GQyKKc
       百度网盘链接:https://pan.baidu.com/s/1M7PLzRs-yMJv7NFJE8GVAw
       提取码:qr0t
1.jpg
                              
1图像增强IP简介
         Xilinx的Vivado中集成的图像增强(ImageEnhancement)IP可以有效降低图像噪声并增强图像边缘。该IP使用了2D滤波方式,可以在达到更好的图像噪声抑制同时,保留并增强图像边缘。
         如图所示,对于一个比较经典的图像前端处理,图像增强常常也是一个必不可少的步骤。在我们这个实例中,我们需要设计一个右侧图示红圈内的图像流处理。即RGB toYCbCr模块、图像增强模块、YCbCrto RGB模块,这3个模块都有可用的IP核。 2.jpg
         图像增强IP的功能框图如下所示。该IP输入和输出的图像数据必须为YUV444或YUV422模式;待处理图像进入IP后,首先需要多行缓存,然后分别通过降噪(Noise Reduction)模块和边缘检测与增强(Edge Map Morphology和Edge Enhance)模块。完成处理后的图像再拟合在一块,最后会通过可选的光环抑制(Anti-halo)和锯齿消除(Anti-alias)模块,完成最终图像输出。边缘增强和噪声抑制实际上是两个完全相反的图像处理方式,为了保证两个模块能够更好的实现增强图像的效果,在这个IP中,第一步做的是图像的形态检测(Edge Map Morphology),然后再根据这个结果,对图像中需要降噪的部分和边缘增强的部分分别处理。 3.jpg
1.1 图像形态检测
         图像形态学检测是整个图像增强的第一步,它用于指示后续需要对图像进行降噪或边缘增强操作。图像形态学检测主要包括下面两步:
         ①经过二维的FIR滤波器,从水平、垂直以及两个对角共4个维度提取边缘信息。
         ②使用拉长、正交的结构单元和形态学处理,用于提供清晰的各个方向边缘信息。
1.2 降噪处理
         降噪处理是基于中心像素点以及特定的临近像素点的滤波实现的。算法实现类似高斯的定向低通滤波。噪声门限由IP核的设置决定。图像形态检测信息标定出的边缘不会做任何的降噪处理。 4.jpg
1.3 边缘增强
         IP核设定的边缘增强参数决定了边缘增强的幅度。根据边缘检测形态信息,边缘增强模块对标记处的边缘做拉普拉斯滤波,实现边缘增强效果。 5.jpg
1.4 光环抑制与锯齿消除
光环抑制(Anti-halo)和锯齿消除(Anti-alias)模块是可选的功能块。前面进行噪声抑制和边缘增强后的图像,可能存在图像边缘被放大或抑制的情况。光环抑制和锯齿消除,是通过判断每个新的像素值与原图像的像素值以及邻近8个像素值的比较,以判断其是否需要进行相应的处理并实现图像的优化。
如图所示,原图(左侧)在图像增强后可能出现光环现象(中间),那么经过光环抑制后图像(右侧)就能够实现最优化。
6.jpg
2测试激励说明
         使用at7_img_ex08\matlab文件夹下的Matlab源码image_txt_generation.m产生作为FPGA仿真输入的测试图像数据,存储在image_in_hex.txt中。FPGA仿真测试后,产生图像增强数据存储在FPGA_Enhenchment_Image.txt中,使用Matlab的draw_image_from_FPGA_result.m脚本则可以比对图像增强前后的效果。 7.jpg
         
3 IP添加与配置
         Vivado的IP Catalog中,Video &Image Processing分类下,可以看到有很多可用的图像处理IP核。我们需要用到的RGB toYCbCr、Image Enhancement和YCbCrto RGB这3个IP核,都在该分类下可以找到。 8.jpg
3.1 RGB toYCbCr IP配置
Feature配置页面中,设置图像位宽8bit,分辨率为640*480,YUV格式,输出图像取值范围0~255即可。 9.jpg
         Custom配置页面中,可以看到RGB toYCbCr转换的基本公式参数。 10.jpg
3.2Image Enhancement IP配置
         配置页面很简单,设定好图像位宽8bit,图像分辨率640*480,图像噪声抑制(ImageNoise Reduction)水平(取值0~255),图像边缘增强(Image Edge Enhancement)水平(取值0~1.0),以及可选的光环抑制(Halo Suppression)和锯齿消除(Anti-Alias Filtering)。 11.jpg
3.3 YCbCrto RGB IP配置
Feature配置页面中,设置图像位宽8bit,分辨率为640*480,YUV格式,输出图像取值范围0~255即可。 12.jpg
         Custom配置页面中,可以看到YCbCr toRGB转换的基本公式参数。 13.jpg
4FPGA仿真
         Vivado打开zstar_ex70工程,在Sources面板中,展开SimulationSources à sim_1,将at7_image_enhance_sim.v文件设置为top module。点击FlowNavigator面板的Simulation à Run Simulation打开仿真页面,matlab产生的原始图像数据image_in_hex.txt需要放置在at7.sim文件夹下,仿真测试结果位于at7_img_ex08\at7.sim\sim_1\behav文件夹下。
         在设定Noise Threshold =192,Enhancement Strength = 0.0,Halo Suppression = 0.125时,比对图像如下。 14.jpg
         在设定Noise Threshold =192,Enhancement Strength = 0.125,Halo Suppression = 0.75时,比对图像如下。 15.jpg
在设定NoiseThreshold = 192,Enhancement Strength = 1.0,Halo Suppression =0.75时,比对图像如下。 16.jpg
AT7_Xilinx开发板(USB3.0+LVDS)资料共享
       腾讯链接:https://share.weiyun.com/5GQyKKc
       百度网盘链接:https://pan.baidu.com/s/1M7PLzRs-yMJv7NFJE8GVAw
       提取码:qr0t

发表于 2019-8-13 10:01:18 | 显示全部楼层
楼主云盘和腾讯连接内容没有,可以重传一下吗,小弟学习学习
发表于 2020-6-12 17:04:24 | 显示全部楼层
I can't download
发表于 2021-8-10 09:02:38 | 显示全部楼层
douquxiaole
发表于 2022-5-18 08:37:25 | 显示全部楼层
楼主威武
发表于 2022-6-14 09:01:08 | 显示全部楼层
这么好的资料,可以链接失效了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-24 02:08 , Processed in 0.029871 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表