虽然CNN会自动配置卷积的种类,不过我们还是来看看各种卷积的图像处理效果,进而加深大家对CNN的理解。
下列程序代码请参考【06_01_convolutions.ipynb】后半部。
(1)首先定义一个卷积的影像转换函数,代码如下。
(2)需要安装Python OpenCV套件,OpenCV是一个图像处理的套件。
pip install opencv-python
(3)将影像灰度化:skimage全名为scikit-image,也是一个图像处理的套件,功能较OpenCV简单。
执行结果。
原图:
灰度化:
(4)模糊化(Blur):滤波器设定为周围点的平均,就可以让图像模糊化,一般用于消除红眼现象或噪声。
小模糊:7×7矩阵。
大模糊:21×21矩阵,滤波器尺寸越大,影像越模糊。
(5)锐化(sharpen):可使图像的对比更加明显。
执行结果:卷积凸显中间点,使图像特征越明显。
(6)Laplacian边缘侦测:可侦测图像的轮廓。
执行结果:卷积凸显边缘,显现图像外围线条。
(7)Sobel X轴边缘侦测:沿着 X 轴侦测边缘,故可侦测垂直线特征。
执行结果:卷积行由小至大,显现图像垂直线条。
(8)Sobel Y轴边缘侦测:沿着 Y 轴侦测边缘,故可侦测水平线特征。
执行结果:卷积列由小至大,显现图像水平线条。