随笔分类 -  算法处理

摘要:散列表 又叫 哈希表(hash table)。通过访问key而直接访问存储的value值。它的key - value之间存在一个映射函数,我们可以通过key值和“看不到”的映射函数(散列函数)访问对应的value值。这加快了查找的速度!存放记录的数组称做散列表。散列方法不同于顺序查找、二分查找、二叉... 阅读全文
posted @ 2014-11-06 23:25 CBDoctor 阅读(6503) 评论(0) 推荐(2) 编辑
摘要:这些形象的小图片给我们最直观的印象排序算法显神威方法其实很简单:分别从初始序列“6 1 2 7 9 3 4 5 10 8”两端开始“探测”。先从右往左找一个小于6的数,再从左往右找一个大于6的数,然后交换他们。这里可以用两个变量i和j,分别指向序列最左边和最右边。我们为这两个变量起个好听的名字“哨兵... 阅读全文
posted @ 2014-11-05 23:05 CBDoctor 阅读(11840) 评论(7) 推荐(5) 编辑
摘要:很久的时间没有更新了,一是因为每天加班到比较晚的时间,另外,公司不能上网,回家后就又懒得整理,最近在看机器学习实战的书籍,因此才又决定重新拾起原先的博客! 今天讲的是第三章的贝叶斯分类方法,我们从一个简简单单的例子开始入手:首先看(1)图中的例子,假设有一个装了7块时候的罐子,其中3块时黑色的... 阅读全文
posted @ 2014-04-22 21:14 CBDoctor 阅读(4335) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2013-05-21 21:21 CBDoctor 阅读(6) 评论(0) 推荐(0) 编辑
摘要:出处: http://blog.csdn.net/tangyongkang转贴请注明出处1 围绕原点的旋转如下图, 在2维坐标上,有一点p(x, y) , 直线opの长度为r, 直线op和x轴的正向的夹角为a。 直线op围绕原点做逆时针方向b度的旋转,到达p’ (s,t) s = r cos(a + b) = r cos(a)cos(b) – r sin(a)sin(b) (1.1)t = r sin(a + b) = r sin(a)cos(b) + r cos(a) sin(b) (1.2)其中 x = r cos(a) , y = r sin(a)代入(1.1), (1.2) ,s =. 阅读全文
posted @ 2013-04-25 00:13 CBDoctor 阅读(934) 评论(0) 推荐(0) 编辑
摘要:function points = kp_harris(im) % Extract keypoints using Harris algorithm (with an improvement % version) % INPUT % ===== % im : the graylevel image % % OUTPUT % ====== % points : the interest points extracted % % REFERENCES % ========== % C.G. Harris ... 阅读全文
posted @ 2013-04-13 20:23 CBDoctor 阅读(2730) 评论(0) 推荐(0) 编辑
摘要:一、Mat类型:矩阵类型,Matrix。在openCV中,Mat是一个多维的密集数据数组。可以用来处理向量和矩阵、图像、直方图等等常见的多维数据。Mat有3个重要的方法:1、Matmat=imread(constString*filename);读取图像2、imshow(conststringframeName,InputArraymat);显示图像3、imwrite(conststring&filename,InputArrayimg);储存图像Mat类型较CvMat与IplImage类型来说,有更强的矩阵运算能力,支持常见的矩阵运算。在计算密集型的应用当中,将CvMat与IplIm 阅读全文
posted @ 2013-03-11 11:11 CBDoctor 阅读(6325) 评论(0) 推荐(0) 编辑
摘要:【1】基础学习笔记之opencv(1):opencv中facedetect例子浅析 http://www.cnblogs.com/tornadomeet/archive/2012/03/22/2411318.html【2】OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect http://blog.csdn.net/yang_xian521/article/details/6973667【3】Haar+Adaboost实现人头检测 http://blackhuman.blogcn.com/archives/143【4】AdaBoost中利用Haar特征进行人脸识别算法分析与 阅读全文
posted @ 2013-03-08 10:42 CBDoctor 阅读(8508) 评论(0) 推荐(0) 编辑
摘要:一、基本概念二分法又叫对半查找。数学模型表示如下:(维基百科) 若要求已知函数f(x) = 0 的根 (x的解),则:先找出一个区间[a,b],使得f(a)与f(b)异号。根据介值定理,这个区间内一定包含着方程式的根。求该区间的中点,并找出f(m) 的值。若f(m) 与f(a) 正负号相同则取 ... 阅读全文
posted @ 2013-02-25 10:17 CBDoctor 阅读(2515) 评论(0) 推荐(0) 编辑
摘要:widthStep表示存储一行像素需要的字节数,而width等于像素的数目。widthStep必须是4的倍数,如果8U图像宽度为3,那么widthStep是4,加一个字节补齐。这个图像的一行需要4个字节,只使用前3个,最后一个空在那儿不用。也就是一个宽3高3的图像的imageData数据大小为4*3=12字节。如果32F的图像,那么widthStep=width*4。再举一个例子:width = width/4; 阅读全文
posted @ 2012-05-21 23:42 CBDoctor 阅读(583) 评论(0) 推荐(0) 编辑
摘要:SHIT!MATLAB function "rectint"I don not know that the function "rectint" have this performance!I waste a lot of time to write a new function in my projection. Now introduce itRECTINT 矩形相交函数。 AREA = RECTINT(A,B) 返回的矩形相交部分的面积。 A和B是按位置向量指定的矩形 如果A和B各指定一个长方形,面积是一个标量。 A和B也可以是矩阵,其中每行是一个 阅读全文
posted @ 2011-11-27 09:38 CBDoctor 阅读(982) 评论(0) 推荐(0) 编辑
摘要:function I=imgaussian(I,sigma,siz)% IMGAUSSIAN filters an 1D, 2D color/greyscale or 3D image with an % Gaussian filter. This function uses for filtering IMFILTER or if % compiled the fast mex code imgaussian.c . Instead of using a % multidimensional gaussian kernel, it uses the fact that a Gaussian. 阅读全文
posted @ 2011-11-26 10:23 CBDoctor 阅读(2389) 评论(0) 推荐(0) 编辑
摘要:图像增强:1. 灰度变换1.1 灰度线性变换1.2分段线性变换1.3 非线性变换2.直方图修正2.1.直方图定义2.2.直方图均衡化2.3.直方图规定化3. 图像平滑3.1 图像的噪声 图像的边缘,跳跃,以及噪声等灰度变化剧烈的部分代表的是图像的高频分量,而大面积背景区域和灰度变化缓慢的地方代表的是图像的低频分量。3.2 模板卷积 大部分模板为了容易取到中心位置,一般都会将模板设置为奇数,比如3*3或者5*5.对于图像的边缘部分,则有若干种方法采取补齐等措施。4.图像的锐化 图像锐化和图像的平滑非常的类似,只是模板的形状发生了变化。4.1 微分法:Df/Dx =f(x+1,y)-f(x,y)D 阅读全文
posted @ 2011-11-10 13:45 CBDoctor 阅读(552) 评论(0) 推荐(0) 编辑
摘要:下面介绍一下几种典型的机器算法首先第一种是高斯混合模型算法:高斯模型有单高斯模型(SGM)和混合高斯模型(GMM)两种。(1)单高斯模型:为简单起见,阈值t的选取一般靠经验值来设定。通常意义下,我们一般取t=0.7-0.75之间。二维情况如下所示:(2)混合高斯模型: 对于(b)图所示的情况,很明显,单高斯模型是无法解决的。为了解决这个问题,人们提出了高斯混合模型(GMM),顾名思义,就是数据可以看作是从数个高斯分布中生成出来的。虽然我们可以用不同的分布来随意地构造 XX Mixture Model ,但是 GMM是 最为流行。另外,Mixture Model 本身其实也是可以变得任意复杂的. 阅读全文
posted @ 2011-11-06 15:54 CBDoctor 阅读(73689) 评论(18) 推荐(6) 编辑
摘要:协方差矩阵——PCA的关键。 PCA的目的就是“降噪”和“去冗余”。“降噪”的目的就是使保留下来的维度间的相关性尽可能小,而“去冗余”的目的就是使保留下来的维度含有的“能量”即方差尽可能大。那首先的首先,我们得需要知道各维度间的相关性以及个维度上的方差!那有什么数据结构能同时表现不同维度间的相关... 阅读全文
posted @ 2011-10-29 19:22 CBDoctor 阅读(17781) 评论(5) 推荐(2) 编辑
摘要:K-means算法是最简单的一种聚类算法。算法的目的是使各个样本与所在类均值的误差平方和达到最小(这也是评价K-means算法最后聚类效果的评价标准)K-means聚类算法的一般步骤:初始化。输入基因表达矩阵作为对象集X,输入指定聚类类数N,并在X中随机选取N个对象作为初始聚类中心。设定迭代中止条件... 阅读全文
posted @ 2011-10-24 10:27 CBDoctor 阅读(48354) 评论(0) 推荐(2) 编辑
摘要:二值化是一种大家经常用到的方法,介绍一种最简单的,但是实用性比较强的二值化的方法。是一种局部二值化的方法。 假设一幅100×100大小的原始图像,计算该图像的平均灰度值,假设为M。将图像分解为10×10大小的子图像,共获得10幅子图像 (1)如果一幅子图像的所有像素值都小于M/3的话,就把该子图像的所有像素值都设为0; (2)其余的子图像可以采用最小类内方差或最大类间方差来进行二值化; 是有点简单。呵呵 阅读全文
posted @ 2011-10-22 19:24 CBDoctor 阅读(1134) 评论(0) 推荐(0) 编辑
摘要:困扰多年,看了不久以后就又会忘记。一.方向导数(1)方向导数是个数值。二维空间情形:我们把f(x+Dx,y+Dy)-f(x,y)的值Value1与PP1的距离value2的比值的极值叫做沿PP1的方向导数。三维空间计算过程相似;二.梯度(1)梯度是一个向量。(2)沿梯度方向的方向导数达到最大值;sxyd.sdut.edu.cn/gaoshu2/lesson/8.7fangxiangdaoshuyutidu.htm以二维空间为例,对于Z=f(x,y).在某点P(x0,y0)处的梯度可以理解为(DZ/Dx|x=x0,DZ/Dy|y=y0)。具体到离散状态,用差分的形式来表示就是(一维的表示方法)沿 阅读全文
posted @ 2011-10-21 17:04 CBDoctor 阅读(36513) 评论(3) 推荐(0) 编辑
摘要:最近有用到Canny算子做边缘检测。回顾一下Canny算子的基本原理:总的来说,图像的边缘检测必须满足两个步骤 (1)有效的抑制噪声,使用高斯算子对图像进行平滑; (2)尽量精确的确定边缘的位置;Canny算子的边缘检测可以分为三个步骤:Step 1: 高斯平滑函数。目的是为了平滑以消除噪声;Step 2:一阶差分卷积模板。目的是为了达到边缘增强。 该步骤有点类似于与两个方向模板进行卷积运算。这两个方向模板为(a)和(b)所示:左图体现的是在X方向上的差异,右图体现的是在y方向上的差异。同时获得梯度幅值的大小以及方向角。通过该步,获得在边缘位置处特征被加强的图像。Step 3:非极大值抑制(. 阅读全文
posted @ 2011-10-21 15:21 CBDoctor 阅读(26486) 评论(0) 推荐(2) 编辑