图像处理
文章平均质量分 83
托沃斯-勒夫
深度学习,机器学习,计算机视觉,模式识别,智能控制,算法分析,图像处理
展开
-
机器学习(Machine Learning)&深度学习(Deep Learning)资料
机器学习(Machine Learning)&深度学习(Deep Learning)资料原文链接:https://github.com/ty4z2008/Qix/blob/master/dl.md希望转载的朋友,你可以不用联系我.但是一定要保留原文链接,因为这个项目还在继续也在不定期更新.希望看到文章的朋友能够学到更多.《Brief History of Machi转载 2015-05-28 17:13:03 · 1614 阅读 · 0 评论 -
opnecv扫描轮廓寻找关键点cvFindDominantPoints的运用
前面讲过怎么运用有效的参数去多边形逼近轮廓,使得轮廓逼近的效果更好,更加接近实际图像。现在是实现如何寻找轮廓上面的关键点。我们知道,曲线逼近的过程和寻找关键点的过程密切相关。跟曲线上的其他点相比,关键点是那些包含曲线信息比较多的点。关键点在逼近算法以及其他应用中都会涉及。函数cvFindDominantPoints实现了这一功能。原创 2015-06-16 10:36:01 · 2973 阅读 · 0 评论 -
opencv轮廓逼近的精度参数与周长cvContourPerimeter的汇总
多边形轮廓逼近过程中,查找轮廓上到线段距离最远的点,添加到逼近后的新轮廓,算法反复迭代,不断将最远的点添加到结果中。直到所有的点到多边形的最短距离小于paramenter参数指定的精度。从这里可以看出,精度和轮廓的周长,或者外包矩形周长的几分之几比较合适。函数作用于一个轮廓并返回其长度。事实上,这个函数是一个调用通用函数cvArcLength的宏。原创 2015-06-15 12:11:57 · 5943 阅读 · 1 评论 -
opencv多边形逼近轮廓cvApproxPoly的运用
当我们绘制一个多边形或者进行形状分析的时候,通常需要使用多边形逼近一个轮廓,使得顶点数目变少。有多种方法可以实现这个功能。opencv实现了其中的一种逼近算法。函数cvApproxPoly是该算法的一种实现,可以处理轮廓序列。原创 2015-06-15 09:07:34 · 8800 阅读 · 0 评论 -
opencv自适应阀值cvAdaptiveThreshold的应用
Threshold:对数组元素进行固定阈值操作。通常希望对图像中的像素做出最后的决策,或直接剔除一些低于或高于一定值的像素。基本思想是:给定一个数组和一个阀值,然后根据数组中的每个元素的值是低于还是高于阀值而进行一些处理。cvAdaptiveThreshold:自适应阀值,改进了的阀值技术,其中阀值本身是一个变量。有两种自适应方法,通过参数adaptive_method设置。在这两种情况下,自适应阀值T(x,y)在每个像素点都不相同。通过计算像素点周围的bxb区域的加权平均,然后减去一个常数来得到自适应阀值原创 2015-06-09 10:34:28 · 851 阅读 · 0 评论 -
opencv漫水填充肤色掩码进行颜色识别cvCalcBackProgect
我们可以用函数cvCalcBackProject计算一个像素是否是一个已知目标的一部分,也可以用函数cvCalcBackProjectPatch计算一块区域是否包含已知的目标。函数cvCalcBackProjectPatch在整个输入图像使用一个滑动窗口。在输入图像矩阵的每一个位置,块中所有的像素点都被设置为在目标图像中对应的块中心位置的像素点。这一点非常重要,因为图像的许多特性(如纹理)在单一的像素级别上无法确定,但可以从一组像素确定。cvCalcBackProjectPatch有两种用法:但采样窗口小于原创 2015-06-12 20:04:03 · 1925 阅读 · 0 评论 -
opencv关于分水岭算法cvWatershed的运用
分水岭的计算过程是一个迭代标注过程。在该算法中,分水岭计算分两个步骤,一个是排序过程,一个是淹没过程。分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点,即为分水岭。原创 2015-05-28 22:46:16 · 4360 阅读 · 0 评论 -
opencv创建序列cvCreateSeq与插入元素cvSeqPush的运用
序列在内部其实对应一个双端序列。因此,我们可以高效地从序列的任意一端(开头和结尾)访问序列。这样我们可以很自然地将序列做一个栈使用。与CvSeq结构一起使用,下面六个函数可将序列封装成一个栈(准确来说,是双端队列,因此它们可以两端操作元素)。原创 2015-06-14 21:26:13 · 5420 阅读 · 0 评论 -
opencv直方图创建CreateHist、计算cvCalcHist和访问的汇总
直方图广泛应用于很多计算机视觉应用中。通过标记帧与帧之间显著的边缘和颜色的统计变化,直方图被用来检测视频中场景的变换。通过为每个兴趣点设置一个有相近特征的直方图所构成的“标签”,用以确定图像中的兴趣点。边缘、色彩、角等直方图构成了可以被传递给目标识别分类器的一个通用特征类型。色彩和边缘的直方图序列还可以用来识别网络视频是否被复制等。直方图是计算机视觉中最经典的工具之一。原创 2015-06-10 19:27:29 · 4201 阅读 · 0 评论 -
Eigenface算法,PCA数学理论,协方差
主要是关于pca算法的说明,和把pca算法应用到人脸识别上来的过程原创 2015-05-30 09:56:32 · 4467 阅读 · 0 评论 -
opencv for android 教程
要想在Android使用OpenCV,那么首先得搭建好开发环境,其实搭建开发环境并不难,只要理解其中的原理就自然手到擒来。开发环境搭建好后才能大展拳脚!(之前一直是在VS中使用OpenCV,VS中的配置很简单;在Android中配置OpenCV对于刚开始接触Android和java的人来说,确实很麻烦;刚开始配置时参考的是这位大牛的文章:opencv for android 教程(环境转载 2015-05-30 14:56:22 · 2022 阅读 · 0 评论 -
OpenCV常用的图像IplImage和矩阵CvMat操作总结
OpenCv中图像的结构体为IplImage,CvMat的结构体,以及元素操作原创 2015-05-31 21:56:51 · 3384 阅读 · 0 评论 -
opencv的图像卷积、图像滤波、图像平滑的解析
1.图像卷积(模板)(1).使用模板处理图像相关概念: 模板:矩阵方块,其数学含义是一种卷积运算。 卷积运算:可看作是加权求和的过程,使用到的图像区域中的每个像素分别于卷积核(权矩阵)的每个元素对应相 乘,所有乘积之和作为区域中心像素的新值。 卷积核:卷积时使用到的权用一个矩阵表示,该矩阵是一个权矩阵。 卷积转载 2015-06-01 16:40:41 · 1846 阅读 · 0 评论 -
opencv播放视频实时显示帧速(FPS),即是每秒帧数
这段程序可以大致测试出视频处理算法的时间消耗。主要过程是使用以上两个主要函数得到每帧之间的时间,再用putText把FPS的数值显示到屏幕上。原创 2015-05-30 11:11:41 · 37643 阅读 · 3 评论 -
opencv在一个图片中显示任何你想表达的内容
想要在一幅图片中表达任何你想表达的内容。原创 2015-06-03 11:14:55 · 785 阅读 · 0 评论 -
Deep Learning论文笔记之(一)K-means特征学习
Deep Learning论文笔记之(一)K-means特征学习 转载出处:点击打开链接 本文的论文来自:Learning Feature Representations with K-means, Adam Coates and Andrew Y. Ng. In Neural Networks: Tricks of the Trade, Reloaded,转载 2015-06-03 19:42:29 · 972 阅读 · 0 评论 -
opencv各种滤波分析bilateralFilter、Laplacian、bitwise_and和GaussianBlur
这个程序运用了很多边缘检测算法,包括bilateralFilter、Laplacian、bitwise_and和GaussianBlur。各种算法在图像滤波分析中有各自的特点。这个实验对人物漫画写作有重要意义。原创 2015-06-25 10:39:47 · 4075 阅读 · 0 评论 -
opencv特征点算法surf和最近邻算法flann
Surf算法的原理 SURF角点检测算法是对SIFT的一种改进,主要体现在速度上,效率更高。它和SIFT的主要区别是图像多尺度空间的构建方法不同。 在计算视觉领域,尺度空间被象征性的表述为一个图像金字塔,向下降采样一般用高斯金字塔。其中,输入图像函数反复与高斯函数的核卷积并反复对其进行二次抽样,这种方法主要用于SIFT算法的实现,但每层图像依赖于转载 2015-06-24 16:34:06 · 3644 阅读 · 1 评论 -
opencv仿射变换GetAffineTransform的总结
拉伸、收缩、扭曲、旋转是图像的几何变换,在三维视觉技术中大量应用到这些变换,又分为仿射变换和透视变换。仿射变换通常用单应性建模,利用cvWarpAffine解决密集映射,用cvTransform解决稀疏映射。原创 2015-06-04 12:46:47 · 31232 阅读 · 0 评论 -
RGB颜色模型和HSV颜色模型及其应用的汇总
在图像处理中,最常用的颜色空间是RGB模型,常用于颜色显示和图像处理,三维坐标的模型形式,非常容易被理解。而HSV模型,是针对用户观感的一种颜色模型,侧重于色彩表示,什么颜色、深浅如何、明暗如何。。。配上一个程序,这个程序主要是通过鼠标按键画一个矩形框,然后当松手时,在原图上形成一个高亮框。高亮框用以突出图像的某一部分,以便针对处理该区域。这个实验对人工界面的智能操作和模式识别具有重要的意义。原创 2015-06-05 09:06:27 · 24565 阅读 · 0 评论 -
关于高斯模糊平滑滤波器的参数探讨的汇总
Gaussian filter(CV_GAUSSIAN),虽然它不是最快的,但是它是最有用的滤波器。高斯滤波用卷积核与输入图像的每个点进行卷积,将最终计算结果之和作为输出图像的像素值。高斯滤波的opencv的实现还为几个常见的核提供更高的性能优化。具有标准sigma值的3*3,5*5,和7*7比其他核具有更优的性能。高斯模糊支持单个通道或者三个通道的8位或32位的浮点格式图像,可以进行in place方式操作。原创 2015-06-05 18:59:37 · 3694 阅读 · 0 评论 -
opencv用金字塔cvPyrSegmentation实现图像分割
用金字塔实现图像分割。图像分割需要先建立一个图像金字塔,然后在Gi的像素和Gi+1的像素直接依照对应关系,建立起"父-子"关系,通过这种方式,快速初始分割可以先在金字塔高层的低分辨率图像上完成,然后逐层对分割加以优化。要从金字塔第i层生成第i+1层(我们表示第i+1层为G+i),我们先要要高斯核对Gi进行卷积,然后删除所有偶数行和偶数列。当然,新得到的图像面积会变为源图像的四分之一。按上述过程对输入图像G0循环执行操作就可产生整个金字塔。原创 2015-06-05 20:43:28 · 3215 阅读 · 1 评论 -
opencv图像平滑滤波处理cvSmooth的汇总
函数 cvSmooth 可使用简单模糊、简单无缩放变换的模糊、中值模糊、高斯模糊、双边滤波的任何一种方法平滑图像。每一种方法都有自己的特点以及局限。中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的值,从而消除孤立的噪声点。高斯滤波实质上是一种信号的滤波器,其用途是信号的平滑处理,我们知道数字图像用于后期应用,其噪声是最大的问题。原创 2015-06-05 10:29:13 · 2904 阅读 · 0 评论 -
opencv卷积cvFileter2D与卷积边界cvCopyMakeBorder处理图像的总结
连续空间的卷积定义是 f(x)与g(x)的卷积是 f(t-x)g(x) 在t从负无穷到正无穷的积分值。t-x要在f(x)定义域内,所以看上去很大的积分实际上还是在一定范围的。实际的过程就是f(x)先做一个Y轴的反转,然后再沿X轴平移t就是f(t-x),然后再把g(x)拿来,两者乘积的值再积分.想象一下如果g(x)或者f(x)是个单位的阶越函数。那么就是f(t-x)与g(x)相交部分的面积。这就是卷积了。把积分符号换成求和就是离散空间的卷积定义了。原创 2015-06-06 10:31:22 · 1602 阅读 · 0 评论 -
opencv笛卡尔坐标转换为极坐标cvLogPolar的应用
cvLogPolar:把图像映射到极指数空间void cvLogPolar( const CvArr* src, CvArr* dst, CvPoint2D32f center, double M, int flags=CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS ); src 输入图像。 dst 输出 图像。 center 变换的中心原创 2015-06-07 09:04:49 · 5236 阅读 · 0 评论 -
opencv拉普拉斯边缘锐化cvLaplace算法的运用
Laplacian 算子是n维欧几里得空间中的一个二阶微分算子,定义为梯度grad()的散度div()。因此如果f是二阶可微的实函数对于阶跃状边缘,魂不附体导数在边缘点出现零交叉,即边缘点两旁二阶导数取异号。据此,对数字图像{f(i,j)}的每个像素,取它关于x轴方向和y轴方向的二阶差分之和。函数的拉普拉斯算子也是该函数的黑塞矩阵的迹,可以证明,它具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。void cvLaplace( const CvArr* src, CvA原创 2015-06-06 16:57:48 · 6489 阅读 · 0 评论 -
opencv图像边缘检测Canny算子的总结分析
经典图像边缘检测(综合法思想)——Canny算子John Canny于1986年提出Canny算子,它与Marr(LoG)边缘检测方法类似,也属于是先平滑后求导数的方法。John Canny研究了最优边缘检测方法所需的特性,给出了评价边缘检测性能优劣的三个指标:1,好的信噪比,即将非边缘点判定为边缘点的概率要低,将边缘点判为非边缘点的概率要低;2,高的定位性能,即检测出的边缘点原创 2015-06-07 10:34:19 · 3207 阅读 · 0 评论 -
opencv透视变换GetPerspectiveTransform的总结
对于透视变换,必须为map_matrix分配一个3x3数组,除了3x3矩阵和三个控点变为四个控点外,透视变化在其他方面与仿射变换完全类似。主要用到两个函数WarpPerspective和GetPerspectiveTransform。原创 2015-06-08 18:43:35 · 37319 阅读 · 1 评论 -
opencv的susan角点检测算法
目前的角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用。对灰度图像、二值图像、边缘轮廓曲线的角点检测算法进行综述,分析了相关的算法,并对各种检测算法给出了评价。角点检测算法可归纳为3类:基于灰度图像的角点检测、基于二值图像的角点检测、基于 轮廓 曲线的角点检测。基于灰度图像的角点检测又原创 2015-06-27 15:54:58 · 11481 阅读 · 0 评论 -
Harris角点检测算法优化
在介绍方法之前,我们先提出如下概念:图像区域像素的相似度。我们知道, Harris角点检测是基于图像像素灰度值变化梯度的, 灰度值图像的角点附近,是其像素灰度值变化非常大的区域,其梯度也非常大。换句话说,在非角点位置邻域里,各点的像素值变化不大,甚至几乎相等,其梯度相对也比较小。从这个角度着眼,于是提出了图像区域像素的相似度的概念,它是指检测窗口中心点灰度值与其周围n 邻域内其他像素点灰度值的相似程度,这种相似程度是用其灰度值之差来描述的。原创 2015-06-28 16:56:07 · 3143 阅读 · 0 评论 -
图像处理特征不变算子系列之Moravec算子
本文是转载,出自:http://blog.csdn.net/kezunhai 1977年,Moravec提出了兴趣点(Points ofInterests)的概念,并应用于解决Stanford Cart的导航问题。1981年, Moravec在International Joint Conference on ArtificialIntelligence发表了篇题为:Obsta转载 2015-06-28 12:45:17 · 2010 阅读 · 0 评论 -
opencv的Harris角点检测
Harris角点检测算子是于1988年由CHris Harris & Mike Stephens提出来的。在具体展开之前,不得不提一下Moravec早在1981就提出来的Moravec角点检测算子。1.Moravec角点检测算子 Moravec角点检测算子的思想其实特别简单,在图像上取一个W*W的“滑动窗口”,不断的移动这个窗口并检测窗口中的像素变化情况E。像素变化情原创 2015-06-26 10:43:11 · 1335 阅读 · 0 评论 -
浅谈凸优化问题中的Bregman迭代算法
对于搞图像处理的人而言,不懂变分法,基本上,就没法读懂图像处理的一些经典文献。当然,这已经是10年之前的事情了。 现在,如果不懂得Bregman迭代算法,也就没法读懂最近几年以来发表的图像处理的前沿论文了。国内的参考文献,基本上都是直接引用Bregman迭代算法本身,而对于其原理基本上找不到较为详细的论述。本文简要叙述当前流行的Bregman迭代算法的一些原理。转载 2015-06-29 09:38:28 · 1037 阅读 · 0 评论 -
opencv利用cvCalcHist获得手的肤色直方图的比较汇总
作为直方图比较的测试,我们利用手掌的一部分(即室内环境下手掌的上半部分),分别将该图像中色彩的直方图与该图像区域部分的直方图以及其他两幅手部图像中直方图进行对比。新鲜肤色通常比较容易在HSV色彩空间中提取。这提示我们在色调和饱和度通道中的限制不仅足够,而且有助于识别人的新鲜肤色。原创 2015-06-11 09:52:15 · 2603 阅读 · 0 评论 -
opencv提取图像边缘特征sobel算子的运用
计算机视觉领域的一种重要处理方法。主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。在技术上,它是一个离散的一阶差分算子,用来计算图像亮度函数的一阶梯度之近似值。在图像的任何一点使用此算子,将会产生该点对应的梯度矢量或是其法矢量原创 2015-06-06 15:01:59 · 9324 阅读 · 0 评论 -
opencv图像求差的绝对值cvAbsDiff和形态学开运算cvMorphologyEx
AbsDiff与cvMorphologyEx我们先来学习图像求差的绝对值这个函数:AbsDiff,它的作用是:OpenCV 中计算两个数组差的绝对值的函数。函数原型:void cvAbsDiff( const CvArr* src1, const CvArr* src2, CvArr* dst );src1:第一个原数组src2:第二个原数组dst:输出数组原创 2015-07-03 10:24:20 · 10151 阅读 · 0 评论 -
图像特征有:颜色特征、纹理特征、形状特征、空间关系
常用的图像特征有:颜色特征、纹理特征、形状特征、空间关系特征。原创 2015-07-04 10:06:30 · 16887 阅读 · 0 评论 -
再说边缘特征提取sobel算子
首先,我们来了解一下计算机是如何检测边缘的。以灰度图像为例,它的理论基础是这样的,如果出现一个边缘,那么图像的灰度就会有一定的变化,为了方便假设由黑渐变为白代表一个边界,那么对其灰度分析,在边缘的灰度函数就是一个一次函数y=kx,对其求一阶导数就是其斜率k,就是说边缘的一阶导数是一个常数,而由于非边缘的一阶导数为零,这样通过求一阶导数就能初步判断图像的边缘了。通常是X方向和Y方向的导数,也就是梯度。理论上计算机就是通过这种方式来获得图像的边缘。原创 2015-07-03 15:25:29 · 4009 阅读 · 0 评论 -
基于SVM和神经网络的车牌识别
本文将介绍创建自动车牌识别(Automatic Number Plate Recognition, ANPR)所需的步骤。对于不同的情形,实现自动车牌识别会用不同的方法和技术,例如,IR摄像机、固定汽车位置、光照条件等。本文着手构造一个用来检测汽车车牌ANPR的应用,该应用处理的图像使从汽车2-3米处拍摄的,拍摄环境的光线昏暗模糊,并且与地面不平行、车牌在图像中有轻微的扭曲。原创 2015-07-06 09:53:35 · 5881 阅读 · 0 评论 -
几种边缘检测算子的比较Roberts,Sobel,Prewitt,LOG,Canny
边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。这些包括:深度上的不连续、表面方向不连续、物质属性变化和场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来原创 2015-07-06 21:23:34 · 92233 阅读 · 0 评论