平滑技术也叫做过滤技术,可以用来去除图像中的噪声,常用的平滑处理的处理算法有基于二维离散卷积的高斯平滑、均值平衡、基于统计学方法的中值平滑、双边滤波、导向滤波等。二维离散卷积是基于两个矩阵的一种计算方式,通过以下示例进行理解。
一.原理
\left (
\begin{matrix}
1&2\\
3&4\\
\end{matrix}
\right ) , K = \left (
\begin{matrix}
-1&-2\\
-3&-4\\
\end{matrix}
\right )
\]
首先将K逆时针翻转180度,得到
\begin{matrix}
-4&-3\\
-2&-1\\
\end{matrix}
\right )
\]
第二步 矩阵计算过程:
则I与K卷积的结果就是:
\begin{matrix}
-1&-4&-4\\
-6&-20&-16\\
-9&-24&-16\\
\end{matrix}
\right )
\]
这就是I和K的卷积结果,K称为卷积核/卷积算子。
二.矩阵计算
1.矩阵扩充
\]
\]
由原理中所得的结果矩阵可知,结果矩阵H = ($$H_{1}=H_{2}$$), W= ($$W_{1}=W_{2}$$) ,此次对I和K矩阵进行填充,补0使其为结果矩阵形式。
2.矩阵堆叠
对I矩阵进行转置操作,目的是使其成为一个列向量$$I_{p}$$
3.构造WW的循环矩阵
将$$K_{p}的每一行都构造成一个WW的循环矩阵 $$ 循环矩阵的具体构造就是将每一行的转置作为每一个构造的循环矩阵的第一列,然后由新构造的矩阵中第一列依次向下移位得到一个循环矩阵。
\]
4.构造循环矩阵G
以上面构造的循环矩阵为基础,得到H个循环块矩阵,循环矩阵G为:
\]
5.重新排列成H*W矩阵
\]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Opencv图像二维离散卷积原理 - Python技术站