相关性是一种数学技术,用于观察两个事物之间的关联程度。在图像处理术语中,它用于计算掩膜在图像上的响应。掩膜从左到右应用于矩阵。掩膜每次向右滑动一个单位。一旦掩膜到达最右端,它就会向下滑动一个单位,然后再次从左侧开始向右滑动。计算出的输出被分配给中心像素,而邻近像素也用于计算中。掩膜或矩阵可以是 1-D 或 2-D 的。通常,掩膜的维度取为奇数,以便能轻松找到中心像素。
> 图示:
>
> 图像, I = [100, 120, 100, 150, 160]图像的索引为 0, 1, 2, 3 和 4。
>
> 掩膜, H = [1/3, 1/3, 1/3]掩膜的索引为 -1, 0 和 1。
>
> 在图像索引=2 处应用图像和掩膜之间的相关性。
>
> J(2) = I(1) . H(-1) + I(2) . H(0) + I(3) . H(1)索引表示在括号中。
>
> J(2) = 120 x 1/3 + 100 x 1/3 + 150 x 1/3
>
> J(2) = 370/3
>
> 通常, J = I . H
>
> 相关性用 (.) 表示。
1D 相关性的公式:
- J(x) = ∑_(i=-N)^N〖H(i).I(x+i)〗
2D 相关性的公式:
- J(x, y) = ∑(i=-M)^M ∑(j=-N)^N 〖H(i,j).I(x+i,y+j)〗
注意:
- 结果图像的大小取决于填充。
- 如果允许填充,结果图像的大小 = 原始图像(输入)的大小
- 如果不允许填充,结果图像的大小 < 输入图像的大小。
卷积也是一种数学工具,用于将两件事物结合起来以产生结果。在图像处理中,卷积是一种我们通过逐像素应用核对输入图像进行变换的过程。当卷积掩膜对特定像素进行操作时,它会考虑该像素及其邻近像素来执行操作,并将结果返回给该特定像素。因此,我们得出结论,图像处理中的卷积就是掩膜算子。
如何执行卷积
- 翻转掩膜并进行相关运算。
- 1D 掩膜水平翻转,因为只有一行。
- 2D 掩膜垂直和水平翻转。
- 掩膜从左到右方向在图像矩阵上滑动。
- 当掩膜悬停在图像上时,掩膜和图像的对应元素相乘,然后将乘积相加。
- 该过程对图像的所有像素重复进行。
图像处理中有两种类型的算子。
- 点算子: 在对特定像素进行操作时,它仅将一个像素(即其本身)作为输入。例如:亮度增加操作。我们通过相同的值增加每个像素的强度来增加图像的亮度。
- 掩膜算子: 在对特定像素执行操作时,它将该特定像素及其邻近像素作为输入。卷积操作。
> 图示:
>
> 图像, I = [100, 120, 100, 150, 160]
>
> 图像的索引为 0, 1, 2, 3 和 4。
>
> 用于相关的掩膜, H = [1/3, 1/3, 1/3]
>
> 掩膜的索引为 -1, 0 和 1。
>
> 我们使用的是相同的掩膜而不是翻转后的掩膜,因此我们需要正确使用索引。
>
> 在图像索引=1 处应用图像和掩膜之间的卷积。
>
> J(2) = I(0) . H(1) + I(1) . H(0) + I(2) . H(-1)索引表示在括号中。
>
> J = I * H
>
> 卷积用 (*) 表示。
>
> 结果图像的大小遵循与相关性相同的情况。
1D 卷积的公式:
- J(x) = ∑_(i=-N)^N 〖H(i).I(x-i)〗
2D 卷积的公式:
- J(x, y) = ∑(i=-M)^M ∑(j=-N)^N〖H(i,j).I(x-i,y-j)〗
注意: 如果掩膜是对称的,卷积和相关给出的响应是相同的。相关和卷积在本质上看起来很相似。但我们在图像处理中广泛使用卷积,因为它具有以下性质。
卷积的性质
- 卷积在本质上是结合的,但相关不是。即 F(GI) = (FG)I
- 卷积在本质上是交换的。即 (IH) = (HI)
- 卷积遵循线性。即 (s.I)H = I(s.H) = s.(I*H),其中 s 是任何常数,并乘以掩膜或图像。
- 如果掩膜是可分离的,卷积遵循可分离性。即 如果 H = H1H2,那么 IH = (IH1)H2
可分离性的优势
如果核是可分离的,那么它可以节省计算成本。
步骤 1: 矩阵初始化在 Matlab 中用一行完成,矩阵的顺序并不重要。
K = [1, 2, 3; 2, 4, 5];
步骤 2: 使用 Matlab 内置方法创建全 1 矩阵:
H = ones(3,3).*1/9;
步骤 3: 我们在 * 之前使用了 (.),因为 (.) 意味着我们将 (3, 3) 矩阵的所有元素乘以 1/9。
初始化 1 乘 3 阶的线性掩膜:
H1=ones(1,3).*1/3;
初始化转置掩膜,它是从主掩膜分离出来的:
H2=H1‘
*