Matlab 矩阵卷积理解(转载)

转载自:http://blog.csdn.net/andrewseu/article/details/51783181

在图像处理的过程中,经常会看到矩阵卷积的概念,比如说用一个模板去和一张图片进行卷积,因此很有必要了解矩阵卷积到了做了什么,具体又是怎么计算的。 
在matlab中有conv2函数对矩阵进行卷积运算,其中有一个shape参数,取值具体有三种:

 -full  - (default) returns the full 2-D convolution,
 -‘same‘  - returns the central part of the convolution
            that is the same size as A.
 -‘valid‘ - returns only those parts of the convolution
            that are computed without the zero-padded edges.
            size(C) = max([ma-max(0,mb-1),na-max(0,nb-1)],0).

用一幅图可以很好的理解这三个参数代码的具体含义: 

矩阵卷积计算方法

 
 
举一个简单的例子, 
 
matlab 的计算结果如下: 

时间: 2024-11-13 05:41:55

Matlab 矩阵卷积理解(转载)的相关文章

矩阵卷积Matlab(转载)

转载自:http://blog.csdn.net/anan1205/article/details/12313593 两个矩阵卷积转化为矩阵相乘形式--Matlab应用(这里考虑二维矩阵,在图像中对应)两个图像模糊(边缘)操作,假设矩阵A.B,A代表源图像,B代表卷积模板,那么B的取值决定最后运算的结果. Matlab中的应用函数--conv2(二维卷积,一维对应conv) 函数给出的公式定义为: 同一维数据卷积一样,它的实质在于将卷积模板图像翻转(旋转180),这里等同于一维信号的翻转,然后将

matlab————矩阵输出到txt

matlab如何输出矩阵到txt并指定数的精度 (2013-11-20 16:50:43)转载▼ 标签: matlab 输出数据 假设你的数据矩阵为a; [m n] = size(a); [filename pathname] = uiputfile{'*.txt','Select Save file'); if ~filename return; else str = [pathname filename]; fin = fopen(str,'wt'); for i = 1:m for j =

matlab矩阵内存预分配

matlab矩阵内存预分配就意味着,划定一个固定的内存块,各数据可直接按"行.列指数"存放到对应的元素中.若矩阵中不预配置内存.则随着"行.列指数"的变大.MATLAB就必须不断地为矩阵找到新的"空的内存",从而导致"建造矩阵"的速度大大下降. Hilbert矩阵的数学描写叙述 Hilbert矩阵是著名的"坏条件"矩阵,当中其第(i,j)元素的表达式是a(i,j)=1/(i+j-1). 代码比較: % 20

矩阵的理解

看了好多网上的人,写的对矩阵的理解,由理解为线性方程组的,由理解为线性变换的,还有理解为其他杂七杂八的.我觉得都有其道理,但是都没有把握住矩阵的实质.矩阵到底是什么?矩阵貌似比较高深,那我们来换个更加简单的问题.请问:1,2,3这样的数,到底是什么?如果你能说出1,2,3的本质,就会自然理解矩阵的本质. 1,2,3每个人从小学,不,从还没上幼儿园就开始接触,一直用到我们挂断,可谓受用终生的数学元素.但是有几人能说出其本质呢?1个苹果+1个苹果=2个苹果,那么请问1个包子+1条狗等于什么?显然第一

二维矩阵卷积运算实现

http://z.download.csdn.net/detail/wangfei0117/4408649 http://download.csdn.net/detail/wanwenliang2008/1767686 二维矩阵卷积运算实现,布布扣,bubuko.com

C#中Thread类中Join方法的理解(转载)

指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行      比如 Java代码   using System; namespace TestThreadJoin { class Program { static void Main() { System.Threading.Thread x = new System.Threading.Thread(new System.Threading.ThreadStart(f1)); x.Start(); Console

matlab矩阵合并及相关运算

1.matlab允许向量(和矩阵)合并,且matlab提供了两种合并方式,[a,b]和[a;b],两者的结果是不一样的. a=rand(2,3): b=rand(2,3): c=[a;b]: d=[a,b]: c的结果是将b整体合并到a 的下边,而d的结果是整体将b合并到a 的右边. 2.创建等差向量组 a=[1:2:11] 注意涉及到向量内部对应数据之间的运算时一定要用点运算符号,(.)例如,求表达式b=a^2时应该写作 b=a.^2 也可以利用linspace来创建等差向量,linspace

matlab矩阵操作

1:求行数  nrow=size(matrix,1); 2:求列数  ncol=size(matrix,2); 3:矩阵合并 c1=[m1,m2]横向合并  c2=[m1;m2]纵向合并 m1= [5     2     3] ; m2=[1     2     3]; c1 =[5     2     3     1     2     3]; c2 =[ 5 2 3 1 2 3 ] matlab的下标从1开始,取matlab的元素直接用m[index]即可 取子矩阵 m[r1:rn,:]  

对Lucene PhraseQuery的slop的理解[转载]

所谓PhraseQuery,就是通过短语来检索,比如我想查“big car”这个短语,那么如果待匹配的document的指定项里包含了"big car"这个短语,这个document就算匹配成功.可如果待匹配的句子里包含的是“big black car”,那么就无法匹配成功了,如果也想让这个匹配,就需要设定slop,先给出slop的概念:slop是指两个项的位置之间允许的最大间隔距离,下面我举例来解释: 我的待匹配的句子是:the quick brown fox jumped over