應用場景還未說明,所以有些細節可能不會完全符合你的專案要求。首先你的攝像頭解析度不是很高,而且球會出現較遠較小的情況,所以基於紋理的識別方法很難實現。因為會出現壓線情況,線是白線,單純的顏色通道和邊緣+圓識別會有問題。所以建議先對原圖進行銳化,銳化方法有很多,因為只需要針對球壓線的情況進行銳化,所以推薦指數銳化,拉普拉斯銳化應該也能滿足專案需求,增大白色高畫素值區域的分辨度。之後可以進行邊緣檢測,推薦canny,閾值方面需要你自己考量下,銳化後分割閾值10應該差不多。之後進行圓形檢測應該可以找到球所在區域。如果有多個區域檢測出來,需要你自己寫演算法根據情況進行判別。有個注意點是邊緣檢測通常需要進行事先模糊操作,建議不用模糊演算法直接上邊緣檢測。上述思路是比較常規的思路,還有兩種方法比較取巧,應該也可以滿足你的要求。燈光是從上方照射,因此可以根據陰影來確定大概方位。這是一個思路,不再贅述。第二個,如果你的球可以保證上面有暗色花紋,可以直接灰度化上大津法二值化,球狀物中間會有斑點,透過這個斑點進行聯通域相關的識別定位方法,也可以比較準確的進行球定位。第一種方法,肯定可以很好的解決問題,後面兩種方法需要看你的應用場景。有問題可以私信我,最近還沒有工作,不是很忙。手動分割線,下面是廢話的原答案。希望問題新增一張樣圖,無從知道紋理、解析度、顏色、陰影、應用場景等所有情況,僅得到直徑略寬這個資訊沒有辦法討論。
應用場景還未說明,所以有些細節可能不會完全符合你的專案要求。首先你的攝像頭解析度不是很高,而且球會出現較遠較小的情況,所以基於紋理的識別方法很難實現。因為會出現壓線情況,線是白線,單純的顏色通道和邊緣+圓識別會有問題。所以建議先對原圖進行銳化,銳化方法有很多,因為只需要針對球壓線的情況進行銳化,所以推薦指數銳化,拉普拉斯銳化應該也能滿足專案需求,增大白色高畫素值區域的分辨度。之後可以進行邊緣檢測,推薦canny,閾值方面需要你自己考量下,銳化後分割閾值10應該差不多。之後進行圓形檢測應該可以找到球所在區域。如果有多個區域檢測出來,需要你自己寫演算法根據情況進行判別。有個注意點是邊緣檢測通常需要進行事先模糊操作,建議不用模糊演算法直接上邊緣檢測。上述思路是比較常規的思路,還有兩種方法比較取巧,應該也可以滿足你的要求。燈光是從上方照射,因此可以根據陰影來確定大概方位。這是一個思路,不再贅述。第二個,如果你的球可以保證上面有暗色花紋,可以直接灰度化上大津法二值化,球狀物中間會有斑點,透過這個斑點進行聯通域相關的識別定位方法,也可以比較準確的進行球定位。第一種方法,肯定可以很好的解決問題,後面兩種方法需要看你的應用場景。有問題可以私信我,最近還沒有工作,不是很忙。手動分割線,下面是廢話的原答案。希望問題新增一張樣圖,無從知道紋理、解析度、顏色、陰影、應用場景等所有情況,僅得到直徑略寬這個資訊沒有辦法討論。