第5章 应用导数方法实现图像增强
在本章中,我们将继续讨论图像增强,即讨论有关改善图像的外观或实用性的问题。在内容安排上,我们主要关注于计算图像梯度/导数的空间滤波技术,以及如何应用这些技术实现图像的边缘检测。首先,我们将从使用一阶(偏)导数的图像梯度的基本概念开始;然后讨论二阶导数/拉普拉斯导数,读者将看到如何使用它们来查找图像中的边;接下来,我们将讨论使用Python图像处理库PIL、scikit-image
的filter
模块和SciPy的ndimage
模块对图像进行锐化/反锐化掩模的几种方法;再接下来,读者将学到如何使用不同的滤波器(sobel
、canny
、LoG
等)并将它们与图像进行卷积,以检测图像中的边缘;最后,我们将讨论如何计算高斯/拉普拉斯图像金字塔(用scikit-image
),并使用图像金字塔平滑地融合两幅图像。
本章主要包括以下内容:
- 图像导数——梯度和拉普拉斯算子;
- 锐化和反锐化掩模;
- 使用导数和滤波器进行边缘检测;
- 图像金字塔——融合图像。
5.1 图像导数——梯度和拉普拉斯算子
可以采用有限差分法计算数字图像的偏导数。在本节中,我们将讨论如何计算图像导数、梯度和拉普拉斯算子,以及说明它们为何有用。与之前章节中的示例一样,我们先导入所需的库,如下面的代码所示:
import numpy as np from scipy import signal, misc, ndimage from skimage import filters, feature, img_as_float from skimage.io import imread from skimage.color import rgb2gray from PIL import Image, ImageFilter ...
Get Python图像处理实战 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.