基于數字圖像處理技術的集成塊姿態檢測
2 集成塊姿態檢測
2.1 集成塊管腳檢測和定位
對圖像進行預處理后,可以清晰的看到管腳和集成塊上的數字被從背景中分割出來。集成塊管腳是一片連通的白色區域,而其所占的面積要比其他無用信息所占的面積要大的多,故采取面積法對集成塊管腳位置進行檢測。
二值圖像中的連通分量的面積實際上就是連通像素點集中像素的個數,也就是區域邊界類包含像素點的數目。設二值圖像f(x,y)的連通分量ψ(x,y)的大小為M×N,其中
面積法是通過編寫程序在整幅圖像中搜索白色區域,同時記下白色區域的面積(像素點個數)和個數及其四個邊角的坐標。將所統計到的面積相加,除以白色區域的個數,即可得到一個閾值,由于集成塊管腳所占的面積要比其他無用信息所占的面積要大的多,所以面積平均所得到的閾值可以將較小的區域去除,從而保留有用的集成塊的管腳信息。將大于這一閾值的面積區域用其四個邊角的坐標連線所成的矩形框定,便可以完成集成塊的管腳定位。
處理過后的效果如圖4所示,圖中的紅色方框的作用為定位管腳位置。
2.2 集成塊傾斜角度的測定
在工業應用中,為了能讓機械臂很好的將集成塊從流水線上夾取下來,必須知道集成塊的邊緣是否與流水線平行,或知道其傾斜的角度對其進行姿態糾正,這就需要對集成塊在流水線上的姿態進行檢測,知道集成塊在流水線上的與水平方向的傾斜角度,確定一個物體的傾斜角度。本文的創新在于使用了中心點斜率法。
中心點斜率法:假設圖像中集成塊每個管腳的中心點的坐標為{(xl,y1),(x2,y2),…,(x8,y8)},計算每一個管腳與其同邊管腳的斜率{ll,l2,…,ln},再對所有的斜率求其算術平均值
這時得到的是弧度,要把它轉化為角度
ω就是集成塊的傾斜角度。
由于中心點斜率法將同邊管腳兩兩之間的斜率都計算入內,故精確度較高,但程序復雜,計算量較大,程序運行時間長,不適合在高速的流水線上使用。針對這一情況,提出了對中心點斜率法的改進算法。
改進算法與原先算法的最主要的區別是改進后的算法并不是將所有同邊管腳兩兩之間的斜率都算出來,而是先確定一點,記為{x0,y0},以這一點為基礎,計算它與其他管腳的斜率
(6)
如果是同一邊管腳的話,他們之間的斜率幾近相等。反之,則斜率相差很大。因此,通過對斜率的比較,便可以將同邊管腳劃分在一起,這時只有三個斜率值,再對它們的斜率進行算術平均,同原算法便可得到集成塊的傾斜角度。
改進后的算法的計算量要比原算法少了很多,實時性更強,因而它的實用性更強。為了測試程序測得角度的準確性,用Photoshop對原圖像進行了旋轉,角度分別為5,10,30,45,90度,以下是角度識別對比表。
評論