前面的章節中我們已經大致介紹了算法流程,也對一些算法中用到的相關概念做了簡要介紹,同時給出了算法調用的API,現在我們開始算法檢測接口實現源碼的分析。
1. 斑點的分組與加權
這里我們選擇后者,先了解算法的處理流程,再分析各個模塊的實現。算法流程圖如下圖所示,上一章中已經做了一些介紹,這里補充介紹下其中的一個相對復雜且重要的模塊,斑點的分組和加權處理。具體來說,隨著閾值的變化會對圖像進行多次檢測,如何判斷哪些檢測結果屬于同一個斑點?對這些檢測結果要做什么樣的加權來獲得更準確的輸出?
首先算法中為斑點設置了質心點坐標、半徑、置信度的屬性,其計算方法如下。
- 質心坐標:利用圖像的矩計算,定義為m10/m00,m01/m00。有關圖像的矩的定義參考https://