OpenCV python Canny边缘检测
处理原图:[source.jpg]
import cv2
def main():
# 1.导入图片
img_src = cv2.imread("source.jpg", cv2.IMREAD_GRAYSCALE)
# 2.执行canny操作
img_canny1 = cv2.Canny(img_src, 128, 200, apertureSize=3)
img_canny2 = cv2.Canny(img_src, 32, 128, L2gradient=False)
# 3.显示结果
cv2.imshow("img_src", img_src)
cv2.imshow("img_canny1", img_canny1)
cv2.imshow("img_canny2", img_canny2)
cv2.waitKey()
cv2.destroyAllWindows()
if __name__ == '__main__':
main()
图片结果[img_canny1.jpg]
图片结果[img_canny2.jpg]
边缘检测
"""
边缘识别
"""
import cv2 as cv
original = cv.imread("./chair.jpg", cv.IMREAD_GRAYSCALE)
print(original.shape)
cv.imshow("original", original)
# 索贝尔边缘检测
sobel = cv.Sobel(original, cv.CV_64F, 1, 1, ksize=5)
cv.imshow("sobel", sobel)
# 拉普拉斯边缘检测
laplacian = cv.Laplacian(original, cv.CV_64F)
cv.imshow("laplacian", laplacian)
# canny边缘检测
canny = cv.Canny(original, 50, 200)
cv.imshow("canny", canny)
cv.waitKey()
sobel
laplacian
canny