关于图像处理高斯滤波的笔记(1)

作者: Kevin 分类: FPGA学习笔记 发布时间: 2019-11-06 10:22

注:本篇文章由【开源骚客:OpenSoc】公众号首发,现转载至个人博客。

开源骚客公众号专注于分享FPGA项目开发经验,希望帮助到更多学习FPGA的朋友,欢迎大家投稿。如果大家有其他需求,添加Kevin微信:opensoc888,注明:FPGA

一旦开始使用 FPGA 开始进行图像处理,就会越发爱上 FPGA 对图像处理的实时性,从此一发不可收拾!

因为最近在学习一本图像处理算法书籍中关于图像增强的算法,大家可以先看看这个图像增强算法的效果。下面给一张书中原图和Matlab 仿真的结果图。

图1 书中原图

图二  Matlab 仿真结果

大家有没有觉得这个图像增强算法实在是太让人震撼了,能把一幅对比度极低的图片增强到能把之前比较黑的地方看得很清晰,比起什么直方图均衡这种 low B 算法,那可是强太多了!

当时看到这个算法的第一反应就是,FPGA这么一个牛 X 的玩意儿,能不能实现这个算法呢?

大家看到这,是不是很迫切的想知道介绍这个算法到底是一本什么样的书呢?

书呢就是这样的一本书,大家感兴趣的可以在网上自行购买。

这本书里面涉及的算法种类还是非常多的,咱们再稍微看下目录吧,满足一下大家的好奇心。

这本书,我这里没有 PDF 电子版,大家就不用找我要了,我也是买的纸质书看的。

关于这本书的内容到底是好还是坏呢?站在客观的角度来讲,其内容的丰富度极高,涉及的算法非常多。当然也有一个美中不足的地方,每一种算法就大致介绍一下其原理。
书中并未给出具体的用某种语言实现的代码。如果是刚刚接触图像处理的朋友,很大程度是看不太懂的。关于书籍本身,就先介绍这么多,咱们这篇文章还是回到高斯滤波上来。

 

对于高斯滤波这个算法本身来讲,网上是有非常多的文章,也有很多关于如何用 FPGA 实现高斯滤波的文章。那些文章用的高斯卷积核一般是3 * 3的矩阵大小,其权重矩阵也是会由那些文章直接给出。问题的关键是,现在这个图像增强算法,会用到高斯滤波,但其卷积核并不是 3*3 大小的,是更大的卷积核。

 

如果有做过 sobel 图像边缘检测算法的朋友,应该会了解高斯滤波会有一个权重矩阵,类似 sobel 算子的系数矩阵。(插播一条小广告,如果大家有想学习FPGA实现sobel算法的同学,可以购买Kevin录制的入门级图像处理课程:【开源骚客 FPGA图像处理 Sobel 边缘检测  人脸检测  FPGA视频教程】https://m.tb.cn/h.espeCqz?sm=207720 嚸↑↓擊鏈バ接,再选择瀏覽嘂..咑№亓;或復ず■淛这句话₴TmRXYtnSLCD₴后咑閞淘灬寳

 

很多文章会直接给出3*3高斯卷积核的权重矩阵,但对于更大的权重矩阵,并不知晓如何获取,如7*7的权重矩阵,11*11的权重矩阵,甚至是81*81的权重矩阵。
这个时候就需要回到高斯滤波算法的公式本身了。

在高斯函数曲线中,σ描述正态分布资料数据分布的离散程度,σ越大,数据分布越分散,σ越小,数据分布越集中。σ也称为是正态分布的形状参数,σ越大,曲线越扁平,反之,σ越小,曲线越瘦高。

如果需要获取更大尺寸的高斯权重矩阵值,只需要将公式中的 x 和 y 两个变量设置成相应大小的向量就 OK 了!

 

举个栗子:
如果想获取 5*5 的权重矩阵系数,可以将 x = 1, 2 , 3 , 4 , 5 和 y = 1, 2 , 3 , 4 , 5。或者将x = -2, -1, 0, 1, 2 和 y =  -2, -1, 0, 1, 2 带入公式求取其权重系数,σ 可以自己取值,之后再进行归一化处理。

 

获取其他尺寸的权重矩阵,也是使用同样的方式进行计算。如果自己手动去算,肯定是比较麻烦的,咱们可以借助 Matlab 直接算出来。

 

计算 5*5 权重矩阵的 Matlab 代码如下:
 fspecial(‘gaussian’,[5,5],1)

[5 , 5] 表示权重矩阵的尺寸大小,1为 σ 的值。

敲重点:这些值怎么在FPGA内部进行使用呢?

可以将这些系数都统一乘上 1000,将小数转成整数,待运算之后再将结果同意除以1000。

今天的笔记就先分享到这,主要是分享:当需要自定义高斯滤波的权重矩阵尺寸时,可以通过 Matlab 获取其权重矩阵的参数。


重要提醒想学习FPGA的朋友福利来了,为了方便广大想入门FPGA的小白们,Kevin 录制了一套零基础入门的课程,课程结合线下班学员的常见入门疑惑,并加入由易到难的上手练习,不对着PPT念,从0开始带着设计时序敲代码。目前课程已录制10多讲,1080P高清无码播放。
Kevin 录制的视频,质量你们是清楚的!

视频何时公开,免费还是收费,大家可以关注【开源骚客】公众号给我留言哦!
4709

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注