Scharr 算子
Scharr 算子和 Sobel 算子基本一樣. 隻是卷積核系數不同. Scharr 算子對邊界更加敏感, 也更容易誤判.
卷積核參數:

Laplacian 算子
拉普拉斯算子 (Laplacian) 是圖像二階空間導數的二維向同性測度. 拉普拉斯算子可以突出圖像中強度發生快速變化的區域, 是以常用在邊緣檢測任務當中.
進行 Laplacian 操作之前通常需要先用高斯平滑濾波器 (Gaussian Blur) 降低 Laplacian 算子對于噪聲的敏感性.
霍夫直線變換
霍夫變換 (Hough Line Transform) 是圖像進行中的一種特征提取技術. 通過平面空間到極值坐标空間的轉換, 可以幫助我們實作直線檢測.
HoughLines
格式:
cv2.HoughLines(image, rho, theta, threshold, lines=None, srn=None, stn=None, min_theta=None, max_theta=None)
參數:
image: 輸入圖像
rho: 線性搜尋半徑步長, 以像素為機關
theta: 線性搜尋步長, 以弧度為機關
threshold: 累計門檻值
HoughLinesP
此函數在 HoughLines 的基礎上末尾加了一個代表機率 (Probabilistic) 的 P, 表明它可以采用累計機率霍夫變換, 來找出二值圖像中的直線.
HoughLinesP(image, rho, theta, threshold, lines=None, minLineLength=None, maxLineGap=None)
1
minLineLength: 最短直線長度
maxLineGap: 最大孔隙距離
霍夫圓變換
霍夫圓變換 (Hough Circle Transform) 的原理和霍夫直線變換類似. 對于一條直線, 我們可以用參數 (r, θ) 表示, 對于圓我們需要三個參數 (x, y, r), 分别代表三個參數 x 圓心, y 圓心, r, 半徑.
因為霍夫圓檢測對噪聲比較敏感, 是以首先要對圖像做中值濾波.
基于效率考慮, Opencv 中實作的霍夫變換圓檢測是基于圖像梯度實作, 分為兩步:
檢測變換, 發現可能的圓心
基于第一步的基礎上從候選圓心開始計算最佳半徑大小
cv2.HoughCircles(image, method, dp, minDist, circles=None, param1=None, param2=None, minRadius=None, maxRadius=None)