基于python的opencv项目实战笔记(五)—— Canny边缘检测

import cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
def cv_show(name,img):
    cv.imshow(name,img)
    cv.waitKey(0)
    cv.destroyAllWindows()
#Canny边缘检测算法
#(1)使用高斯滤波器,以平滑图像,滤除噪声
#(2)计算图像中每个像素点的梯度强度变化
#(3)应用非极大值抑制,以消除边缘检测带来的杂散响应
#(4)应用双阈值检测来确定真实的和潜在的边缘
#(5)通过抑制孤立的弱边缘最终完成边缘检测
def cv_canny(img):
    v1=cv.Canny(img,80,150)
    v2=cv.Canny(img,50,100)
    v3 = cv.Canny(img, 120, 250)
    v4 = cv.Canny(img, 50, 100)
    res=np.hstack((v3,v4))
    cv_show('res',res)
img=cv.imread('D://z2.png',cv.IMREAD_GRAYSCALE)
cv_canny(img)

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