- 博客(17)
- 资源 (4)
- 收藏
- 关注
原创 Opencv图像识别从零到精通(36)----DFT离散傅里叶变换
这篇就是图像的时域到频域的开始,也是信号处理中比较常见的傅立叶变换。一、傅立叶图像 对一张图像使用傅立叶变换就是将它分解成正弦和余弦两部分。也就是将图像从空间域(spatial domain)转换到频域(frequency domain)。 这一转换的理论基础来自于以下事实:任一函数都可以表示成无数个正弦和余弦函数的和的形式。傅立叶变换就是一个用来将函数分解的工具。 2维图像的傅立叶
2016-08-27 17:40:48 10546
原创 Opencv图像识别从零到精通(35)---SURF
SIFT在前面已经说过了,可以说在实现过程中是精益求精,用了各种手段来删除不符合条件的特征点,同时也得到了很好的效果但是实时性不高,于是就有了SURF(speeded up robusr features).SURF是一种尺度,旋转不变的detector和descriptor.最大的特点是快!在快的基础上保证性能(repeatability,distinctiveness和robustne
2016-08-25 17:09:59 12521
原创 Opencv图像识别从零到精通(34)---SIFI
一、理论知识 Scale Invariant Feature Transform,尺度不变特征变换匹配算法,对于算法的理论介绍,可以参考这篇文章http://blog.csdn.net/qq_20823641/article/details/51692415,里面很详细,可以更好的学习。这里就不多介绍。后面就挑选重点的来说二、SIFT 主要思想 SIFT算法是一种提取局部特征的
2016-08-24 15:11:49 5009
原创 Opencv图像识别从零到精通(33)----moravec角点、harris角点
一、角点 图像处理和与计算机视觉领域,兴趣点(interest points),或称作关键点(keypoints)、特征点(feature points) 被大量用于解决物体识别,图像识别、图像匹配、视觉跟踪、三维重建等一系列的问题。我们不再观察整幅图,而是选择某些特殊的点,然后对他们进行局部有的放矢的分析。如果能检测到足够多的这种点,同时他们的区分度很高,并且可以精确定位稳定的特征,那
2016-08-22 12:23:57 6954 1
原创 Opencv图像识别从零到精通(32)----直方图对比,模版匹配,方向投影
0、预备知识归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。函数原型:void normalize(InputArray src,OutputArray dst, double alpha=1,doublebeta=0, int norm_type=NORM_L2, int dtype=-1, InputArray mask=noArray() )
2016-08-20 15:07:09 7791
原创 Opencv图像识别从零到精通(31)----图像修补,分离合并通道
一、图像修复简介 图像修复是图像复原中的一个重要内容,其目的是利用图像现有的信息来恢复丢失的信息。可用于旧照片中丢失信息的恢复,视频文字去除以及视频错误隐藏等。简言之,图像修复就是对图像上信息缺损区域进行信息填充的过程,其目的就是为了对有信息缺损的图像进行复原,并且使得观察者无法察觉到图像曾经缺损或者已经修复 图像修复技术简单来说,就是利用那些被破坏区域的边缘,即是
2016-08-19 17:29:45 17488 1
原创 Opencv图像识别从零到精通(30)---重映射,仿射变换
一、序言面对图像处理的时候,我们会旋转缩放图像,例如前面所提高的resize 插值改变,也是几何变换:几何运算需要空间变换和灰度级差值两个步骤的算法,像素通过变换映射到新的坐标位置,新的位置可能是在几个像素之间,即不一定为整数坐标。这时就需要灰度级差值将映射的新坐标匹配到输出像素之间。最简单的插值方法是最近邻插值,就是令输出像素的灰度值等于映射最近的位置像素,该方法可能会产生锯齿。
2016-08-17 17:09:01 7469 2
原创 Opencv图像识别从零到精通(29)-----图像金字塔,向上上下采样,resize插值
金字塔的底部是待处理图像的高分辨率表示,而顶部是低分辨率的近似。我们将一层一层的图像比喻成金字塔,层级越高,则图像越小,分辨率越低 一、两个金字塔高斯金字塔(Gaussianpyramid): 用来向下采样,主要的图像金字塔拉普拉斯金字塔(Laplacianpyra
2016-08-16 15:50:53 9820
原创 Opencv图像识别从零到精通(28)----Kmeans
K-means算法算是个著名的聚类算法了,不仅容易实现,并且效果也不错,训练过程不需人工干预,实乃模式识别等领域的居家必备良品啊,今天就拿这个算法练练手。属于无监督学习中间接聚类方法中的动态聚类流程:1.随机选取样本中的K个点作为聚类中心2.计算所有样本到各个聚类中心的距离,将每个样本规划在最近的聚类中3.计算每个聚类中所有样本的中心,并将新的中心代替原来的中心4.检查
2016-08-15 16:59:07 3671
原创 Opencv图像识别从零到精通(27)---grabcut
图割graph cuts ----grad cut Graph Cuts算法是用来确定网络流的最小分割,即寻找一个容量最小的边的集合,去掉这个集合中的所有边就可以阻挡这个网络了。需要注意的是,通常所说的Graph Cuts算法是指的采用最大流-最小分割来优化的模型,其它的Graph Cutting算法一般用graphpartitioning这个名词来代替。 首先还得先
2016-08-14 19:51:48 5039
原创 Opencv图像识别从零到精通(26)---分水岭
分水岭是区域分割三个方法的最后一个,对于前景背景的分割有不错的效果。 分水岭分割方法,是一种基于拓扑理论的数学形态学的分割方法,其基本思想是把图像看作是测地学上的拓扑地貌,图像中每一点像素的灰度值表示该点的海拔高度,每一个局部极小值及其影响区域称为集水盆,而集水盆的边界则形成分水岭。分水岭的概念和形成可以通过模拟浸入过程来说明。在每一个局部极小值表面,刺穿一个小孔,然后把整个模型慢慢
2016-08-13 21:39:30 17997
原创 Opencv图像识别从零到精通(25)------区域分裂与合并
区域分割一般认为有漫水填充,区域分裂与合并,分水岭,这篇是中间的区域分裂和合并。 区域分裂合并算法的基本思想是先确定一个分裂合并的准则,即区域特征一致性的测度,当图像中某个区域的特征不一致时就将该区域分裂成4 个相等的子区域,当相邻的子区域满足一致性特征时则将它们合成一个大区域,直至所有区域不再满足分裂合并的条件为止. 当分裂到不能再分的情况时,分裂结束,然后它将查找相邻
2016-08-12 14:24:31 16763
原创 Opencv图像识别从零到精通(24)------漫水填充,种子填充,区域生长、孔洞填充
可以说从这篇文章开始,就结束了图像识别的入门基础,来到了第二阶段的学习。在平时处理二值图像的时候,除了要进行形态学的一些操作,还有有上一节讲到的轮廓连通区域的面积周长标记等,还有一个最常见的就是孔洞的填充,opencv这里成为漫水填充,其实也可以叫种子填充,或者区域生长,基本的原理是一样的,但是应用的时候需要注意一下,种子填充用递归的办法,回溯算法,漫水填充使用堆栈,提高效率,同时还提供了一种方式
2016-08-11 21:36:49 19507
原创 Opencv图像识别从零到精通(23)----轮廓
当看到轮廓的时候,发现没有办法具体到什么, 因为关系轮廓的东西似乎有很多,例如检测轮廓,提取轮廓,轮廓跟踪,轮廓面积,周长,标记,匹配,还有一系列的外接最小矩形,圆形,椭圆,图像矩,填充孔洞等,不得不说东西真的很好。轮廓其实最容易和边缘检测联系到一起,有很多的相同,但是我理解的是边缘是检测,是预处理,而轮廓就可能是你要用的特征。一、函数:一个是找,一个是画void findContou
2016-08-07 17:42:07 9621
原创 Opencv图像识别从零到精通(22)-----hough变换检测直线与圆
今天要看的是霍夫变换,常用用来检测直线和圆,这里是把常见的笛卡尔坐标系转换成极坐标下,进行累计峰值的极大值,确定。HoughLines,HoughLinesP,HoughCircles,三个函数,首先先看看原理,最后会用漂亮的matlab图,来回归一下,霍夫直线变换。霍夫线变换:众所周知, 一条直线在图像二维空间可由两个变量表示. 例如:在 笛卡尔坐标系
2016-08-05 15:58:38 5790
原创 Opencv图像识别从零到精通(21)-----canny算子边缘检测
最后来看看canny算子,这个是被成为最好的算子,因为过程多,有准测,后面会列出来,也是边缘检测的最后一个,所以这里作为结尾,来看看各个边缘检测的效果。边缘检测结果比较Roberts算子检测方法对具有陡峭的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel
2016-08-03 13:17:39 10167
原创 Opencv图像识别从零到精通(20)---laplace LOG DOG边缘检测
经过了上一篇的简单的边缘检测,现在来看一下二阶导数的边缘检测,分别是Laplace LOG DOG,看到他们心里还是有点遗憾,要是自己能加快一点学习的步伐,在面试的时候也许就可以轻松回答了,亲爱的你们只是来的晚了2天。希望和我一样的同学,要加快脚步,认真学习了。废话不再多说,让我看看是怎么回事。一、Laplacian Laplacian算子定义为表示成
2016-08-01 16:01:37 8880 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人