人工智能例子汇总:AI常见的算法和例子-CSDN博客
Canny 边缘检测的步骤
1. 灰度转换
- 如果输入的是彩色图像,则需要先转换为 灰度图像,因为边缘检测通常在单通道图像上进行。
2. 高斯滤波(Gaussian Blur)
- 由于边缘检测容易受到噪声的影响,使用 高斯滤波 来平滑图像,减少噪声干扰。
- 典型的高斯核大小:3×33\times33×3, 5×55\times55×5
- 高斯滤波公式:
- 其中,σ\sigmaσ 控制模糊程度,通常取 1.0。
完整代码:
import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像并转换为灰度
image = cv2.imread("touxiang.jpg", cv2.IMREAD_GRAYSCALE)# 使用 Canny 进行边缘检测
edges = cv2.Canny(image, 50, 150) # 低阈值 50,高阈值 150# 显示结果
plt.figure(figsize=(8,6))
plt.imshow(edges, cmap="gray")
plt.axis("off")
plt.title("Canny Edge Detection")
plt.show()