本文介绍opencv里面内置的三种梯度滤波器。
工具/原料
1
电脑
2
python
3
opencv
方法/步骤
1
给定一张图片。
2
转化为灰度图。
3
第一种梯度滤波器叫做Sobel滤波器,分为两个方向。a = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)a = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)下面是两个方向的检测结果。
4
两个方向同时检测。a=cv2.Sobel(img,cv2.CV_64F,1,1,ksize=5)
5
第二种梯度滤波器,Scharr,也分为两个方向,不过这是斜着的。。a = cv2.Scharr(img,cv2.CV_8U,1,0)a = cv2.Scharr(img,cv2.CV_8U,0,1)
6
a = cv2.Scharr(img,cv2.CV_8U,1,1)
7
第三种梯度滤波器是Laplacian的,这是一个二位的滤波器,两个方向同时包含了:a = cv2.Laplacian(img,cv2.CV_8U)