小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
小梅哥 AC620 FPGA 开发板进阶设计教程
全功能高性价比 FPGA 开发板 AC620 火热销售中,配套 60 天实地培训视频。
购买链接:
https://item.taobao.com/item.htm?spm=a1z10.1-c-
s.w4004-13687301132.6.8uPVJ6&id=544830995588
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
目录
说 明 ...................................................................................................................... 3
基于 FPGA 图像处理之 RGB 转灰度算法的实现 ............................................................... 4
背景知识 .................................................................................................................. 4
FPGA 实现 RGB 图像转 Gray 图像方法 ..................................................................... 5
RGB 图像转 Ycbcr 图像实现 gray 图像。 ................................................................... 8
基于 FPGA 的中值滤波算法的实现 ................................................................................ 20
背景知识 ................................................................................................................ 20
FPGA 中值滤波实现方法 ........................................................................................ 21
FPGA 实现 ............................................................................................................... 21
结果分析:............................................................................................................. 38
基于 FPGA 的灰度图像均值滤波算法的实现 ................................................................. 39
背景知识 ................................................................................................................ 39
FPGA 的均值滤波算法实现步骤 ............................................................................. 39
FPGA 实现 ............................................................................................................... 40
结果分析:............................................................................................................. 48
基于 FPGA 灰度图像高斯滤波算法的实现 ..................................................................... 49
内容概要 ................................................................................................................ 49
高斯滤波算法实现步骤 .......................................................................................... 50
FPGA 实现 ............................................................................................................... 51
总结: .................................................................................................................... 58
基于 FPGA 图像处理之 sobel 算子边缘检测算法的实现 ................................................ 59
背景知识 ................................................................................................................ 59
FPGA 实现 ............................................................................................................... 60
实现结果:............................................................................................................. 69
基于 FPGA 的 5 寸 LCD 显示屏的显示控制 ..................................................................... 71
图像处理基础知识 ................................................................................................. 71
LCD 显示的基本原理 .............................................................................................. 72
FPGA 实现 ............................................................................................................... 73
实验结果:............................................................................................................. 81
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
说 明
本教程为小梅哥 AC620 FPGA 开发板适配的图像处理
相关教程,旨在展示使用 FPGA 进行图像处理的一般方
法,例程源码基于《FPGA 自学笔记——设计与验证》一
书第 6.6 节内容,通过加入图像处理算法得到。具体例程
使用方法,与书中板级验证方法一致。教程内容将会不定
期更新新的算法内容,所有例程源码,均可在芯航线
FPGA 客户专属群“286285840”群文件下载。如果文档有
修正或更新,也将及时上传在群文件。
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
基于 FPGA 图像处理之 RGB 转灰度算法的实现
背景知识
在正式入题之前先给大家讲解一下 gray 图像,YUV 图像以及 Ycbcr 图像。
Gray 图像:灰度(gray)图像就是我们常说的黑白图像,由黑到白为灰阶为
0-255(8bit)。
YUV 是被欧洲电视系统所采用的一种颜色编码方法(属于 PAL),是 PAL
和 SECAM 模拟彩色电视制式采用的颜色空间。在现代彩色电视系统中,通常采
用三管彩色摄影机或彩色 CCD 摄影机进行取像,然后把取得的彩色图像信号经
分色、分别放大校正后得到 RGB,再经过矩阵变换电路得到亮度信号 Y 和两个
色差信号 B-Y(即 U)、R-Y(即 V),最后发送端将亮度和色差三个信号分别
进行编码,用同一信道发送出去。这种色彩的表示方法就是所谓的 YUV 色彩空
间表示。采用 YUV 色彩空间的重要性是它的亮度信号 Y 和色度信号 U、V 是分
离的。YUV 主要用于优化彩色视频信号的传输,使其向后相容老式黑白电视。
与 RGB 视频信号传输相比,它最大的优点在于只需占用极少的频宽(RGB 要求
三个独立的视频信号同时传输)。其中“Y”表示明亮度(Luminance 或 Luma),也
就是灰阶值;而“U”和“V” 表示的则是色度(Chrominance 或 Chroma),作用是
描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是透过 RGB 输入信号来
建立的,方法是将 RGB 信号的特定部分叠加到一起。“色度”则定义了颜色的两
个方面─色调与饱和度,分别用 Cr 和 Cb 来表示。其中,Cr 反映了 RGB 输入信
号红色部分与 RGB 信号亮度值之间的差异。而 Cb 反映的是 RGB 输入信号蓝
色部分与 RGB 信号亮度值之间的差异。
Ycbcr 或 Y'CbCr 有的时候会被写作:YCBCR 或是 Y'CBCR,是色彩空间
的一种,通常会用于影片中的影像连续处理,或是数字摄影系统中。Y'为颜色的
亮度(luma)成分、而 CB 和 CR 则为蓝色和红色的浓度偏移量成份。Y'和 Y 是不
同的,而 Y 就是所谓的流明(luminance),表示光的浓度且为非线性,使用伽马
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
修正(gamma correction)编码处理。
FPGA 实现 RGB 图像转 Gray 图像方法
一般 RGB 像转灰度(gray)图像有两种方法:
1)使用 RGB 图像的单通道去显示图像(R,G 或 B)。
2)RGB 图像转换成 Ycbcr 图像,使用 Y 分量去显示图像,来实现彩色
图像转灰度图。
RGB 单通道实现灰度图像的转换
图 1 R/G/B 单通道实现灰度图像的显示
由图 1 所示,在基于 uart 传图的基础上我们增加了 R/G/B lane 模块来实现
rgb 转 gray 图像的显示。
RGB 单通道实现灰度图像 FPGA 源码:
//----------------------------------------------------------------------
// R G B to gray
//----------------------------------------------------------------------
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
FPGAUart_rxWr_fifoSDRAM_controlRd_fifoTFT_CTLLCD displaySDRAMPCR/G/Blane
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
wire [15:0] rgb;
assign TFT_rgb = {rgb[15:11],rgb[15:11],1'b0,rgb[15:11]}; //red
//assign TFT_rgb = {rgb[10:6],rgb[10:5],rgb[10:6]}; //green
//assign TFT_rgb = {rgb[4:0],rgb[4:0],1'b0,rgb[4:0]}; //blue
实现结果:
图 2 莲花原图
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
图 3 莲花 Red 分量灰度图像
图 4 莲花 Green 分量灰度图像
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
小梅哥FPGA团队,专注于培养您的FPGA独立开发能力 开发板 培训 项目研发三位一体
图 5 莲花 Blue 分量灰度图像
由图 3,4,5 三个分量显示图像来看,Green 分量显示效果较好,脉络清晰,
红色分量灰度图像偏亮,蓝色分量灰度图像偏暗。大家可以多试其他图像,这种
方法比较简单,容易实现。
RGB 图像转 Ycbcr 图像实现 gray 图像。
图 6 Y lane 分量实现灰度图像
店铺:https://xiaomeige.taobao.com 官方网站:www.corecourse.cn
技术博客:http://www.cnblogs.com/xiaomeige/ 技术群组:615381411
FPGAUart_rxWr_fifoSDRAM_controlRd_fifoTFT_CTLLCD displaySDRAMPCYcbcrY lane