第五章、边缘检测

基于Python的OpenCV学习

第五章、边缘检测

00_思维导图

第五章、边缘检测_第1张图片

01_cv2.Canny

import cv2
import matplotlib.pyplot as plt
img1 = cv2.imread('car.jpg',cv2.IMREAD_GRAYSCALE)

# cv2.Canny(image,minVal,maxVal)方法,实现图片的边缘检测,适用于灰度图。
# 其中,minVal表示最小梯度,maxval表示最大梯度。
img2 = cv2.Canny(img1,150,250)
img3 = cv2.Canny(img1,50,100)
# 详细解释一下边缘检测的双阈值算法:
# 当梯度值大于maxVal时取maxVal。
# 当梯度值介于minVal、maxVal之间时不做改变。
# 当梯度值小于minVal时取0。

# 当双阈值较小时,可以显示出更多的边缘细节。
img_list = [img1,img2,img3]
img_tittle = ['init','high','low']
for i in range(3):
    plt.subplot(1,3,i+1)
    plt.imshow(img_list[i])
    plt.title(img_tittle[i])
plt.show()
cv2.destroyAllWindows()
运行结果:

第五章、边缘检测_第2张图片

你可能感兴趣的:(opencv,计算机视觉,python)