機器視覺學習筆記(1)--如何檢測棋盤格
攝像機標定是機器視覺的最基礎和重要的技術之一,而棋盤格經常用來作為相機標定的標定物,棋盤格示例如圖1所示。
圖1:棋盤格示例
大家常用一些標定工具(如OpenCV)來檢測棋盤格,但很少有人知道其內在的檢測原理,現在小編就為大家簡要講解一種檢測方法,其步驟如下:
第一步,局部平均自適應閾值化方法對亮度不均勻情況適應性強,因此用該方法對圖像二值化,效果如圖2所示。
圖2:局部平均自適應閾值化
第二步,圖像膨脹分離各個黑塊四邊形的銜接,由於膨脹的是白色像素點,因此能夠縮小黑塊四邊形,斷掉銜接,效果如圖3所示。
圖3:圖像膨脹
第三步,檢測四邊形,計算每個輪廓的凸包,多邊形檢測,以及判斷是否只有四個頂點,若是則為四邊形,再用長寬比、周長和面積等約束去除一些干擾四邊形,效果如圖4所示。
圖4:四邊形檢測
第四步,將每個四邊形作為一個單元,它分別有鄰近的四邊形,無鄰近四邊形的為干擾四邊形,兩個鄰近四邊形為邊界處四邊形,四個鄰近四邊形為內部四邊形。每個四邊形的序號可按鄰近關係排序,然後按對角兩個四邊形相對的兩個點,取其連線的中間點作為角點, 效果如圖5 所示。
圖5:角點檢測
本文章提供了棋盤格檢測的簡要思路,演算法檢測的穩定性和可靠性還是要多方面考慮,可以從局部自適應閾值化的窗口大小設置,膨脹的次數,和該流程是否需要多次重複操作等方面入手。
機器視覺助手歡迎大家的加入,一起學習進步。
http://ww2.sinaimg.cn/mw690/a14eb5b5gw1fa4ut8oviaj20fk09et9s.jpg歡迎轉載機器視覺助手的文章,我們也希望能夠讓更多的對機器視覺感興趣的人看到我們的文章,不過在轉載之前請獲得我們的授權或嚴格按照要求進行轉載。
推薦閱讀:
※自控貓|[問答]連載43-檢驗周期對SIF迴路計算的影響?
※UR5 kinect2 eye on base calibration