概述

im2col的作用是即重排图像块为矩阵列。
其调用形式为:B = im2col(A,[m n],block_type);
参数说明:
A:要被重排的矩阵;
[m n]:指定分割的小子块矩阵的尺寸;
block_type:子块矩阵分割的方式,可以取值为’distinct’或者’sliding’。“distinct”表示各子块矩阵不重叠,倘若A中有不足以构成[m n]大小的子块,则以0填充。接着将这些子块按列序重排成B矩阵的一个列。“sliding”
B:将A重排后的矩阵。

distinct 型

首先我们输入语句并通过执行语句的结果来分析。那么我们究竟怎样得到的B?

>> A = [1 2 3; 4 5 6; 7 8 9]A =1     2     34     5     67     8     9>> B = im2col(A, [2 2], 'distinct')B =1     7     3     94     0     6     02     8     0     05     0     0     0

观察上图可以看出,由于A是3×3的,并不是子块2×2的整数倍,根据概述,我们需要在A中填充0,使之恰好能被2×2的子块整除,所以填充后的A矩阵为:

 1     2     3     04     5     6     07     8     9     00     0     0     0

然后在上面按先行序再列序切割子块,共有4个子块,

1      2
4      5
=============
3      0
6      0
==============
7      8
0      0
==============
9      0
0      0

最后按列排序上面的子块成为B的一列即可。

sliding型

当block_type为sliding时,以子块滑动的方式将A分解成m×n的子矩阵,并将分解以后的子矩阵沿列的方向转换成B的列。子块滑动的方式每次移动一行或者一列。

>> A = [1 2 3; 4 5 6; 7 8 9]
>> B = im2col(X, [2 2], 'sliding')B =1     4     2     54     7     5     82     5     3     65     8     6     9

有了前面的讲解应该很容易理解sliding型的,只不过此时的子块之间是有重叠的,而且值得注意的是,子块是先在列上进行滑动,然后才在行方向进行滑动。也形成了4个子块,如下

1      2
4      5
=====在列方向上移动“一步”=========
4      5
7      8
========回到矩阵“顶部”,并在行方向移动一步=================
2      3
5      6
====================
5      6
8      9

然后将上面的子块重排成B的一列即可。

直观讲解Matlab的im2col函数相关推荐

  1. 在matlab中function,Matlab中function函数使用操作方法

    亲们或许不知道Matlab中function函数如何使用,那么今天小编就讲解Matlab中function函数使用操作方法哦,希望能够帮助到大家呢. Matlab中function函数使用操作方法 打 ...

  2. matlab怎么返回操作,Matlab中function函数使用操作方法

    亲们或许不知道Matlab中function函数如何使用,那么今天绿软吧就讲解Matlab中function函数使用操作方法哦,希望能够帮助到大家呢. Matlab中function函数使用操作方法 ...

  3. matlab 怎么使用function,Matlab中function函数使用操作方法

    亲们或许不知道Matlab中function函数如何使用,那么今天小编就讲解Matlab中function函数使用操作方法哦,希望能够帮助到大家呢. Matlab中function函数使用操作方法 打 ...

  4. Matlab中linkage函数讲解

    Matlab中linkage函数说明 一.参考资料 1.1 matlab中的linkage和cluster函数 1.2 官方linkage手册 二.通俗讲解 2.1 代码 data = [1 2;1 ...

  5. 根据MATLAB的histeq函数改写的运行在OpenCV下的直方图规定化C源码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 2016-6-8日用C++也实现了直方图规定化, ...

  6. matlab 有一函数 _写一程序_输入自变量的值_输出函数值.,第2讲 MATLAB入门1_数学建模_ppt_大学课件预览_高等教育资讯网...

    数学建模与数学实验 MATLAB入门数学建模及其基于 MATLAB的实现辽宁工程技术大学理学院应用数学系 MATLAB作为线性系统的一种分析和仿真工具,是理工科大学生应该掌握的技术工具,它作为一种编程 ...

  7. matlab中频域信号IFFT,MATLAB中ifft函数用法、性质、特性-以及与fft的组合应用全面深入解析(含程序)...

    MATLAB中ifft函数用法.性质.特性,以及与fft的组合应用全面深入解析(含程序) 前言 在我之前的<MATLAB中fft函数用法.性质.特性.缺陷全面深入解析(含程序)>中,我已经 ...

  8. 几个常用的matlab图论工具箱函数

    目录 Matlab图论工具箱的应用 Matlab图论工具箱 求解所有顶点的最短距离graphallshortestpaths函数 函数说明 Matlab使用方法 函数格式 Matlab调用格式 求解特 ...

  9. 极大似然函数求解_关于极大似然估计的学习(附Matlab中mle函数的求解)

    冒泡~是新的一周辣~温故而知新一下极大似然估计(真是很不容易了) 极大似然估计的基本思想 什么是极大似然?官方上的较清楚的解释是:利用已知的样本的结果,在使用某个模型的基础上,反推最有可能导致这样结果 ...

  10. MATLAB中ode23函数,龙格库塔函数

    今天说一说MATLAB中ode23函数的原理,在网上看了好多,但是不知道是怎么计算的,就知道是那么用的,但是最后结果咋回事不知道,今天来讲一讲是怎么计算的. 首先来个程序: function f=eg ...

最新文章

  1. 看了《OCP/OCA认证考试指南全册:Oracle Database 11g(1Z0-051,...
  2. leetcode1247. 交换字符使得字符串相同(贪心)
  3. 数据结构-排序进阶代码
  4. asa 防火墙基本配置管理
  5. Python-斗地主原来是这样的引擎!会了Python之后,我就没输过豆子了!
  6. 单位与单位的换算(二)
  7. 42.翻转单词顺序 VS 左旋转字符串(C++版本)
  8. 关于java接口、父类子类之间调用和强制转换的关系
  9. 汉字与多字节编码的转换 - 回复 不知道 的问题
  10. 抖音记事本代码html,抖音使用教程 抖音表白代码使用方法介绍
  11. 黑苹果alc269声卡仿冒id_AppleALC仿冒声卡驱动alc269优化版(Lenovo Z580亲测)
  12. 鸿蒙系统微信双开,支持微信双开 老旗舰一加3/3T喜迎系统更新
  13. 如何查找qq邮箱的服务器地址
  14. 复杂 Excel 表格导入导出的最简方法
  15. java调用kettle脚本ktr
  16. ABAP——smartform添加图片
  17. 工程图学及计算机绘图第二版答案,工程图学及计算机绘图第3版答案
  18. IOS 开发工具准备 gcc,gdb
  19. 编译原理第三章 词法分析与有穷自动机
  20. 京东数科开源区块链底层引擎JD Chain,区块链已成其第四大核心技术

热门文章

  1. 卸载python会删除pip安装的包吗_python 使用pip安装,卸载,升级和查看包
  2. c语言函数与宏定义的应用,C语言第3次实_函数与宏定义的应用.doc
  3. linux 多进程 libusb,基于Ubuntu的STM32调试环境搭建
  4. mysql 5.1 开启慢查询_mysql开启慢查询
  5. ORB-SLAM3 代码解读
  6. Pycharm同步代码到Github 踩坑
  7. 致敬CondConv!Intel提出即插即用的“万金油”动态卷积ODConv
  8. LeetCode之根据字符出现频率排序
  9. LeetCode之反转字符串中的单词
  10. tensorflow实现残差网络(mnist数据集)