100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 边缘检测(Canny Sobel Laplacian Scharrs)的python调用

边缘检测(Canny Sobel Laplacian Scharrs)的python调用

时间:2023-03-20 11:21:33

相关推荐

边缘检测(Canny Sobel Laplacian Scharrs)的python调用

我看了很多边缘检测的教程,很多是基于matlab实现的,其实我们如果只是简单的边缘检测,我们可以直接调用已有的opencv的函数。如下

import cv2import numpy as npimg = cv2.imread('iamge.jpg', 0)# Sobel实现sobel_x = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=5)sobel_y = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=5)edges_sobel = np.hypot(sobel_x, sobel_y)edges_sobel *= 255.0 / np.max(edges_sobel)# Canny实现# 第二个第三个参数分别是阈值,用双阈值的方法来决定可能的(潜在的)边界edges_canny = cv2.Canny(img, 100, 100)# Laplacian实现edges_laplacian = cv2.Laplacian(img, cv2.CV_64F)# Scharr实现schar_x = cv2.Scharr(img, cv2.CV_64F, 1, 0)schar_y = cv2.Scharr(img, cv2.CV_64F, 0, 1)edges_scharr = np.hypot(schar_x, schar_y)edges_scharr *= 255.0 / np.max(edges_scharr)

然后简单介绍一下原理:

Sobel算子:

Laplacian 算子:

Canny 算子:

下面是效果图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。