为了账号安全,请及时绑定邮箱和手机立即绑定

CV预备(二): im2col与col2im

目录

  • 前言
  • im2col
  • col2im
  • 最后

前言

Matlab矩阵处理的函数真的是太多了, 这里来看两个矩阵重排的函数im2colcol2im.


im2col

这里有3种形式, 如下:

  • B = im2col(A, [m n])
  • B = im2col(A, [m n], ‘sliding’)
  • B = im2col(A, [m n], ‘distinct’)

B = im2col(A, [m n])B = im2col(A, [m n], ‘sliding’) 是等价的. 所以先从它开始说吧:

B = im2col(A, [m n], ‘sliding’)

A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
B = im2col(A, [2 2])

输出如下:

A =

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16


B =

     1     5     9     2     6    10     3     7    11
     5     9    13     6    10    14     7    11    15
     2     6    10     3     7    11     4     8    12
     6    10    14     7    11    15     8    12    16

简单来说, 就是以步长为1进行滑动生成子矩阵, 子矩阵大小为[m n]. 所以B中的每一个列都是子矩阵.


B = im2col(A, [m n], ‘distinct’)

这个和sliding最大的差别就是子矩阵不重叠. 整体生成方式没有太大变化.


col2im

col2im就是im2col的逆过程. col2im有3中形式, 如下:

  • A = col2im(B, [m n], [M N])
  • A = col2im(B, [m n], [M N], ‘sliding’)
  • A = col2im(B, [m n], [M N], ‘distinct’)

还是和im2col相似, A = col2im(B, [m n], [M N])A = col2im(B, [m n], [M N], ‘sliding’) 是一个效果.

A = col2im(B, [m n], [M N], ‘sliding’)

代码如下:

B = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A = col2im(B, [1 1], [2, 8], 'sliding')

输出如下:

B =

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16


A =

     1     9     2    10     3    11     4    12
     5    13     6    14     7    15     8    16

可以看到, 依旧是竖着进行滑动, col2im的作用就是按照给的尺寸重排矩阵.


A = col2im(B, [m n], [M N], ‘distinct’)

B = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]
A = col2im(A, [2 2], [2 8], 'distinct')

输出如下:

B =

     1     2     3     4
     5     6     7     8
     9    10    11    12
    13    14    15    16


A =

     1     9     2    10     3    11     4    12
     5    13     6    14     7    15     8    16

可以看到sliding输出结果是相同的, 但是内在逻辑并不同.


最后

喜欢记得点赞或者关注哦, 有意见或者建议评论区见~


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消