一種圓的特徵提取算法的製作方法
2023-05-13 01:36:06
本發明涉及工業自動化領域,具體地說是一種圓的特徵提取算法。
背景技術:
本發明最初來源於眼鏡框切割行業的需求。在眼鏡框切割行業中,上一道工序,是用藥水在金屬板材表面腐蝕出花紋和特徵圓,然後用視覺定位的方式,將第二道工序的加工圖紙與金屬板材完全對應上。這其中,最重要的一個環節,就是快速識別出攝像機所拍攝圖片中的特徵圓,並精確的返回其圓心位置和半徑參數。
一般的識別特徵圓算法,往往要求特徵與背景對比度高,沒有較多的雜質幹擾,即只能夠處理某一類效果圖,對圖像特徵的一致性和穩定性要求很高,與此同時,算法處理的時間也耗費較長。而眼睛框行業的實際加工過程中,多數情況下,金屬板材表面會有很多雜質,並且不同的打光效果下,會導致圖像整體偏暗,或者偏亮,如此,就對算法的適應性提出了更有挑戰性的要求。
技術實現要素:
本發明為克服現有技術的不足,提供一種圓的特徵提取算法,綜合各種圖像處理手段,首先對輸入的圖像進行預判,將需要處理的圖像分為幾類,根據不同圖像類別的特點,做相應的特別的圖像預處理,當一種圖像處理方法處理的結果不滿足評價標準時,再次調用另一種圖像處理方法進行處理。其結果是,各種不同類型的效果圖都能夠識別到特徵圓,並且能夠以最快的速度處理最常見的效果圖,同時,對同一圖像進行多次查找,其誤差範圍在正負一個像素範圍內,即算法的穩定很好。
為實現上述目的,設計一種圓的特徵提取算法,其特徵在於:具體步驟如下:
(1)輸入相機拍攝的灰度圖像;
(2)統計灰度直方圖,根據直方圖判斷圖像是否需要圖像增強,是則進行圖像處理方法一;否則進行圖像處理方法二;
(3)圖像處理完後,得到特徵的輪廓位置信息,採用隨機抽樣的方法,查找符合點數最多的圓;
(4)判斷符合點數最多的圓是否滿足要求,是則返回特徵圓參數信息,算法結束;否則進行圖像處理方法三;
(5)經過圖像處理方法三處理後,得到特徵的邊緣坐標信息,採用隨機抽樣的方法,查找符合點數最多的圓;
(6)判斷符合點數最多的圓是否滿足要求,是則返回特徵圓的參數信息,算法結束;否則返回無特徵圓信息,算法結束。
所述的圖像處理方法一如下:
(1)將原始圖像進行圖像增強處理,以增加特徵與背景的對比度,具體採用的方法是直方圖均衡化;
(2)利用閥值化手段,將圖像轉換成二值圖像,其中特徵為白,灰度值為255,背景為黑,灰度值為0,具體採用的方法是OSTU閥值化;
(3)對二值化後的圖像,進行形態學開運算處理,其目的是去除輪廓周圍細小的毛刺;
(4)查找圖像中所有的輪廓,認為最大輪廓為特徵圓輪廓,保存最大輪廓的位置坐標信息。
所述的圖像處理方法二如下:
(1)將原始圖像進行HDR動態壓縮處理,以增強特徵較暗部分與背景的對比度,同時減小特徵較亮部分與背景的對比度;
(2)然後將HDR動態壓縮後的圖像進行OSTU閥值化處理;
(3)對二值化後的圖像,進行形態學閉運算處理,其目的是填充特徵中較小的空洞;
(4)最後提取圖像中圓特徵輪廓處理。
所述的圖像處理方法三如下:
(1)將圖像進行HDR動態壓縮處理;
(2)然後將HDR動態壓縮後的圖像進行高斯平滑處理;
(3)將高斯平滑處理後的圖像進行邊緣檢測,具體的方法是,根據所要查找的特徵圓大小,預估計邊緣輸出的數量,然後採用canny算子進行邊緣檢測處理;
(4)提取並保存特徵的邊緣信息,具體方法是,遍歷圖像中的每一個像素點,所有灰度值為255的點坐標都保存,這其中大部分的點都是特徵圓的邊緣信息。
本發明同現有技術相比,本發明綜合各種圖像處理手段,首先對輸入的圖像進行預判,將需要處理的圖像分為幾類,根據不同圖像類別的特點,做相應的特別的圖像預處理,當一種圖像處理方法處理的結果不滿足評價標準時,再次調用另一種圖像處理方法進行處理。其結果是,各種不同類型的效果圖都能夠識別到特徵圓,並且能夠以最快的速度處理最常見的效果圖。
附圖說明
圖1為本發明流程圖。
具體實施方式
下面根據附圖對本發明做進一步的說明。
如圖1所示,具體步驟如下:
(1)輸入相機拍攝的灰度圖像;
(2)統計灰度直方圖,根據直方圖判斷圖像是否需要圖像增強,是則進行圖像處理方法一;否則進行圖像處理方法二;
(3)圖像處理完後,得到特徵的輪廓位置信息,採用隨機抽樣的方法,查找符合點數最多的圓;
(4)判斷符合點數最多的圓是否滿足要求,是則返回特徵圓參數信息,算法結束;否則進行圖像處理方法三;
(5)經過圖像處理方法三處理後,得到特徵的邊緣坐標信息,採用隨機抽樣的方法,查找符合點數最多的圓;
(6)判斷符合點數最多的圓是否滿足要求,是則返回特徵圓的參數信息,算法結束;否則返回無特徵圓信息,算法結束。
圖像處理方法一如下:
(1)將原始圖像進行圖像增強處理,以增加特徵與背景的對比度,具體採用的方法是直方圖均衡化;
(2)利用閥值化手段,將圖像轉換成二值圖像,其中特徵為白,灰度值為255,背景為黑,灰度值為0,具體採用的方法是OSTU閥值化;
(3)對二值化後的圖像,進行形態學開運算處理,其目的是去除輪廓周圍細小的毛刺;
(4)查找圖像中所有的輪廓,認為最大輪廓為特徵圓輪廓,保存最大輪廓的位置坐標信息。
圖像處理方法二如下:
(1)將原始圖像進行HDR動態壓縮處理,以增強特徵較暗部分與背景的對比度,同時減小特徵較亮部分與背景的對比度;
(2)然後將HDR動態壓縮後的圖像進行OSTU閥值化處理;
(3)對二值化後的圖像,進行形態學閉運算處理,其目的是填充特徵中較小的空洞;
(4)最後提取圖像中圓特徵輪廓處理。
圖像處理方法三如下:
(1)將圖像進行HDR動態壓縮處理;
(2)然後將HDR動態壓縮後的圖像進行高斯平滑處理;
(3)將高斯平滑處理後的圖像進行邊緣檢測,具體的方法是,根據所要查找的特徵圓大小,預估計邊緣輸出的數量,然後採用canny算子進行邊緣檢測處理;
(4)提取並保存特徵的邊緣信息,具體方法是,遍歷圖像中的每一個像素點,所有灰度值為255的點坐標都保存,這其中大部分的點都是特徵圓的邊緣信息。
隨機抽樣擬合圓:經過圖像處理方法一或者圖像處理方法二得到的特徵輪廓或者邊緣信息,保存的是大量的點。隨機抽取其中三個點,三點可以得到一個圓,然後在一定距離誤差範圍內,判斷其他點落在圓周上的個數。如此循環N次,得到N個圓的數據,然後遍歷查找出其中符合點數最多的那個圓,即為本次查找的最佳滿足圓。為了提高查找速度和效率,在有限的循環次數內查找到最理想的結果,可以先進行次的查找,初步確定一個最優圓,然後刪除所有偏離圓周較多的點,即相當於將搜索範圍縮小到一個小的區域,然後再進行次的精確查找,最後返回一個最接近實際的圓心坐標和半徑。
HDR動態壓縮處理:首先遍歷灰度圖的每一個像素,其灰度值為,進行對數函數運算,得到。記對數運算後灰度圖的最大灰度值為,最小灰度值為,再次遍歷每個像素,得到新的灰度值,,最後對Z圖像進行歸一化到0-255之間的灰度範圍。正常情況下,需要識別的特徵圓為黑色,背景為白色,以上的HDR動態壓縮處理步驟,擴大了低灰度範圍的差距,減小了高灰度範圍的差距,其好處是,使特徵圓與其周圍教黑的被認為是幹擾的背景區別更明顯,從而保證查找到的圓更準確和更接近真實。