[英]OpenCV - detecting missing coins from a tray using a live camera feed
我正在構建一個系統,該系統可以檢測從托盤中拾取的硬幣。 該托盤將保存在公共場所。 人們會撿起一個或多個硬幣,但預計會在一段時間后將其保留。
我將通過頂部的攝像頭進行實時直播。 我將在一天開始時進行一個校准步驟,例如,該步驟將捕獲用於與實時數據進行比較的托盤的初始狀態。 如示例圖像所示,開始時可能有幾個插槽是空的。
我需要檢測最初具有硬幣但在一天中任何給定時間點都沒有硬幣的插槽。
我正在嘗試使用OpenCV的幾種方法:
SSIM的區別 :我可以使用SSIM查找實時圖像幀和初始狀態之間的差異。 但是,插槽的數量大於相應的硬幣大小(例如,前兩行)。 這可能意味着,如果硬幣最初放置在中心,但后來又放回接觸邊緣之一,我們可能會得到誤報。
斑點檢測 :或者,我可以預送(或檢測)插槽坐標。 然后在每個插槽中進行斑點檢測。 如果在原始狀態下存在斑點,但在相機鏡框中沒有斑點,則意味着已撿起硬幣。 但是,如果硬幣和托盤之間的對比度較低,則准確的斑點檢測可能會成為一個挑戰。
我可能還需要注意照明的細微變化,因為人們四處走動時會產生陰影。
對這些想法有什么想法,或者對可以嘗試的替代方法有何想法? 我可以從中學習類似的實現嗎?
提前謝謝了。
編輯:感謝@ I.Newton的建議。 對於那些偶然發現此問題並將從示例實現中受益的人,請查看此處: https : //github.com/kewats/computer-vision-samples/tree/master/image-processing/missing-coins-detection
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.