OpenCV学习笔记(7)--Canny Edge Detection Canny边缘检测
1.减少噪音 利用以上取得的两个图像,可以用以下公式找到每个像素的边缘梯度和方向: 3.Non-maximum Suppression非最大值抑制 上述获取梯度的大小和方向之后,一张移除了不想要的像素(这些像素是指不组成边的)全图,为了得到这张全图(为了移除这些像素),对每一个像素进行查验,判断它是否是梯度方向上的像零点的相邻最大值(local maximum)。 4.Hysteresis Thresholding(滞后阈值法) 用OpenCV实现Canny边缘检测: cv2.Canny(src,minVal,maxVal,aperture_size,L2gradient) (默认为false) import cv2 import numpy as np from matplotlib import pyplot as plt img = cv2.imread("r.jpg",0) edges = cv2.Canny(img,100,200) plt.subplot(121),plt.imshow(img,cmap ="gray") plt.title("Orignal"),plt.xticks([]),plt.yticks([]) plt.subplot(122),plt.imshow(edges,cmap="gray") plt.title("Edge Image"),plt