图像处理基础算法归类

来源:互联网 发布:python 上传图片 编辑:程序博客网 时间:2024/05/21 06:20

     从事图像处理这个行当也已经有一段时间了,对于一个自动化毕业的本科生,确实是磕磕绊绊的走到现在了,前期的基础图像处理还基本上能够轻松上手,越到后面的机器学习算法,用到的数学知识也就越深了,所以越到后面会越困难的。现在回想下之前的图像处理基础算法,其实是可以归纳到数学各个领域的。下面简单介绍下一些基础图像处理算法,当然主要是讲自己对其的归类理解,有不对的之处,大伙一起探讨。如果想要这些算法的具体实现,给推荐几个博客(百度的),我也是从这些类似的博客起步的:

http://www.cnblogs.com/drizzlecrj/archive/2008/02/25/1077494.html

http://blog.csdn.net/xizero00/article/details/6631209

     主要的基础图像处理算法有:灰度化,二值化,投影法,差影法,图像采样,增强,分割,边缘提取,匹配等。

    下面讲讲这些算法最基础实现时按照数学知识归类:

     1. 初等代数类:

  ①.灰度化:一般灰度化是用加权平均的,这个在我们小学都可以解决了,f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j));

②二值化:其实二值化就是一个分段的0-1函数;

③差影法:这类的帧差发,前景提取法,都是一个减法,当然如果有背景建模之类的,那就背景建模的算法就属于高等代数或者概率统计的知识了;

④图像锐化:一般的图像锐化算法也是相邻像素点之间的初等代数运算,运算如下:

设f(i,j)像素为(r1, g1, b1) , f(i-1,j-1)像素为(r2,g2,b2), g(i,j)像素为(r,g,b),则
r = r1 + 0.25 * |r1 - r2|
g = g1 + 0.25 * |g1 - g2|
b = b1 + 0.25 * |b1 - b2|

⑤图像的叠加,浮雕效果等也都是属于初等代数的;

    2.概率统计类:

①.投影法:像直方图统计之类的,是属于统计类的;

②.匹配算法:当然匹配算法也可以用线性代数,高等代数做,但是像方差匹配之类是属于概统的;

③图像采样:一听采样就知道是概统的,其中有图像区域采样,随机采样,分布采样,上/下采样;但是一般的采样算法都要结合代数知识进行应用,比如对图像感兴趣区域进行提取,可能还要用到插值算法进行归一化之类的;

     3.高等代数:

①边缘提取:这主要用到的是一阶二阶微分,卷积等知识,这些都是高等代数中的基础;

②图像滤波:卷积滤波,高通滤波;

这有一片关于图像卷积实现方法的文章,讲的很好:

http://blog.sina.com.cn/s/blog_4bdb170b01019atv.html

     4.几何学:

这部分主要是在于图像中物体的形态特征的描述,像圆,直线,曲线,方形等几何图形的特征描述算子,了解这些可以进行物体的特征提取判别;

还有就是角度,使用正余弦定理结合线性代数,可以进行图像线性匹配;

     5. 线性代数:

其实个人认为线性代数也是属于高等代数,线代的矩阵问题也是可以转换为高等代数的方程计算的,当然高等数学的方程,转换为矩阵的话,计算起来会更加形象化,还会有很多简化算法;

①PCA降维:这个是基础的人脸识别算法,很好的引用了矩阵的特征值,特征向量等知识,是经典算法;

②匹配:结合几何等特征,可以对图像进行线性匹配;

③非线性的线性化,通过类hogh等变换,可以将高维非线性数据,线性化进行处理,这样可以提高效率,简化算法。


在图像基础处理算法中很多其实是各种数学知识的综合,要灵活应用各种数学知识才能更加高效率的对图像数据进行处理。这也足见数学知识对于图像处理的重要性,但是一些很简单的图像处理算法,其实用很简单的数学知识就能解决,所以学起来也要有信心,从简单到困难,一步一步脚踏实地的来。

以上属于个人的一点看法,如果不对,请各位武林高手指正补充。


原创粉丝点击