
OpenCV
文章平均质量分 60
XL是人间理想
这个作者很懒,什么都没留下…
展开
-
OpenCV——Roberts算子
Roberts算子Roberts 算子是利用局部差分寻找边缘的一种算子,是最简单的边缘检测算子。Roberts 算子利用对角线方向相邻两像素之差近似梯度幅值来检测边缘,检测垂直边缘的效果要优于其他方向边缘,定位精度高,但对噪声的抑制能力较弱。边缘检测算子检查每个像素的邻域并对灰度变化率进行量化,同时也包含方向的确定。Roberts 算子边缘定位准,但是对噪声敏感。常用来处理具有陡峭的低噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更理想。它适用于边缘明显而且噪声较少的图像分割,在应用中经原创 2021-10-31 17:43:02 · 5101 阅读 · 0 评论 -
OpenCV——Canny边缘检测(cv2.Canny())
Canny边缘检测Canny 边缘检测是一种使用多级边缘检测算法检测边缘的方法。1986 年,John F. Canny 发表了著名的论文 A Computational Approach to Edge Detection,在该论文中详述了如何进行边缘检测。Canny()边缘检测步骤Canny 边缘检测分为如下几个步骤:步骤 1:去噪。噪声会影响边缘检测的准确性,因此首先要将噪声过滤掉。步骤 2:计算梯度的幅度与方向。步骤 3:非极大值抑制,即适当地让边缘“变瘦”。步骤 4:确定边缘。使原创 2021-10-31 17:33:36 · 116281 阅读 · 7 评论 -
OpenCV——Laplacian 算子
Laplacian 算子Laplacian(拉普拉斯)算子是一种二阶导数算子,其具有旋转不变性,可以满足不同方向的图像边缘锐化(边缘检测)的要求。通常情况下,其算子的系数之和需要为零。例如,一个3×3 大小的 Laplacian 算子如图 所示。Laplacian 算子类似二阶 Sobel 导数,需要计算两个方向的梯度值。例如,在图 9-25 中: 左图是 Laplacian 算子。 右图是一个简单图像,其中有 9 个像素点。计算像素点 P5 的近似导数值,如下:P5lap = (P2原创 2021-10-31 17:06:08 · 4698 阅读 · 0 评论 -
OpenCV——Sobel 算子和 Scharr 算子的比较
Sobel 算子和 Scharr 算子的比较Sobel 算子的缺点是,当其核结构较小时,精确度不高,而Scharr 算子具有更高的精度。Sobel 算子和 Scharr 算子的核结构如图 所示。程序示例:分别使用 Sobel 算子和 Scharr 算子计算一幅图像的水平边缘和垂直边缘的叠加信息。import cv2o = cv2.imread('lena.bmp',cv2.IMREAD_GRAYSCALE)sobelx = cv2.Sobel(o,cv2.CV_64F,1,0,ksize=3)原创 2021-10-31 16:49:11 · 1564 阅读 · 0 评论 -
OpenCV图像梯度——Scharr算子(cv2.Scharr())
Scharr算子在离散的空间上,有很多方法可以用来计算近似导数,在使用 3×3 的 Sobel 算子时,可能计算结果并不太精准。OpenCV 提供了 Scharr 算子,该算子具有和 Sobel 算子同样的速度,且精度更高。可以将 Scharr 算子看作对 Sobel 算子的改进,其核通常为:OpenCV 提供了函数 cv2.Scharr()来计算 Scharr 算子,其语法格式如下:dst = cv2.Scharr( src, ddepth, dx, dy[, scale[, delta[, bo原创 2021-10-31 16:40:33 · 3355 阅读 · 0 评论 -
OpenCv图像梯度——sobel算子(cv2.Sobel())
图像梯度算的是什么?图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。一般情况下,图像梯度计算的是图像的边缘信息。严格来讲,图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。Sobel理论基础Sobel 算子是一种离散的微分算子,该算子结合了高斯平滑和微分求导运算。该算子利用局部差分寻找边缘,计算所得的是一个梯度的近似值。下图为Sobel算子示例:在 O原创 2021-10-31 16:14:44 · 20229 阅读 · 0 评论