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)