天天看點

二值圖像分析案例精選

說起來,我還是挺慚愧的,去年四月份連續在51CTO部落格發表了一波技術文章,後來因為自己太忙就慢慢忘記更新拉,前兩天一看通路量居然突破100+萬拉,感謝各位的厚愛與支援,更覺得51CTO部落格改版之後真的是很棒!是以又來更新了!

最近一直有人向我提問很多二值圖像分析相關的問題,特别選擇了兩個典型的輪廓分析問題。進行分析與編碼實作與示範,廢話不多說,先看第一個問題。

問題描述如下

想找到工具盤中間缺少的幾個點,統計出可以看到的工件數目
二值圖像分析案例精選

仔細分析圖像發現,中間都毫無另外的有個白色很亮的圓圈,這個給了我兩個思路

可以通過霍夫變換檢測圓來提取到 可以通過二值圖像分析來提取 + 輪廓分析來提取到這些點

得到這些輪廓點之後通過分析整個輪廓區域得到傾斜角度,進行糾偏,然後通過X與Y投影進行分割,得到每個零件的中心位置坐标,根據每一行的間隔設定門檻值,進而實作缺少部分部分的标出與件數統計,确定了這樣的思路以後,我就開始了寫代碼。代碼實作是基于輪廓分析的思路,因為這個方法,用的門檻值比較少,有利于算法穩定性檢測。示範各部輸出。二值化處理之後(形态學處理):

二值圖像分析案例精選

輪廓發現與校正角度之後

二值圖像分析案例精選

投影分析與統計結果如下

二值圖像分析案例精選

此外基于霍夫也是可以嘗試的,霍夫的二值化效果也比較好,顯示如下:

二值圖像分析案例精選

感興趣的同學可以自己繼續嘗試下去。

描述如下:

如何統計下圖中的對象個數,原圖如下
二值圖像分析案例精選

看到這個圖像之後,個人覺得解決十分簡單,基于最外層輪廓發現即可,無需樹形結構與層次分析,集合圖像形态學分析或者距離變換就可以得到,最終代碼的運作結果如下:

二值圖像分析案例精選

問題1的代碼如下(已經添加各步驟注釋了):

問題二:

解鎖更多圖像處理與視訊分析技能,

歡迎學習我的最新OpenCV4圖像處理與視訊分析視訊課程

OpenCV4圖像處理與視訊分析 - 實戰教程

感謝大家關注我的部落格,我會繼續更新!

有你們有動力!