卷积入门——图像卷积的其他操作
本文最后更新于 2024年7月12日 中午
引入
上一篇文章我们已经探讨了关于卷积在图像模糊上的运用,但是除了图像模糊的均值卷积和高斯卷积以外,还有其他不同的卷积核应用在计算机视觉领域中。
首先,要给出我们上一篇文章已经讲到的自己的图像卷积函数
1 |
|
函数接受图像和卷积核矩阵两个参数,返回处理后的图像
首先我们要处理的原图像是
图像锐化
图像锐化是一种图像增强技术,旨在增强图像中的边缘和细节,使图像看起来更清晰和更具视觉效果。运用在图像锐化的卷积核主要有以下几类。
基本锐化核
最简单的一类锐化卷积核,强调中心像素并减去周围像素的平均值来增强图像的细节。
$$
\begin{bmatrix}0&-1&0\-1&5&-1\0&-1&0\end{bmatrix}
$$
处理后的图像为
可以看见,图像的边缘细节得到了明显的加强,图像整体也变得更加明亮
增强的基本锐化核
使用更大的负值来强调边缘。
$$
\begin{bmatrix}0&-1&0\-1&9&-1\0&-1&0\end{bmatrix}
$$
处理后的图像为
轮廓锐化核
用于提取图像的轮廓,通常与边缘检测相结合。
$$
\begin{bmatrix}1&-2&1\-2&5&-2\1&-2&1\end{bmatrix}
$$
处理后的图像为
可以看到这个图像相比于基本锐化核要暗一些,但是轮廓细节依然得到了突出
拉普拉斯锐化核
拉普拉斯算子也可以用于锐化,通过增加图像的二阶导数信息来增强细节。
卷积核的矩阵表示一般为
$$
\begin{bmatrix}0&-1&0\-1&4&-1\0&-1&0\end{bmatrix}
$$
或者为
$$
\begin{bmatrix}-1&-1&-1\-1&8&-1\-1&-1&-1\end{bmatrix}
$$
第二种拉普拉斯锐化核处理后的图像为
第一种拉普拉斯锐化核处理后的图像为
边缘探测卷积
边缘检测卷积核是一种用于检测图像中边缘(即图像中明显变化的位置)的特殊卷积核。这些卷积核能够突出图像中像素值快速变化的区域。它也主要有以下几类
Sobel 卷积核
水平方向 Sobel 核:
$$
\begin{bmatrix}-1&0&1\-2&0&2\-1&0&1\end{bmatrix}
$$
处理后的图像为
垂直方向 Sobel 核:
$$
\begin{bmatrix}-1&-2&-1\0&0&0\1&2&1\end{bmatrix}
$$
处理后的图像为
在实际应用中,水平和垂直 Sobel 核可以分别应用于图像,然后将它们的结果合并,以获得更全面的边缘信息。
Prewitt 卷积核
Prewitt 卷积核类似于 Sobel 卷积核,也用于边缘检测,但其核的权重分布略有不同
水平方向 Prewitt 卷积核:
$$
\begin{bmatrix}-1&0&1\-1&0&1\-1&0&1\end{bmatrix}
$$
处理后的图像为
垂直方向 Prewitt 卷积核:
$$
\begin{bmatrix}-1&-1&-1\0&0&0\1&1&1\end{bmatrix}
$$
处理后的图像为
Roberts 卷积核
相比于前两种,这种卷积核为 2 * 2 的,简单有效
1 型
$$
\begin{bmatrix}1&0\0&-1\end{bmatrix}
$$
处理后的图像为
2 型
$$
\begin{bmatrix}0&1\-1&0\end{bmatrix}
$$
处理后的图像为
这两幅图你可能大致一看没什么差别,但是但你仔细观察两个人物的轮廓亮的那一部分是正好相反的,一个朝右,一个朝左
自定义卷积核
在这里我自己也尝试了一些有意思的卷积核进行试验
$$
\frac{1}{3}\times\begin{bmatrix}0&0&1\0&1&0\1&0&0\end{bmatrix}
$$
100 次卷积处理后的图像为
可能你已经忘记了原图像,这里我再次把它放出
可以看到,处理后的照片具有一种动态模糊的感觉,感觉可以用来模仿正在运动的物体状态。
值得一提的时,这 100 次卷积操作使用我自己的函数时,程序一共大概运行了一个小时左右(