Matlab中conv2函数的使用 您所在的位置:网站首页 conv函数的用法matlab Matlab中conv2函数的使用

Matlab中conv2函数的使用

2024-02-23 17:30| 来源: 网络整理| 查看: 265

目录

语法

说明

示例

二维卷积

提取二维台座边

        conv2函数是求二维卷积。

语法 C = conv2(A,B) C = conv2(u,v,A)

二维卷积

        对于离散的二维变量 A 和 B,以下方程定义 A 和 B 的卷积:

        p 和 q 会遍历所有可得到 A(p,q) 和 B(j-p+1,k-q+1) 的合法下标的值。

说明

​C = conv2(A,B) 返回矩阵 A 和 B 的二维卷积。

C = conv2(u,v,A) 首先求 A 的各列与向量 u 的卷积,然后求每行结果与向量 v 的卷积。

C = conv2(___,shape) 根据 shape 返回卷积的子区。例如,C = conv2(A,B,'same') 返回卷积中大小与 A 相同的中心部分。

示例 二维卷积

        在图像处理等应用程序中,它可用于将卷积的输入直接与输出进行比较。conv2 函数允许您控制输出的大小。

        创建一个 3×3 随机矩阵 A 和一个 4×4 随机矩阵 B。计算 A 和 B 的完整卷积,结果是一个 6×6 矩阵。

A = rand(3); B = rand(4); Cfull = conv2(A,B) Cfull = 6×6 0.7861 1.2768 1.4581 1.0007 0.2876 0.0099 1.0024 1.8458 3.0844 2.5151 1.5196 0.2560 1.0561 1.9824 3.5790 3.9432 2.9708 0.7587 1.6790 2.0772 3.0052 3.7511 2.7593 1.5129 0.9902 1.1000 2.4492 1.6082 1.7976 1.2655 0.1215 0.1469 1.0409 0.5540 0.6941 0.6499

        计算卷积 Csame 的中心部分,它是 Cfull 的子矩阵,大小与 A 相同。Csame 等于 Cfull(3:5,3:5)。

Csame = conv2(A,B,'same') Csame = 3×3 3.5790 3.9432 2.9708 3.0052 3.7511 2.7593 2.4492 1.6082 1.7976 提取二维台座边

        Sobel 求边运算利用二维卷积来检测图像的边和其他二维数据。

        创建并绘制一个内部高度等于 1 的二维台座。

A = zeros(10); A(3:7,3:7) = ones(5); mesh(A)

        首先求 A 的各行与向量 u 的卷积,然后求卷积结果的各行与向量 v 的卷积。卷积提取台座的水平边。

u = [1 0 -1]'; v = [1 2 1]; Ch = conv2(u,v,A); mesh(Ch)

        ​要提取台座的垂直边,请反转与 u 和 v 的卷积顺序。

Cv = conv2(v,u,A); mesh(Cv)

​        计算并绘制台座的组合边。

figure mesh(sqrt(Ch.^2 + Cv.^2))



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有