【 1. 边缘检测 】
边缘检测是图像处理和计算机视觉中的基本问题,
边缘检测的目的是标识数字图像中亮度变化明显的点。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。图像属性中的显著变化通常反映了属性的重要事件和变化。如下图:
常用的边缘检测模板有 Laplacian 算子、Roberts 算子、Sobel 算子、 Kirsch 算子和 Prewitt 算子等。
canny (精明) 边缘检测的五个步骤:
- 使用高斯滤波器,以平滑图像,滤除噪声。
- 计算图像中每个像素点的梯度强度和方向。
- 应用非极大值(Non-Maximum Suppression)抑制,以消除边缘检测带来的杂散响应。
- 应用双阈值(Double-Threshold)检测来确定真实的和潜在的边缘。
- 通过抑制孤立的弱边缘最终完成边缘检测。
【 2. OpenCv图片边缘检测 】
import cv2
image = cv2.imread('picture.jpg')# 读取图片
gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)# 转换为灰度图片
canny_edg=cv2.Canny(gray,50,150)#进行canny边缘检测
cv2.imshow('cute boy',canny_edg) # 显示图片
cv2.waitKey(0) # 等待用户关闭图片窗口
cv2.destroyAllWindows()# 关闭窗口
原图
边缘图片