图像处理--知识点整理
2017-03-26 10:23
246 查看
这一篇博文是对图像处理的知识点和资料的整理.
机器学习相关知识
聚类问题
k-means
GMM
分类问题
svm
随机森林
神经网络
贝叶斯分类
回归问题
逻辑回归
线性回归
颜色空间及转换
特征提取
1 颜色特征
11 颜色直方图
12 颜色集
13 颜色矩
2 纹理特征
21 灰度共生矩阵
22 LBP
23 随机场模型
24 分型模型
25 Gabor滤波
26 小波变换
3 局部特征
31 Harris角点
32 Sift特征
33 Surf特征
4 其它特征
41 Hog特征
42 Haar特征
图像变换
1 滤波
2 边缘检测
3 霍夫变换
4 仿射变换
5 透视变换
图像分割
1 阈值分割
11 OTSU
12 最大熵
2 基于区域的分割
21 区域分裂合并法
22 分水岭方法
3 基于图论的分割方法
31 GrapyCut
32 GrabCut
33 Random Walk
4 基于能量泛函的分割方法
5 彩色分割
51 边缘检测加区域生长
52 颜色直方图
53 meanshift
54 Kmeans 分割
图像增强与恢复
1 基于颜色直方图的方法
11 Gamma校正
12 直方图均衡化
2 图像恢复
其它技术
1 稀疏表示与字典学习
2 OCR
直方图之间的相似性度量是对于颜色直方图最基本的操作,可以用来衡量图像之间的相似性.
对比的方法,opencv 提供了四种:
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html
其中chi-square是解决以下问题:比如:
H1.red[0] = 0.001 H2.red[0] = 0.011
H1.red[0] = 0.1 and H2.red[0] = 0.11
虽然两种情况下差值相同,但是直方图距离应该是不同.
还有一种对比方法叫做交叉对比(Cross-bin-comparison):
http://stackoverflow.com/questions/6499491/comparing-two-histograms
比如说bin[i]代表的是红色,bin[j]代表的是暗红色,bin[k]代表的是绿色. M代表的是一个权重矩阵,那么M(i,j)比较大,M(i,k)比较小,最后的距离就是:
sqrt((H1-H2)*M*(H1-H2))
三个颜色矩的数学定义如下:
![](http://img.blog.csdn.net/20170326143527892?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjkzMTU4Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
基于统计的特征,比如灰度共生矩阵,LBP
取图像(N×N)中任意一点(x,y)及偏离它的另一点(x+a,y+b),设该点对的灰度值为(g1,g2)。令点(x,y)在整个画面上移动,则会得到各种(g1,g2)值。设灰度值的级数为L,则(g1,g2)的组合共有k(k=L*L)种。对于整个画面,统计出每一种(g1,g2)值出现的次数,然后排列成一个方阵,再用(g1,g2)出现的总次数将它们归一化为出现的概率P(g1,g2),这样的方阵称为灰度共生矩阵。距离差分值(a,b)取不同的数值组合,可以得到不同情况下的联合概率矩阵。(a,b) 取值要根据纹理周期分布的特性来选择,对于较细的纹理,选取(1,0)、(1,1)、(2,0)等小的差分值。
当a=1,b=0时,像素对是水平的,即0度扫描;当a=0,b=1 时,像素对是垂直的,即90度扫描;当a=1,b=1时,像素对是右对角线的,即45度扫描;当a=-1,b=-1时,像素对是左对角线,即135度扫描。
http://www.cnblogs.com/8335IT/p/5648445.html
http://blog.csdn.net/xw20084898/article/details/20528997
基于模型的特征,随机场模型(最广泛的就是MRF,还有自回归纹理模型SAR),分形模型(分数布朗运动FBM模型,自相似模型ESS)
http://lib.csdn.net/article/machinelearning/46301
SAR自回归纹理模型
http://blog.sina.com.cn/s/blog_92c398b00102vs4o.html
https://wenku.baidu.com/view/8d1372b0d0d233d4b14e69c5.html
http://blog.csdn.net/daisy9212/article/details/49184271
http://blog.csdn.net/zouxy09/article/details/7929348/
http://blog.csdn.net/zouxy09/article/details/7929570/
http://www.cnblogs.com/ghj1976/p/5199086.html
http://blog.csdn.net/hitwengqi/article/details/6888783
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html
http://www.cnblogs.com/skyseraph/archive/2010/12/21/1913058.html
就是求最大类间方差,具体可以参考 http://blog.csdn.net/liyuanbhu/article/details/49387483
http://blog.csdn.net/happygirlliu520/article/details/47026649
阈值分割其实都是基于灰度直方图的方法,求取最优划分.
这是最基础的图像分割方法,做法就是提取出颜色直方图,然后选取直方图范围进行分割.
http://www.cnblogs.com/skyseraph/archive/2011/06/14/2081042.html
meanshift 同样可用于目标跟踪: http://blog.csdn.net/jinshengtao/article/details/30258833
http://blog.csdn.net/jteng/article/details/48811881
每一个像素点都是一个向量,这个向量可以是只有颜色信息,也可以是颜色信息加空间信息,在进行聚类的时候,向量特征需要进行归一化,也可以进行加权.
kmeans 可以用来进行图像预处理,这样颜色就只会有k类.
需要gamma校正的原因有两个,一个是人眼对于光的感知是非线性的,另外一个就是当前由于存储空间和传输效率的限制,用256个灰阶进行描述颜色,灰阶不够充分所以在采样的时候就尽量在亮和暗的区域(对于人眼,暗是0-22%反射率,亮是22%-100%)各用128个来描述,假如可以用32位图像来描述,那么就有4billion多个灰阶,即使不进行校正,暗的区域用4billion*22%个色阶描述,那也足够了。
机器学习相关知识
聚类问题
k-means
GMM
分类问题
svm
随机森林
神经网络
贝叶斯分类
回归问题
逻辑回归
线性回归
颜色空间及转换
特征提取
1 颜色特征
11 颜色直方图
12 颜色集
13 颜色矩
2 纹理特征
21 灰度共生矩阵
22 LBP
23 随机场模型
24 分型模型
25 Gabor滤波
26 小波变换
3 局部特征
31 Harris角点
32 Sift特征
33 Surf特征
4 其它特征
41 Hog特征
42 Haar特征
图像变换
1 滤波
2 边缘检测
3 霍夫变换
4 仿射变换
5 透视变换
图像分割
1 阈值分割
11 OTSU
12 最大熵
2 基于区域的分割
21 区域分裂合并法
22 分水岭方法
3 基于图论的分割方法
31 GrapyCut
32 GrabCut
33 Random Walk
4 基于能量泛函的分割方法
5 彩色分割
51 边缘检测加区域生长
52 颜色直方图
53 meanshift
54 Kmeans 分割
图像增强与恢复
1 基于颜色直方图的方法
11 Gamma校正
12 直方图均衡化
2 图像恢复
其它技术
1 稀疏表示与字典学习
2 OCR
0 机器学习相关知识
聚类问题
http://blog.csdn.net/abcjennifer/article/details/8170687k-means
GMM
分类问题
svm
随机森林
神经网络
贝叶斯分类
回归问题
逻辑回归
线性回归
1 颜色空间及转换
http://www.cnblogs.com/skyseraph/archive/2011/05/03/2035643.html2 特征提取
http://blog.csdn.net/passball/article/details/52041322.1 颜色特征
2.1.1 颜色直方图
颜色直方图是一种最基本的颜色特征直方图之间的相似性度量是对于颜色直方图最基本的操作,可以用来衡量图像之间的相似性.
对比的方法,opencv 提供了四种:
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html
其中chi-square是解决以下问题:比如:
H1.red[0] = 0.001 H2.red[0] = 0.011
H1.red[0] = 0.1 and H2.red[0] = 0.11
虽然两种情况下差值相同,但是直方图距离应该是不同.
还有一种对比方法叫做交叉对比(Cross-bin-comparison):
http://stackoverflow.com/questions/6499491/comparing-two-histograms
比如说bin[i]代表的是红色,bin[j]代表的是暗红色,bin[k]代表的是绿色. M代表的是一个权重矩阵,那么M(i,j)比较大,M(i,k)比较小,最后的距离就是:
sqrt((H1-H2)*M*(H1-H2))
2.1.2 颜色集
为了提高检索的速度,Smith和Chang提出了用颜色集的方法,首先将RGB颜色空间转换成视觉均衡的颜色空间(HSV),并将颜色空间量化成若干个bin,然后运用颜色自动分割技术将图像分为若干个区域,每个区域用量化颜色空间的某个颜色分量来索引,从而将图像表达成一个二进制的颜色索引表。在图像匹配中,比较不同图像颜色集之间的距离和颜色区域的空间关系。因为,颜色集表达为二进制的特征向量,可以构造二分查照树来加快检索速度,对大规模的图象集合十分有力。2.1.3 颜色矩
颜色矩是一种简单而有效的颜色特征,是由Stricker和Oreng提出的,这种方法的数学基础是图像中的任何的颜色分布均可以用它的矩来表示。此外,由于颜色分布信息主要集中在低阶矩中,因此,仅采用颜色的一阶矩(mean)、二阶矩(Variance)和三阶矩(Skewness)就足以表达图像的颜色分布,与颜色直方图相比,该方法的另一个好处是无须对特征进行量化。三个颜色矩的数学定义如下:
2.2 纹理特征
http://www.docin.com/p-1769701476.html基于统计的特征,比如灰度共生矩阵,LBP
2.2.1 灰度共生矩阵
对图像上单个象素具有某个灰度进行统计的结果,而灰度共生矩阵是对图像上保持某距离的两象素分别具有某灰度的状况进行统计得到的。取图像(N×N)中任意一点(x,y)及偏离它的另一点(x+a,y+b),设该点对的灰度值为(g1,g2)。令点(x,y)在整个画面上移动,则会得到各种(g1,g2)值。设灰度值的级数为L,则(g1,g2)的组合共有k(k=L*L)种。对于整个画面,统计出每一种(g1,g2)值出现的次数,然后排列成一个方阵,再用(g1,g2)出现的总次数将它们归一化为出现的概率P(g1,g2),这样的方阵称为灰度共生矩阵。距离差分值(a,b)取不同的数值组合,可以得到不同情况下的联合概率矩阵。(a,b) 取值要根据纹理周期分布的特性来选择,对于较细的纹理,选取(1,0)、(1,1)、(2,0)等小的差分值。
当a=1,b=0时,像素对是水平的,即0度扫描;当a=0,b=1 时,像素对是垂直的,即90度扫描;当a=1,b=1时,像素对是右对角线的,即45度扫描;当a=-1,b=-1时,像素对是左对角线,即135度扫描。
http://www.cnblogs.com/8335IT/p/5648445.html
http://blog.csdn.net/xw20084898/article/details/20528997
2.2.2 LBP
http://blog.csdn.net/quincuntial/article/details/50541815基于模型的特征,随机场模型(最广泛的就是MRF,还有自回归纹理模型SAR),分形模型(分数布朗运动FBM模型,自相似模型ESS)
2.2.3 随机场模型
MRF就是马尔科夫随机场http://lib.csdn.net/article/machinelearning/46301
SAR自回归纹理模型
http://blog.sina.com.cn/s/blog_92c398b00102vs4o.html
2.2.4 分型模型
信号处理类的提取方法,一般都是从变换域提取纹理特征,比如Gabor滤波,小波变换2.2.5 Gabor滤波
http://blog.csdn.net/jinshengtao/article/details/177976412.2.6 小波变换
https://zhuanlan.zhihu.com/p/22450818?refer=dong5https://wenku.baidu.com/view/8d1372b0d0d233d4b14e69c5.html
http://blog.csdn.net/daisy9212/article/details/49184271
2.3 局部特征
http://blog.csdn.net/jwh_bupt/article/details/76216812.3.1 Harris角点
http://blog.csdn.net/jwh_bupt/article/details/76286652.3.2 Sift特征
http://blog.csdn.net/abcjennifer/article/details/76396812.3.3 Surf特征
http://blog.csdn.net/jwh_bupt/article/details/65648352.4 其它特征
2.4.1 Hog特征
方向梯度直方图http://blog.csdn.net/zouxy09/article/details/7929348/
2.4.2 Haar特征
最早是用来人脸表示http://blog.csdn.net/zouxy09/article/details/7929570/
3 图像变换
3.1 滤波
http://blog.csdn.net/zouxy09/article/details/490800293.2 边缘检测
3.3 霍夫变换
3.4 仿射变换
可以实现图像的拉伸,缩放,平移,旋转等变化http://www.cnblogs.com/ghj1976/p/5199086.html
http://blog.csdn.net/hitwengqi/article/details/6888783
http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html
3.5 透视变换
http://blog.csdn.net/hitwengqi/article/details/68902204 图像分割
4.1 阈值分割
汇总:http://www.cnblogs.com/skyseraph/archive/2010/12/21/1913058.html
4.1.1 OTSU
这个就是最常用的大津法.就是求最大类间方差,具体可以参考 http://blog.csdn.net/liyuanbhu/article/details/49387483
4.1.2 最大熵
就是求使两个类之间的熵最大的阈值.http://blog.csdn.net/happygirlliu520/article/details/47026649
阈值分割其实都是基于灰度直方图的方法,求取最优划分.
4.2 基于区域的分割
4.2.1 区域分裂合并法
区域分裂合并法(Gonzalez,2002)的基本思想是首先将图像任意分成若干互不相交的区域,然后再按照相关准则对这些区域进行分裂或者合并从而完成分割任务,该方法既适用于灰度图像分割也适用于纹理图像分割。4.2.2 分水岭方法
大致有两种方法,一个是基于灰度值的,另外一个是基于距离变换的(MATLAB 就是用的这种).4.3 基于图论的分割方法
此类方法把图像分割问题与图的最小割(min cut)问题相关联。首先将图像映射为带权无向图G=4.3.1 GrapyCut
4.3.2 GrabCut
4.3.3 Random Walk
4.4 基于能量泛函的分割方法
主要就是指的水平集方法4.5 彩色分割
4.5.1 边缘检测加区域生长
首先利用边缘检测生成种子点,然后进行区域生长 http://www.cnblogs.com/skyseraph/archive/2011/05/22/2047049.html4.5.2 颜色直方图
颜色直方图一般是作为一个图像特征来使用,但是也可以直接用来进行图像分割这是最基础的图像分割方法,做法就是提取出颜色直方图,然后选取直方图范围进行分割.
http://www.cnblogs.com/skyseraph/archive/2011/06/14/2081042.html
4.5.3 meanshift
用于图像分割: http://blog.csdn.net/u014568921/article/details/45197027/meanshift 同样可用于目标跟踪: http://blog.csdn.net/jinshengtao/article/details/30258833
4.5.4 Kmeans 分割
这是基于聚类的图像分割:http://blog.csdn.net/jteng/article/details/48811881
每一个像素点都是一个向量,这个向量可以是只有颜色信息,也可以是颜色信息加空间信息,在进行聚类的时候,向量特征需要进行归一化,也可以进行加权.
kmeans 可以用来进行图像预处理,这样颜色就只会有k类.
5 图像增强与恢复
5.1 基于颜色直方图的方法
5.1.1 Gamma校正
就是一个指数变换,用来拉伸较暗区域或者较亮区域的对比度,gamma为1的时候,曲线为线性。https://www.zhihu.com/question/27467127 这个讲的非常好。为啥需要gamma校正,涉及到一个采样的问题,因为现在主流图片的灰阶是256个,用256个采样点去采样真实世界中无数的颜色(模拟量),这就存在一个资源分配的问题,如果说不进行gamma校正,那么128阶就是对应着真实世界反射率为50%的颜色,50阶对应着反射率为22%的颜色,但是对于人眼来说反射率为22%的颜色才是中灰,所以如果不进行校正的话,从黑到中灰只有50个阶来记录了,造成暗处采样不足,高光采样冗余,所以在采样编码的时候,就需要把反射率为22%的颜色对应到128上,所以采样编码的时候有一个gamma为1/2.2 = 0.454的校正,这样反射率从0-22%就有128个阶来采样记录了。然后在显示屏显示的时候,再把128阶的反射率对应到22%上,也就是一个gamma为2.2的校正。需要gamma校正的原因有两个,一个是人眼对于光的感知是非线性的,另外一个就是当前由于存储空间和传输效率的限制,用256个灰阶进行描述颜色,灰阶不够充分所以在采样的时候就尽量在亮和暗的区域(对于人眼,暗是0-22%反射率,亮是22%-100%)各用128个来描述,假如可以用32位图像来描述,那么就有4billion多个灰阶,即使不进行校正,暗的区域用4billion*22%个色阶描述,那也足够了。
5.1.2 直方图均衡化
靠累计分布函数来实现.5.2 图像恢复
6 其它技术
6.1 稀疏表示与字典学习
6.2 OCR
相关文章推荐
- 图像处理基本知识点整理(matlab函数)
- 计算机视觉,图像处理 经典代码paper整理(很全很强大!)
- 图像处理-模板、卷积的整理
- 基于Python的OpenCV图像处理笔记整理
- 分享自己整理的图像处理、模式识别资料
- 图像处理与计算机视觉资料整理
- 分享自己整理的图像处理、模式识别资料
- 在Python中处理日期和时间的基本知识点整理汇总
- 图像视觉处理资料整理文档
- 图像处理遇到的一些问题整理(OpenCV and Emgu)
- 图像处理中的数学原理详解(已发布的部分链接整理)
- 整理图像处理的一些方法
- 计算机视觉大牛&图像处理收集数据库整理
- Atitit 图像处理知识点 知识体系 知识图谱
- 新收集整理的图像处理网址http://www.china-vision.net/blog/user1/8/archives/2006/2006113224912.shtml
- Android图像处理整理
- OPENCV用户手册之图像处理(网络资料搜集整理)
- Atitit 图像处理知识点体系知识图谱 路线图attilax总结 v4 qcb.xlsx
- 图像处理程序框架—MFC相关知识点
- Canvas---Canvas图像处理、图片查看器实现思路整理、拖动边界控制