features op• 資料種類:image → feature
• 呼叫:fullseye.apply(img, "cv_hough_circles", a=0.5, b=0.5)(2-D 的模型是一張圖 + 兩個純量旋鈕 a,b∈[0,1])
• HALCON 對應:hough_circles(其含義與參數可參考 HALCON 手冊)
• GPU:無(僅 CPU 參考實作)

*圖為在 128×128 合成輸入上實際執行的輸出。左為輸入,右為輸出。點雲以俯視散點顯示(亮度 = z),一維序列為折線,體資料為沿 z 的最大值投影,影片為中間影格,複數影像為振幅;無法成像的回傳值直接顯示數值。*
*旋鈕 a 不改變輸出(實測: 0.1 / 0.5 / 0.9 相同)。*
*旋鈕 b 不改變輸出(實測: 0.1 / 0.5 / 0.9 相同)。*
基於霍夫變換的圓偵測(單一純量特徵,OpenCV 實作)。使用依賴邊緣梯度資訊的 HOUGH_GRADIENT 方法,以投票方式偵測圓心與半徑 —— 這裡只回傳偵測到的圓的數量(若為 0 個則回傳 0)。
相當於 HALCON 的 hough_circles(Detect centers of circles for a specific radius using the Hough transform.)(近似:只回傳個數,不回傳圓心座標)。實作為 cv2.HoughCircles(_u8(v), HOUGH_GRADIENT, dp=1, minDist=10+int(a*20), param1=100, param2=20+int(b*20), minRadius=3, maxRadius=20) —— a 把偵測到的圓心之間的最小距離設為 10〜30,b 把圓心投票閾值 param2(越小誤檢越多)設為 20〜40。param1(內部 Canny 高閾值)與半徑範圍(3〜20)固定。
前提條件:先做平滑(本 op 內部不平滑)。HOUGH_GRADIENT 沿每個像素的梯度方向為圓心投票,雜訊使方向分散時票數無法聚集。OpenCV 的說明與範例也都先模糊輸入再傳入(GaussianBlur / medianBlur)。實測(2026-11-03,96x96,0.3 背景上 0.6 的圓盤,雜訊 σ 0.02):不平滑時,無論半徑 6〜8 的 3 個圓盤或半徑 18 的 1 個圓盤都是 0 個(直接呼叫 cv2.HoughCircles 也回傳 None)。先施加 gaussian a=0.5(σ 約 1.65 px)後能正確數出 3 / 4 個。回傳 0 時無法區分「沒有圓」與「票被分散」,因此對有雜訊的影像務必在前面放置平滑。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• 演算法的正典(作者、年份)與用途見上面的族使用指南。
下面的程式已確認可以執行(與圖相同的輸入)。在 Studio 說明中,此區塊會變成按鈕,可當場載入並執行。
cv_hough_circles 0.50 0.50
• gallery2d_features — py -3.11 examples/gallery2d_features.py
feature 作為輸入)features)effective_bit_depth · blob_count · area_frac · count_contours · total_length · vol_count · sk_euler · sk_entropy_feat
*Provenance: ops.py — 2D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.