我们将看到如何使用 python open-cv 检测图像中的边缘,它以 cv2(计算机视觉)库的形式存在。
您可以使用库的Canny()方法cv2来检测图像中的边缘。要使用 cv2 库,您需要使用import statement.
Canny()
cv2
import statement
Canny()方法使用精明的边缘检测算法来寻找图像中的边缘。
现在让我们先看一下方法的语法和返回值cv2 canny(),然后我们将继续示例。
cv2 canny()
cv2.Canny(image, threshold1, threshold2, apertureSize, L2gradient)
您可以将五个参数传递给 resize() 方法。五个参数中,前三个(image,threshold,andthreshold2)是必须的;rest(apertureSize 和 L2gradient) 是可选的。
必要的参数是:
image:n 维数组的源/输入图像。
image:
threshold1:它是强度梯度的高阈值。
threshold1:
threshold2:
它是强度梯度的低阈值。
可选参数有:
apertureSize:Sobel 滤波器的核(矩阵)阶。它的默认值是 (3 x 3),它的值应该是 3 到 7 之间的奇数。它用于寻找图像梯度。过滤器用于平滑和锐化图像。
apertureSize:
L2gradient:这指定了寻找梯度幅度的方程。L2gradient 为布尔类型,默认值为False.
L2gradient:
False
它返回灰度边缘检测图像。
现在让我们看看 Python 代码:仅 Example 1:使用Canny()带有必要参数的方法。
Example 1:
# import computer vision library(cv2) in this code import cv2 # main code if __name__ == "__main__" : # mentioning absolute path of the image img_path = "C:\\Users\\user\\Desktop\\flower.jpg" # read/load an image image = cv2.imread(img_path) # show the input image on the newly created image window cv2.imshow('image window1',image) # detection of the edges img_edge = cv2.Canny(image,100,200) # show the image edges on the newly created image window cv2.imshow('image window2',img_edge)
输出:
Example 2:使用Canny()带有apertureSize参数值和必要参数的方法。
Example 2:
apertureSize
# import computer vision library(cv2) in this code import cv2 # main code if __name__ == "__main__" : # mentioning absolute path of the image img_path = "C:\\Users\\user\\Desktop\\flower.jpg" # read/load an image image = cv2.imread(img_path) # show the input image on the newly created image window cv2.imshow('image window1',image) # detection of the edges img_edge = cv2.Canny(image,100,200,apertureSize = 5) # show the image edges on the newly created image window cv2.imshow('image window2',img_edge)
输出 :
Example 3:使用 Canny() 方法L2gradient和apertureSize参数值以及必要的参数。
Example 3:
L2gradient
# import computer vision library(cv2) in this code import cv2 # main code if __name__ == "__main__" : # mentioning absolute path of the image img_path = "C:\\Users\\user\\Desktop\\flower.jpg" # read/load an image image = cv2.imread(img_path) # show the input image on the newly created image window cv2.imshow('image window1',image) # detection of the edges img_edge = cv2.Canny(image,100,200,apertureSize = 5, L2gradient = True) # show the image edges on the newly created image window cv2.imshow('image window2',img_edge)
Example 4:使用Canny()带有L2gradient参数值和必要参数的方法。
Example 4:
这就是 Python 中 cv2 Canny() 方法的全部内容。
原文链接:https://codingdict.com/