计算机视觉入门(2)

 

第二节课: Linear Filters(线性滤波器?过滤器?感觉线性滤镜比较靠谱)

 

这节课大纲: 图片组成(image formation), 图片的噪点(image noise),线性滤镜(linear filter),卷积/相互关系(convolution/correlation)

 

1. 图片组成 (Image formation)

【黑白图片】

 扔图吧,感觉图片清晰易懂。 就是说2D图片其实就是一个matrix,很多像素点吧我是这么理解。

 

 

 


 

 

【彩色图片】

这里要提到拜耳滤镜(Bayer Filter)[他于1976年发表了 拜尔滤镜(Bayer filter),这项 专利技术广泛被应用在现代的 数位相机之中,被尊称为 数位影像之父。cited from youdao词典]。 维基百科走一波,建议去维基百科看一看介绍:

拜尔滤色镜英语:Bayer filter)[注 1]是一种将RGB滤色器排列在光传感组件方格之上所形成的马赛克彩色滤色阵列。数码相机、录影器、扫描仪等使用的单片机数字图像传感器大多数用这种特定排列的滤色阵列来制作彩色影像。这种滤色器的排列[注 2]有50%是绿色,25%是红色,另外25%是蓝色,因此也称做RGBG[1][2] ,GRGB[3] ,或者RGGB[4]

拜尔滤色镜以发明者伊士曼柯达公司布莱斯.拜尔命名。拜尔也以有序抖动法[注 3]中使用的递归定义矩阵[注 4]而闻名于世。【取自维基百科】

 

 

 

 其实就是个过滤器,过滤红绿蓝RGB,蓝色只有蓝色像素点可以通过,红色只有红色像素点可以通过,绿色同理。

 

 

过滤效果, 见下图傻猴子:

 


 

 

插话: 紧接着提到了Matlab里图像方程结构,没兴趣的或者已经知道的可以跳过这一段:

1. 图片在Matlab里是以矩阵(matrix)形式出现.

2.  im(1, 1, 1)就是说第一个row 第一个col和第一层。也就是第一个的左上角(0.92). 

  im(y, x, b)就是y pixel down, x pixel to right in b(th) channel. 往下走y像素,右走x像素,在第b层。

 

3. imread(filename) 返回一个unit8图像(0-255), 也可以转换成 double format(value 0 - 1) using im2double. 这里标注一下这其实就是两种不同的数字形式0-255和0-1差不多,越接近255或者1,这个像素点更白,越近0,这个像素点越黑。0为纯黑色,255或者1为纯白色。(应该是这样...)

 


 

 

c. 图片滤镜介绍:

什么时候使用:1. 提升图片质量Enhance an image(比如降噪,重新编辑文件的大小,提升对比度等等).  2. 获取信息Extract information(文字,边缘,有兴趣的点等等). 3.检测图案(Detect pattern)

 

2. 图片的噪声(Image noise)

噪点其实就是图片里你并不需要并且会影响图片质量的像素点. 

常见的噪点: 1. Salt and pepper noise(盐和胡椒),这个命名很亲切,因为这个噪音就是在一张图片中任意部分的一些黑色或者白色的点。

      2. Impulse noise(脉冲噪声): 随机分布的一些白像素点。

        3. Gaussian noise(高斯噪声): variations in intensity drawn from a Gaussian normal distribution. 大概就是说以一个正态分布的形式的噪点。下图:

 

提到即使是看起来很相似的图片,其实也是不一样的,见下图.

 

 

3. 线性滤镜 (Linear filter)

这里开始尝试解决这些噪音(image noise point)。

假设: 所有的像素(pixel)和他们的邻居都很相似,并且每一个都是独立的。(Expect pixels to be like their neighbors, and Expect noise processes to be independent from pixel to pixel) .

尝试解决1D图形噪音,下面两张图片很清楚:

 

 2D图形中也是求平均数,这个例子里用了一个3*3的matrix。 注意这里matrix必须要是3*3以上。 因为需要最中间的中间点。计算方法就是从左上角开始,9个点的数字全部加起来除以9,得到的结果放入3*3 matrix 最中间的点的位置。

 

 

 

4. 卷积/相互关系 (convolution/correlation)

 

这两页没看懂是什么卵东西。。。

 

接下来讨论到了如何使图片变平滑(smoothing an image)。通俗一点就是怎么变模糊,类似于马赛克但也不是。

有两种方法: 1. Gaussain(高森方法). 2. Smoothing by boxfilter(使用平均数). 使用高森方法出来的结果会比较平滑,boxfliter会比较有颗粒感,图片很好,见下图

 

 

 详解Gaussian,其实就是给h[u,v]求个平均数:

 

讲解Convolution,然后比较一下Convolution和Correlation: 

Convolution其实就是把图片翻转再反转,上到下,右到左。

 

 

最后出了一道题考考大家: 下图三个图片输出应该是什么样子的?

 

.

.

.

左上角的很简单,标准matrix,结果不变。 右上角的应该是图片整体左移一个位置,因为你最右边的放到了中间。第三个比较麻烦了,但是可以拆分一下:见下图

 

 左上角答案:

 

右上角答案:

 

 下面的答案:

 

 

 

 

 

 

 

注明: [以上信息参考于一个韩国大佬教授]

转载于:https://www.cnblogs.com/gaiyuanzheng/p/8759365.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值