一種十字架的特徵提取算法的製作方法
2023-04-23 14:28:16 1
本發明涉及雷射切割自動化領域,具體地說是一種十字架的特徵提取算法。
背景技術:
本發明最初來源於雷射切割自動化領域中的眼鏡框切割需求。在眼鏡框切割行業中,上一道工序,是用藥水在金屬板材表面腐蝕出花紋和mark特徵,然後用視覺定位的方式,將第二道工序的加工圖紙與金屬板材完全對應上。這其中,最重要的一個環節,就是快速識別出攝像機所拍攝圖片中的mark特徵,並精確的返回mark中心位置及其他參數。而十字架是應用較多的一種mark特徵。
一般的識別十字架算法,採用模板匹配的方式,只能夠很好地處理旋轉角度在5度以內的十字架特徵,對於旋轉角度過大的情況,或者不能夠處理,或者速度很慢,耗費時間多於500ms。並且,要求mark特徵與背景對比明顯,沒有雜質的幹擾,即只能夠處理特徵效果較好的圖像,對圖像特徵的一致性和穩定性要求很高。
技術實現要素:
本發明為克服現有技術的不足,提供一種十字架的特徵提取算法,針對眼鏡框切割行業的視覺定位應用特點,能夠極大的提高識別十字架特徵的速度與適應性,實際使用過程中,只要圖像中含有十字架,都能夠快速、精確地給出中心坐標和旋轉角度,並且同一幅圖像,多次查找的誤差在正負一個像素範圍內,即具有較好的穩定性。
為實現上述目的,設計一種十字架的特徵提取算法,其特徵在於:具體步驟如下:
(1)輸入相機拍攝的灰度圖像;
(2)統計圖像的灰度直方圖;
(3)根據直方圖判斷圖像是否需要圖像增強,是則進行圖像增強處理,然後進行圖像處理方法一;否則直接進行圖像處理方法一;
(4)經過圖像處理方法一後的圖像得到特徵輪廓信息,擬合出十字外輪廓的四條直線;
(5)判斷擬合出十字外輪廓的四條直線是否構成十字架特徵,是則結束算法;否則進行圖像處理方法二;
(6)經過圖像處理方法二後的圖像得到邊緣信息,擬合出十字架特徵的四條直線;
(7)結束算法。
所述的圖像處理方法一如下:
(1)將原始圖像進行高斯平滑處理,去除噪聲和幹擾;
(2)得到二值圖像,其中特徵為白色,灰度值為255,背景為黑色,灰度值為0;
(3)將處理後的二值圖像進行形態學開運算處理,去除輪廓周圍小的毛刺;
(4)查找圖像中所有的輪廓,認為最大的輪廓為十字特徵輪廓,將最大輪廓點的坐標信息保存。
所述的圖像處理方法二如下:
(1)將圖像進行高斯平滑處理,去除噪聲和幹擾;
(2)然後將高斯平滑處理後的圖像進行估計出期望輸出的邊緣數,並利用canny算子進行邊緣檢測;
(3)遍歷邊緣檢測之後的圖像,將所有灰度值為255的點,保存為邊緣信息,其中大部分為十字特徵的邊緣信息。
所述的圖像增強處理為直方圖均衡化處理。
本發明針對眼鏡框切割行業的視覺定位應用特點,能夠極大的提高識別十字架特徵的速度與適應性,實際使用過程中,只要圖像中含有十字架,都能夠快速、精確地給出中心坐標和旋轉角度。
附圖說明
圖1為本發明流程圖。
具體實施方式
下面根據附圖對本發明做進一步的說明。
如圖1所示,具體步驟如下:
(1)輸入相機拍攝的灰度圖像;
(2)統計圖像的灰度直方圖;
(3)根據直方圖判斷圖像是否需要圖像增強,是則進行圖像增強處理,然後進行圖像處理方法一;否則直接進行圖像處理方法一;
(4)經過圖像處理方法一後的圖像得到特徵輪廓信息,擬合出十字外輪廓的四條直線;
(5)判斷擬合出十字外輪廓的四條直線是否構成十字架特徵,是則結束算法;否則進行圖像處理方法二;
(6)經過圖像處理方法二後的圖像得到邊緣信息,擬合出十字架特徵的四條直線;
(7)結束算法。
圖像處理方法一如下:
(1)將原始圖像進行高斯平滑處理,去除噪聲和幹擾;
(2)得到二值圖像,其中特徵為白色,灰度值為255,背景為黑色,灰度值為0;
(3)將處理後的二值圖像進行形態學開運算處理,去除輪廓周圍小的毛刺;
(4)查找圖像中所有的輪廓,認為最大的輪廓為十字特徵輪廓,將最大輪廓點的坐標信息保存。
圖像處理方法二如下:
(1)將圖像進行高斯平滑處理,去除噪聲和幹擾;
(2)然後將高斯平滑處理後的圖像進行估計出期望輸出的邊緣數,並利用canny算子進行邊緣檢測;
(3)遍歷邊緣檢測之後的圖像,將所有灰度值為255的點,保存為邊緣信息,其中大部分為十字特徵的邊緣信息。
圖像增強處理為直方圖均衡化處理。
正常輸入的灰度圖中,主要的信息為兩部分,以十字特徵為代表的低灰度值範圍,以背景為代表的高灰度值範圍。因此,認為灰度直方圖中,存在著兩個波峰。計算出兩個波峰之間的距離,當小於某一閾值時,則認為特徵與背景區別不明顯,需要進行圖像增強。如果原始的直方圖,不存在兩個波峰,可以對其數據進行一定半徑大小的平滑操作,當迭代到一定次數,還不存在雙峰時,則直接返回不需要圖像增強。
圖像經高斯平滑,閾值化,形態學運算,提取輪廓後,得到十字架特徵外輪廓的所有坐標點。保存兩份坐標點,第一份坐標點按照x坐標大小,分為兩類,第二份坐標點按照y坐標大小,分為兩類,得到四類坐標點。分別採用隨機抽樣的方法,去除不滿足直線擬合要求的雜質點,然後對剩下的點進行最小二乘法的直線擬合,即得到四條直線。
隨機選取一條直線作為參考基準,依次判斷剩下的直線與基準直線的關係,在一定角度誤差範圍內,必須是平行或者垂直的關係。如果有一條直線不滿足條件,則認為不夠成十字架特徵,否則繼續進行判斷。接著,分別求出平行直線之間的距離,求出較小距離與較大距離的比值,如果低於一定閾值,則認為不夠成十字架特徵,否則認為構成十字架特徵。
經高斯平滑和邊緣檢測後,得到十字架特徵的邊緣信息。邊緣信息與輪廓信息不同的是,輪廓是連續的閉合的,邊緣不一定是連續的閉合的。首先,在海量的邊緣點中,採用隨機抽樣的方式,經過多次採樣,查找出由最多點擬合出的第一條直線,其與x軸夾角表示為,並將這些點從邊緣點中刪除。接著,利用十字架的幾何特徵,可以確定其他三條直線與x軸的夾角、、,然後在一定角度誤差範圍內,依次查找直線二、三、四,每找出一條直線,就可以將滿足此條直線的所有點刪除,以提高下條直線查找的效率。最後,得到了十字架特徵的邊緣檢測後的四條直線信息。