• 在图像处理领域,Kernel = convolution matrix = mask,它们一般都为一个较小的矩阵;
  • 用于:Sharpen,Blur, Edge enhance,Edge detect,Emboss(使凸出;在……上作浮雕图案;装饰)

1. 卷积操作与卷积矩阵的等价性

  • (1)创建一维信号

    N = 100;
    s = zeros(N, 1);
    k = [20, 45, 70];
    a = [2, -1, 1];
    s(k) = a;
  • (2)创建卷积核

    L = 4;
    h = ones(L, 1)/L;
  • (3)使用 matlab 创建 convolution matrix

    首先考虑,卷积矩阵的 size,卷积操作conv(h, s) 返回的响应其长度为 L+N-1, 因此:

    M = N+L-1;
    H = sparse(M, N);
    e = ones(N, 1)
    for i = 0:L-1,
    H = H + spdiags(e*h(i+1), -i, M, N);
    end
  • (4)验证二者操作的等价性:

    err = H*s - conv(h, s);
    max_err = max(abs(err));

2. spy:可视化稀疏矩阵的形式

而不是简单地将稀疏矩阵以一个矩阵的形式显示,显然是因为其规模十分之大,且较为稀疏,不易直观观察。

Kernel (image processing)

8.2. Convolution Matrix

卷积、卷积矩阵(Convolution matrix)与核(Kernel)的更多相关文章

  1. 卷积、矩阵乘积、高斯模糊滤波(降噪)、空域计算(2D卷积计算)、频域计算(FFT)的理解

    矩阵乘积:对应行列对应元素相乘的和组成新的矩阵 两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义.如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵 并将此乘积记为: ...

  2. 直接理解转置卷积(Transposed convolution)的各种情况

    使用GAN生成图像必不可少的层就是上采样,其中最常用的就是转置卷积(Transposed Convolution).如果把卷积操作转换为矩阵乘法的形式,转置卷积实际上就是将其中的矩阵进行转置,从而产生 ...

  3. 金字塔卷积:Pyramidal Convolution

    论文地址:https://arxiv.org/pdf/2006.11538.pdf github:https://github.com/iduta/pyconv 作者认为,当前CNN主要存在两个不足: ...

  4. Convolution Matrix

    w褶积矩阵.二值化旧图经核矩阵得到新图. https://docs.gimp.org/en/plug-in-convmatrix.html 8.2. Convolution Matrix 8.2.1. ...

  5. R语言编程艺术# 矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  6. 【Math for ML】矩阵分解(Matrix Decompositions) (下)

    [Math for ML]矩阵分解(Matrix Decompositions) (上) I. 奇异值分解(Singular Value Decomposition) 1. 定义 Singular V ...

  7. 【Math for ML】矩阵分解(Matrix Decompositions) (上)

    I. 行列式(Determinants)和迹(Trace) 1. 行列式(Determinants) 为避免和绝对值符号混淆,本文一般使用\(det(A)\)来表示矩阵\(A\)的行列式.另外这里的\ ...

  8. R语言编程艺术#02#矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  9. NumPy 矩阵库(Matrix)

    NumPy 矩阵库(Matrix) NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象. 一个 的矩阵是一个由行(row)列(col ...

随机推荐

  1. 如何知道刚刚插入数据库那条数据的id

    如何知道刚刚插入数据库那条数据的id 一.总结 一句话总结:这些常见功能各个框架里面都有,可以查看手册,thinkphp里面是$userId = Db::name('user')->getLas ...

  2. php实现合并两个排序的链表(很多情况下新建数组装东西比连东西逻辑快很多)($cur=$cur->next;的理解)

    php实现合并两个排序的链表(很多情况下新建数组装东西比连东西逻辑快很多)($cur=$cur->next;的理解) 一.总结 $cur=$cur->next;这句话需要好好理解 指$cu ...

  3. Android自定义组件系列【11】——实现3D立体旋转效果

    今天在网上看到一篇文章写关于Android实现3D旋转(http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt2/inde ...

  4. 特殊类型数据:IP地址字段(IPv4)

    人们经常使用varchar(15)来存储ip地址,然而,它们实际上是32位无符号整数,不是字符串. MySQL提供INET_ATON()和INET_NTOA()函数将ip地址在整数和四段表示形式之间进 ...

  5. C语言之基本算法11—牛顿迭代法求平方根

    //迭代法 /* ================================================================== 题目:牛顿迭代法求a的平方根!迭代公式:Xn+1 ...

  6. mysql查询字段所在表

    use information_schema;select * from columns where column_name='字段名' ;

  7. docker nginx实现一个主机部署多个站点

    原文:docker nginx实现一个主机部署多个站点 在某站租赁的虚拟机快到期了,续费得花200多,想到在阿里云新买的服务器,不如把这个也转移过去.域名我就用真实的吧,大家别黑我网站就好了,谢谢各位 ...

  8. iOS开发之Quzrtz2D 一:认识Quzrtz2D

    一:什么是Quzrtz2D 二:Quzrtz2D实例: 三:图形上下文 四:Quzrtz2D在ios开发中的实际价值 1.什么是Quartz2D? 他是一个二维的绘图引擎,同时支持iOS和Mac系统 ...

  9. Android5.0网络之ipv6

    移动设备的大量兴起势必进一步加强ip地址不足的危机. ipv6或许成为一种比較好的选择方案. ipv6地址的获取分为两种方式:无状态:有状态 无状态:通过接收路由公告(RA)来设置自己的ipv6地址 ...

  10. SqlBulkCopy 帮助类

    using System;using System.Collections.Generic;using System.Configuration;using System.Data;using Sys ...