簡體   English   中英

使用Python(OpenCV)中的霍夫線變換從模擬時鍾讀取時間

[英]Reading time from analog clock using Hough Line Transform in Python (OpenCV)

我一直在嘗試編寫一個程序,該程序在圖片上定位時鍾的臉,然后從中讀取時間。 定位效果很好,閱讀時間不多。

cv2.HoughLines函數返回線條所在的角度(從圖像頂部開始測量)以及它們與圖像左上角的距離。 經過一些調整后,我設法說服我的代碼為每個時鍾指針找到一條直線,但是到目前為止,我仍然無法從中實際讀取時間。

使用適當的公式,我可以找到這些線的交點(時鍾的中間部分),然后一次沿兩個方向的指針進行迭代。 這可以告訴我每只手的長度(允許我將它們分開)以及它們指向的方向。 不過,我對於實施此解決方案非常猶豫-不僅看起來有些丑陋,而且還會帶來一定的風險。 例如:舍入問題可能導致程序檢查錯誤的像素並過早找到行尾。

那么,您能否建議一個替代解決方案?

我設法解決了我的問題。

我一直試圖在應該使用霍夫概率變換的地方使用霍夫線變換。 當我得到它的那一刻,我將沿着類似函數繪制的線歸為一組,按長度對其進行排序,並使用反正弦以及它們的末端位置來找到直立的指針的精確度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM