图像处理基础知识笔记

一、噪声

1.噪声产生的原因:传感器源的质量、光照的影响、质量的影响

2.加性噪声:与信号关系相加

3.乘性噪声:与信号关系相乘,与信噪比有关,随机性是变性

白噪声:功率谱在整个频域内分布的噪声

高斯噪声:呈高斯型

 

二、滤波

eg:利用矩形框低通滤波器来滤波

在频域里面是个有波峰波谷的曲线,有些高通的是可以通过的,滤波后会出现锯齿状不平滑的效果,

振铃现象。

 

二维的滤波我们称为相关:h = filter2(g,f);

二维卷积的话,如果是对称的则一样,不对称不一样,但是意义一样:h[m,n] =k,j g[k,l]f[m-k,n-l]

高斯滤波器:opencv:filter2D()

中值滤波器(非线性):对椒盐噪声效果很好

Bilateral filter(双边滤波器):保边

相关运算(可以用来做模板匹配,耗时长):欧式距离、归一化自相关

eg:数字散斑相关方法

 

三、边缘检测

边缘的产生:深度(景深)上的不连续、物体表面对光的反射率不同、照明问题(eg:阴影)

具体图像中由于灰度变化会产生边缘

提取边缘的方法:一阶导数求极值或者二阶导数为0

得到竖直方向边缘的算子[-1,0,1],得到水平方向边缘[-1,0,1]-1(Y方向求偏导)

图像的拉普拉斯用的就是二阶导数,但二阶导数对噪声非常敏感,所以要事先滤波(一般是高斯滤波器)

eg:Canny算子:非极大值抑制,D ={0,45,90,135}方向极大值的值,非极大值为0,极大值求出其值。

实现的时候如阈值的选择,阈值太大,会有断断续续的边缘,小,会检测太多。Canny是用强边缘和弱的边缘的连集,断续的舍去。Canny可以检测边缘和对比度的变化,不是线性的滤波器。

 

四、车牌识别项目

ANPR:automatic park recogniziation

任务:检测、识别。其中检测涉及到分割和特征的提取。先提取可能的车牌的位置,看下是否存在车牌,如果识别到有车牌,进行车牌的显示。

OCR涉及到对每个部分分割并进行特征提取。

车牌检测与定位:图像分割,对分割部分分类与定位。

SOBEL找竖直边缘,再分割(TOSU大津算法),闭运算连通车牌的位置,并矩形框逼近连通区域的形状。用模板做一个与运算,根据长宽比筛选,得到车牌的区域。再进行仿射变换得到较正的车牌。

大津算法:利用最大类间方差来实现图像的二值化。分割前景和背景

字符用ANN或者OCR。先阈值分割,再找到轮廓。

根据水平和竖直方向的直方图来说明数字几,比如数字2、数字5.

SVM:到两个类别的距离最大。把决定超平面位置的点叫作支持向量

遇到非线性问题则把数据往高维空间转变成线性问题,但可能遇到空间爆炸问题,造成维度增长,则引进Kernel

 

五、霍夫变换

如果斜率不是无穷,则用笛卡尔坐标;如果斜率无穷,则用极坐标。

霍夫直线检测在opencv中,输入需要时8位的图像。

如果要检测圆,当半径固定时,霍夫变换过去还是圆,但如果半径不固定,则是圆锥。

先进行边缘检测,(canny),再用梯度(sobel),在梯度方向上进行投票,当累加器累加达到一定阈值时,从候选中心出发找到

 

六、图像局部特征

1.Blob特征检测之blob与corner

blob detetion:高斯拉普拉斯算子LOG、像素点Hessian矩阵行列式DOH eg:SIFT SURF

corner dection   eg:Harris Fast

2.特征描述

得到特征点还需要得到它的位置,方向(特征描述子,eg:浮点型二进制2)

梯度统计直方图或二进制字符串特征描述子(SURF、SIFT用的都是此类)

BRIEF,ORB,BRISK,FREAK算法根据二进制进行改进。

3.角点

在任何方向灰度都会有大的变化,说明角点找到了。

刚开始在四个方向讨论灰度变化值,E(u,v) = \sum w(x,y)[I(x+u,y+v)-I(x,y)]2

找到(1,0)、(1,1),(0,1),(-1,-1)方向的最小值,方向太少,可能会有噪点。

harris进行泰勒展开,可以在任意方向展开,R = det(M) - \alpha trace(M)^{2} = \lambda _{1}\lambda _{2} - \alpha (\lambda _{1}+\lambda _{2} )^{^{2}}

4.图像匹配

如何匹配,在不同尺度下极值一下。尺度空间:Scale Space ,尺度越小描绘得越精细,尺度越大描绘得越粗糙。

利用高斯模糊来进行尺度变换。

用拉普拉斯高斯来描绘。

DOG是LOG的近似,构造尺度空间,在三维空间里找极值。DOG不做降采样,做了高斯模糊,SIFT利用DOG进行了下采样。

8层是从512*512大小的图像到256*256到128*128一直到8*8这层。一层层进行高斯卷积,卷积的公式

 

七、杂七杂八

Opencv2.3之后变化非常大,增加了很多功能,比如读取文件。用2.4,功能多,比较稳定,GPU也很好。vs2010笨重,速度慢,13或者15更好。13用来做Opencv比较好。

Mat浅拷贝,深拷贝。用深拷贝生成两块数据空间,clone,copyto。

Vec3b,遍历的顺序是BGR。Iteator器访问,uchar类型是(0,255)。指针访问,只能在运行的时候报错,不太建议用指针来寻址。如果需要速度的话,需要用指针。

未完待续。。。。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值