Matlab中矩阵卷积函数convn
Matlab中矩阵卷积函数convn
最近在看CNN做手写数字识别,其中CNN中Convolution在图像处理中就涉及了矩阵卷积。因为博主有了奥本海姆《信号与系统》中一维卷积的基础,这里就类比的推广一下矩阵卷积(二维,高维类似)。
卷积步骤:
1. 考虑到卷积的交换律,可以选择较方便矩阵(一般选较小)作为卷积核。对此矩阵进行绕中心的180度旋转,如 [1420] \left[ \begin{matrix}1 & 2 \\4 & 0\end{matrix} \right] 变换成 [0241] \left[ \begin{matrix}0 & 4 \\2 & 1\end{matrix} \right] ;
2. 将旋转过的卷积核左下角的元素与待卷积矩阵的右上角元素对齐(重叠),没有重叠元素处补零,重叠处相乘,乘积和即为结果矩阵的 a1,1 a_{1,1};
3. 依次左移,求结果矩阵第一行元素,直到两矩阵无重叠为止;
4. 依次下移,求结果矩阵第一列元素,直到两矩阵无重叠为止;
5. 其余各处元素类似可求的;
这里Matlab还提供了其他几种用法:
% C = CONVN(A, B, 'shape') controls the size of the answer C:
% 'full' - (default) returns the full N-D convolution
% 'same' - returns the central part of the convolution that
% is the same size as A.
% 'valid' - returns only the part of the result that can be
% computed without assuming zero-padded arrays.
% size(C,k) = max([nak-max(0,nbk-1)],0).
其中’valid’就可以直接用在CNN的图像处理中。
example:
>> a = [1,2;4,0]a =1 24 0>> b = [1,2;3,4]b =1 23 4>> conv2(a,b)ans =1 4 47 18 812 16 0
%conv2是专门用于二维的卷积函数,convn可用于高维;
Matlab中矩阵卷积函数convn相关推荐
- python实现Matlab中的circshift函数
circshift是Matlab中矩阵循环移位函数,具体使用参照该链接. 但是python中并没有封装好的该函数,因此需要自己实现. 思路:将矩阵分为两部分,然后按照自己的需要堆叠在一起就可以了. n ...
- QT/C++/Eigen 自己实现的MATLAB中的std()函数,矩阵按照列求标准差
QT / C++ / Eigen 自己实现的MATLAB中的std()函数,矩阵按照列求标准差 //定义一个按列求标准差的函数,其中A为被求列标准差的矩阵,OutputMatrix为求出的列标准差 v ...
- matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数
Matlab中的inline函数 1.有时为了描述某个数学函数的方便,可以用inline()函数来直接编写该函数,形式相当于M-函数,但无编写一个真正的MATLAB文件,就可以描述出某种数学关系.其调 ...
- MATLAB中的常用函数小结
1. MATLAB中的常用函数小结 文章目录 1. MATLAB中的常用函数小结 1. MATLAB图像处理工具箱 1.1 图像显示 1.2 图像文件输入/输出 1.3. 图像像素值及其统计 1.4 ...
- matlab的数学函数,matlab中常见数学函数的使用
matlab中常见数学函数的使用 MATLAB 基本知识 Matlab 的内部常数 pi 圆周率 exp(1) 自然对数的底数 e i 或 j 虚数单位 Inf 或 inf 无穷大 Matlab 的常 ...
- Matlab中的eig函数和Opecv中eigen()函数的区别
奇异值分解的理论参见下面的链接 http://www.cnblogs.com/pinard/p/6251584.html https://blog.csdn.net/shenziheng1/artic ...
- MATLAB中神经网络train函数使用说明
MATLAB中神经网络train( )函数使用说明 函数的语法格式如下: [net, tr]=train(net, P, T, Pi, Ai): train( )函数用于训练创建好的感知器网络,事实上 ...
- matlab randi 函数,MATLAB中的randi函数
randi Pseudorandom integers from a uniform discrete distribution.来自一个均匀离散分布的伪随机整数 R = randi(IMAX,N) ...
- matlab fopen函数的用法,matlab中关于fread函数的用法
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:matlab中关于fread函数的用法 问题详情:用fread打开一个时,需要不需要把开放在某个特回答:必须在Matlab可以搜索的 ...
最新文章
- 2022-2028年中国硅酸钙板行业市场研究及前瞻分析报告
- java 判断是否为邮箱_Java判断邮箱是否存在 有返回值
- md5碰撞Java_java现在MD5加密不安全了吗?
- Hbase 预写日志WAL处理源码分析之 LogCleaner
- VLAN与trunk配置
- rem,em,px的区别
- Oracle的SQL基础之用户与表空间
- toxic comment classification 数据集
- 3dmax材质丢失插件_3dmax插件排行|室内设计师效果图用疯狂模渲大师,怎么把cononra材质转换成vray材质?...
- 在web项目启动时,使用监听器来执行某个方法
- Chrome浏览器的Network面板介绍
- matlab 汽车雷达模拟器,雷达回波模拟器在汽车雷达测试中的应用
- R语言与LASSO回归和LAR算法
- Microbiome:环境过滤驱动农田生态系统土壤古菌独特的空间分布(一作解读)
- 员工和老板的差距不只是能力,还有战略思维
- panabit流量控制
- 模拟黑洞图像_全息图像模拟黑洞计划一一物理学家们的下一个宏伟目标
- 数据结构 时间复杂度 空间复杂度 一看就懂版本
- 没有身家也要有身价,有身家更要有身价
- ArcGIS开发Questions小总结(A_Z)
热门文章
- java 线性回归_Java实现一元线性回归
- Directshow的优点与缺点
- html DOM------document
- 大学生毕业后想成为产品经理?那你得先从以下几个方面入手!
- BarChart 柱状图 实例
- 修改微信文件的默认保存位置
- 对openmv色块查找的思考笔记
- Spring/SpringBoot学习中遇到的问题记录(2):java.lang.ClassNotFoundException:org.apache.jsp.WEB_002dINF.views.xx
- 创建vue项目的时候报错:Skipped git commit due to missing username and email in git config.
- 射频卡读写原理及实现