一、總體項目流程:
1、需求分析:一個項目主要包含
·1)定位(①Blob分析(主要包括二值化、形態學處理、特征選擇,受光照影響較大)、②模板匹配)、識別;
2)缺陷檢測
3)OCR字符識別
4)測量類的項目這四個大方向
2、方案設計:根據客戶應用的場合不同,選擇相應的鏡頭、相機、支架、光源及如何打光等
3、概要設計:軟件架構體系,vc++聯合halcon還是c#聯合halcon等,還有算法流程,怎么通訊、怎么識別等
4、詳細設計:每一個功能模塊怎么做,包括圖像采集模塊、處理模塊、包括算法模塊,如何通訊等。通常將每個模塊形成一個動態庫,調用相應的接口函數即可,項目圖像采集調用SDK也是調用動態庫的過程。
5、常見的視覺項目中圖像處理框架:
1)采集圖像
2)圖像預處理:濾波、二值化等處理以克服圖像干擾。
3)形態學或特征處理(深度學習的話,后面還要加上訓練、識別)
4)顯示
6、調試
7、測試、修改
8、交互給客戶,讓客戶按照合同中的技術指標執行(給用戶寫文檔)
9、維護
相機、鏡頭、光源的選型及打光也就是上面項目流程第二步方案設計的內容,這里推薦一本書《工程光學》,講的比較詳細。
二、具體項目流程:
一)定位識別項目
1、采集
2、圖像預處理:對采集到的圖像進行(幾何變換)、灰度化、圖像增強(gray_range_rect—使圖像亮的地方更亮,暗的地方更暗)、濾波、二值化、細化等
3、定位(blob分析、模板匹配)
4、特征提取: 有形狀特征、紋理特征、概率特征、角點、特征描述算子特征等,直接影響定位、識別的效果
5、識別
6、顯示