来源:https://www.cnblogs.com/hyb221512/p/9276621.html

1.conv(向量卷积运算)

所谓两个向量卷积,说白了就是多项式乘法。
比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下:
把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列,比如就按升幂吧,写出对应的多项式:1+2x+3x^2;同样的,把q的元素也作为多项式的系数按升幂排列,写出对应的多项式:1+x。

卷积就是“两个多项式相乘取系数”。
(1+2x+3x^2)×(1+x)=1+3x+5x^2+3x^3
所以p和q卷积的结果就是[1 3 5 3]。

记住,当确定是用升幂或是降幂排列后,下面也都要按这个方式排列,否则结果是不对的。
你也可以用matlab试试
p=[1 2 3]
q=[1 1]
conv(p,q)
看看和计算的结果是否相同。

>> p=[1 2 3];
q=[1 1];
conv(p,q)

ans =

1 3 5 3

2.conv2(二维矩阵卷积运算)

语法:
conv2(原图像,卷积核)

a=[1 1 1;1 1 1;1 1 1];
b=[1 1 1;1 1 1;1 1 1];
>> conv2(a,b)

ans =

1     2     3     2     1
     2     4     6     4     2
     3     6     9     6     3
     2     4     6     4     2
     1     2     3     2     1

>> conv2(a,b,'valid')

ans =

9

'valid'就意味着不对原图像padding.

>> conv2(a,b,'same')

ans =

4     6     4
     6     9     6
     4     6     4

same的解释:

卷积的时候需要对卷积核进行180的旋转,同时卷积核中心与需计算的图像像素对齐,输出结构为中心对齐像素的一个新的像素值

>> conv2(a,b,'full')

ans =

1     2     3     2     1
     2     4     6     4     2
     3     6     9     6     3
     2     4     6     4     2
     1     2     3     2     1

图中蓝色为原图像,白色为对应卷积所增加的padding,通常全部为0,绿色是卷积后图片。图的卷积的滑动是从卷积核右下角与图片左上角重叠开始进行卷积,滑动步长为1,卷积核的中心元素对应卷积后图像的像素点。

MATLAB卷积运算(conv、conv2)解释的更多相关文章

  1. MATLAB卷积运算(conv、conv2、convn)解释

    1 conv(向量卷积运算) 所谓两个向量卷积,说白了就是多项式乘法.比如:p=[1 2 3],q=[1 1]是两个向量,p和q的卷积如下:把p的元素作为一个多项式的系数,多项式按升幂(或降幂)排列, ...

  2. MATLAB多项式运算

    序言 none 正文  1. 多项式的表示 在Matlab中,多项式用一个行向量表示, 行向量的元素值为多项式系数按幂次的降序排列, 如p(x)=x3-2x-5用P=[1,0,-2,-5]表示. 2. ...

  3. matlab中imfilter、conv2、imfilter2用法及区别

    来源 :https://blog.csdn.net/u013066730/article/details/56665308(比较详细) https://blog.csdn.net/yuanhuilin ...

  4. 卷积运算的本质,以tensorflow中VALID卷积方式为例。

    卷积运算在数学上是做矩阵点积,这样可以调整每个像素上的BGR值或HSV值来形成不同的特征.从代码上看,每次卷积核扫描完一个通道是做了一次四重循环.下面以VALID卷积方式为例进行解释. 下面是pyth ...

  5. 基于INTEL FPGA硬浮点DSP实现卷积运算

    概述 卷积是一种线性运算,其本质是滑动平均思想,广泛应用于图像滤波.而随着人工智能及深度学习的发展,卷积也在神经网络中发挥重要的作用,如卷积神经网络.本参考设计主要介绍如何基于INTEL 硬浮点的DS ...

  6. iOS中的图像处理(二)——卷积运算

    关于图像处理中的卷积运算,这里有两份简明扼要的介绍:文一,文二. 其中,可能的一种卷积运算代码如下: - (UIImage*)applyConvolution:(NSArray*)kernel { C ...

  7. im2col:将卷积运算转为矩阵相乘

    目录 im2col实现 优缺点分析 参考 博客:blog.shinelee.me | 博客园 | CSDN im2col实现 如何将卷积运算转为矩阵相乘?直接看下面这张图,以下图片来自论文High P ...

  8. python conv2d scipy卷积运算

    scipy的signal模块经常用于信号处理,卷积.傅里叶变换.各种滤波.差值算法等. *两个一维信号卷积 >>> import numpy as np >>> x ...

  9. Filter2D卷积运算

    图像处理中的卷积运算一般都用来平滑图像.尖锐图像求边缘等等.主要看你选择什么样的核函数了.现在核函数很多,比如高斯平滑核函数,sobel核函数,canny核函数等等.这里举一个sobel核函数的例子来 ...

随机推荐

  1. HTML5 2D平台游戏开发#10Wall Jump

    这个术语不知道怎么翻译比较贴切,但并不妨碍对字面意思的理解,大概就是飞檐走壁.比如: 这是游戏<忍者龙剑传>中的场景,玩家可以通过操纵角色在墙面上移动并跳跃. 首先需要实现角色抓墙这一动作 ...

  2. Sqlserver建立Oracle的鏈接服務器

    --建立数据库链接服务器 EXEC sp_addlinkedserver @server =N'TestOracle', --要创建的链接服务器别名 @srvproduct=N'Oracle', -- ...

  3. shell常用操作积累

    1. 拼接字符串* #!/bin/sh write_log(){ local up_name=$ local num=${#string} ]; do up_name="$up_name*& ...

  4. python 装饰器 (个人理解就是前置的内建函数)

    感谢有篇文件详细介绍[简单 12 步理解 Python 装饰器]http://python.jobbole.com/85056/ 1.首先介绍内建函数 2.转换为装饰器 3.执行顺序 4.装饰器实用

  5. linux下nginx安装php

    把php安装包上传到linux的/usr/local/src 1.解压 cd /usr/local/src tar zxvf php-5.6.9.tar.gz cd php-5.6.9 2.编译安装 ...

  6. windows监控 排查蓝屏问题

    DUMP包分析 工具WinDbg,下载打开,按ctrl+S  输入:SRV*C:\websymbols*http://msdl.microsoft.com/download/symbols:点击OK, ...

  7. 用C#来学习唐诗三百首和全唐诗

    Begin 最近把项目做完了,闲来无事,就想做点好玩的事情,刚好前几天下载了[唐诗三百首]和[全唐诗]这两个txt文件,正好用C#来整理一下. 然后导出QData格式,可以给其他软件读取. 以后弄个开 ...

  8. spring 注入属性

    一.注入对象类型的数据 1.配置文件 User类与UserService类均需要创建对象.所以都配置其相应的bean类,另外user需作为userService的属性注入,所以userService需 ...

  9. Python学习笔记_Python基础

    Python 基础 语句和语法 凝视 继续 代码组 代码的缩进 在一行书写多个语句 模块 变量赋值 赋值操作符 增量赋值 多重赋值 多元赋值 python编写的基本风格 模块的结构和布局 内存管理 变 ...

  10. Jquery事件绑定的4中方式对比

    bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selector).bind(event,data,function) event:必需项:添加到元素的一个或多个事件,例如 click ...