摘要: 功能:对任意类型数组或多维图像进行滤波。用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,...) 或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:选项描述filtering_mode‘corr’通过使用相关来完成... 阅读全文
posted @ 2014-02-21 21:15 Providence 阅读(5581) 评论(0) 推荐(0) 编辑
摘要: Fspecial函数用于创建预定义的滤波算子,其语法格式为:h=fspecial(type)h=fspecial(type,parameters,sigma)参数type制定算子类型,parameters指定相应的参数,具体格式为:type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。type='gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为 0.5.type='laplacian',为拉普拉斯算子,参数为alph 阅读全文
posted @ 2014-02-21 20:24 Providence 阅读(7451) 评论(0) 推荐(0) 编辑
摘要: 用save函数,可以将工作空间的变量保存成txt文件或mat文件等。比如: save peng.mat p j就是将工作空间中的p和j变量保存在peng.mat中.用load函数,可以将数据读入到matlab的工作空间中。比如:load peng.mat就是将peng.mat中的所有变量读入matlab工作空间中,当然我们也可以选择读入哪个变量.还有一个问题是我的mat文件中保存这一个变量,可是默认的读入matlab中后,还是保存时用的名字,但是,我想用一个新名字代替,怎么办?具体用程序描述如下:save peng.mat p那么load peng.mat之后,就可以在工作空间中看到p变量了。 阅读全文
posted @ 2014-02-21 17:23 Providence 阅读(14179) 评论(0) 推荐(1) 编辑
摘要: 函数功能:两个数组间元素逐个计算的二值操作使用方法:C=bsxfun(fun,A,B)两个数组A合B间元素逐个计算的二值操作,fun是函数句柄或者m文件,也可以为如下内置函数:@plus 加@minus 减@times 数组乘《Simulink与信号处理》@rdivide 左除@ldivide 右除@power 数组幂乘@max 二值最大值@min 二值最小值@rem 余数@mod 求模@atan2 四象限反正切@hypot 平方和的平方根@eq 等于@ne 不等于@lt 小于www.iLoveMatlab.cn@le 小于或等于@gt 大于@ge 大于或等于@and 逻辑并@or 逻辑或@x 阅读全文
posted @ 2014-02-21 16:02 Providence 阅读(5368) 评论(0) 推荐(0) 编辑
摘要: nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为1,如果两个变量都没有输入,则默认两者均为1。function y=test1(a,b)if nargin==0 a=1;b=1;elseif nargin==1 b=1;endy=a+b;在调用此函数时,如果写成y=nargin_test(),则输出y=2;如果写成y=nargin_test(3),则输出y=4;如果写成y=nargin_test(4,5),则输出y=9。另外有:vara 阅读全文
posted @ 2014-02-21 15:54 Providence 阅读(2470) 评论(0) 推荐(0) 编辑
摘要: 在这一节里,我们将总结PCA,ZCA白化算法,并描述如何使用高效的线性代数库来实现它们。首先,我们需要确保数据的均值(近似)为零。对于自然图像,我们通过减去每个图像块(patch)的均值(近似地)来达到这一目标。为此,我们计算每个图像块的均值,并从每个图像块中减去它的均值。Matlab实现如下:avg = mean(x, 1); % 分别为每个图像块计算像素强度的均值。 x = x - repmat(avg, size(x, 1), 1);下面,我们要计算,如果你在Matlab中实现(或者在C++, Java等中实现,但可以使用高效的线性代数库),直接求和效率很低。不过,我们可以这样一... 阅读全文
posted @ 2014-02-21 14:45 Providence 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 介绍我们已经了解了如何使用PCA降低数据维度。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的。白化的目的就是降低输入的冗余性;更正式的说,我们希望通过白化过程使得学习算法的输入具有如下性质:(i)特征之间相关性较低;(ii)所有特征具有相同的方差。2D的例子下面我们先用前文的2D例子描述白化的主要思想,然后分别介绍如何将白化与平滑和PCA相结合。如何消除特征之间的相关性?在前文计算时实际上已经消除了输入特征之间的相关性。得到的新特征的分布如下图所示:这个数据的协方差矩阵如下:( 阅读全文
posted @ 2014-02-21 11:44 Providence 阅读(13704) 评论(0) 推荐(0) 编辑
摘要: 主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。更重要的是,理解PCA算法,对实现白化算法有很大帮助,很多算法都先用白化算法作预处理步骤。假设你使用图像来训练算法,因为图像中相邻的像素高度相关,输入数据是有一定冗余的。具体来说,假如我们正在训练的16×16灰度值图像,记为一个256维向量,其中特征值对应每个像素的亮度值。由于相邻像素间的相关性,PCA算法可以将输入向量转换为一个维数低很多的近似向量,而且误差非常小。在我们的实例中,使用的输入数据集表示为,维度即。假设我们想把数据从2维降到1维。(实际应用中,我们也许需要把数据从156维降到50维;在这里使用低维 阅读全文
posted @ 2014-02-21 08:38 Providence 阅读(1914) 评论(0) 推荐(0) 编辑