边缘检测是计算机视觉和图像处理领域中的重要任务之一。它用于检测图像中的边缘和轮廓,帮助我们理解图像中的结构和形状。在边缘检测过程中,滤波器是一种常用的工具,用于在图像中寻找边缘。
下面介绍几种常见的边缘检测滤波器,并提供相应的源代码示例。
- Sobel 算子
Sobel 算子是一种基于梯度的边缘检测滤波器,它利用图像中的梯度信息来检测边缘。Sobel 算子分别计算水平和垂直方向上的梯度,并根据梯度的大小来判断边缘的位置。以下是使用 Python 实现的 Sobel 算子的示例代码:
import cv2
import numpy as np
def sobel_edge_detection(image):
# 将图像转换为灰度图
gray