conv2
|
页面进行中。 |
二维卷积。
库::`工程师`
争论
输入参数
# 一个 — 输入数组
+
向量资料 | 矩阵
Details
指定为向量或矩阵的输入数组。
| 数据类型 |
|
例子:
二维卷积
Details
将卷积的输入数据直接与输出数据进行比较会很有用。 功能 conv2 允许您控制输出数据的大小。
让我们创建随机矩阵 A 大小 和 B 大小 . 计算完整卷积 A 和 B,这是一个大小的矩阵 .
import EngeeDSP.Functions: conv2
A = rand(3, 3)
B = rand(4, 4)
Cfull = conv2(A, B)
6×6 Matrix{Float64}:
0.192995 0.882682 0.775044 0.405206 0.103599 0.0162149
0.097371 1.17042 1.53107 1.55316 0.520306 0.126147
0.441852 1.15874 1.98734 3.1404 1.30511 0.484233
0.27297 0.973765 1.87607 2.67335 1.76588 1.15007
0.245543 0.433698 1.24257 1.63366 1.89067 1.4068
0.0713151 0.203243 0.630603 0.901696 1.01698 0.577671
计算卷积的中心部分 Csame,Csame,它是 [医]法尔 大小与 A. Csame,Csame 等于 Cfull[3:5,3:5].
Csame = conv2(A, B, "same")
3×3 Matrix{Float64}:
1.98734 3.1404 1.30511
1.87607 2.67335 1.76588
1.24257 1.63366 1.89067
提取二维基座的边缘
Details
Sobel的边缘搜索算法使用二维卷积来检测图像和其他二维数据中的边缘。
让我们创建并构建一个内部高度等于1的二维基座。
A = zeros(10, 10)
A[3:7, 3:7] .= 1.0
surface(A)
让我们执行矩阵的行的卷积 A 用向量 u,然后将结果串与向量卷积 v. 卷积将提取基座的水平边缘。
import EngeeDSP.Functions: conv2
u=[1,0,-1]'
v=[1,2,1]
Ch=conv2(u,v,A)
表面(Ch)
要提取基座的垂直边缘,请从 u 和 v 在回来的路上。
Cv = conv2(v, u, A)
surface(Cv)
让我们计算并绘制基座的组合边缘。
surface(sqrt.(Ch.^2 .+ Cv.^2))