halcon二維測量

2021-07-03 13:26:28 字數 1757 閱讀 6473

halcon二維測量的基本步驟

1.預處理,這裡指的是的濾波等手段,使要測量的特徵凸顯化,有效去除噪點干擾等。

2.閾值化,通過閾值化抽取出影象的特徵,通常使用灰度閾值化,但halcon中沒有特意的將轉換成灰度圖,而是直接呼叫閾值化處理函式。同時灰度直方圖能幫助開發人員快速找到閾值範圍。

3.閾值化之後是求解的聯通區域,一般閾值化之後存在很多連通區域,還要使用select_shape函式根據條件篩選出滿足條件的連通區域。也可以自行篩選。

4.之後就是形體的擬合(也稱為輪廓處理),這一步更具實際情況和需求,可有可無。

5.獲取形體的特徵資料,這些資料就是測量資料,包括位置,內擬合矩形、外擬合矩形尺寸,內擬合、外擬合園尺寸等。

在進入正式的二維測量之前,需要有乙個roi,所有的處理都在這裡完成,roi的生成有兩種基本方案,使用者自己選擇和使用模板匹配來選擇乙個區域。這個區域的選擇好壞,對處理的難度影響很大。

二維測量的halcon**:

read_image(image, 'c:/users/public/documents/mvtec/halcon-12.0/examples/images/bonds/ball_bond_ccd_03.png')

median_image(image,imagemedian, 'circle', 5, 'mirrored')

threshold(imagemedian,roi,120,255)

connection(roi,connregion)

select_shape(connregion,selregion,'area','and',1000,90000)

這段**簡單,目的是利用halcon工具找到預處理濾波器型別和引數,閾值處理引數和形體篩選引數。

以下是對應的c++**:

void

testproc2d

::proc(

himage  &

image ) 

hregion

selregion = connregion.selectshape(

"area" , 

"and"

,500,900000);

n = selregion.countobj();

qdebug

() <<

"connect count : "

<< connregion.countobj() <<

"       sel count : "

<< n;

for( int

i = 1; i<=n; i++)

}二維影象處理的難點:

1.roi區域的確立,我們的期望是roi中僅包含我們要測量的物件,僅乙個物件,但這很難做到,所以我們力求這個roi區域越 精確越好。建立這個roi區域,除錯時一般手動繪製確定,實際專案中一般使用模板匹配確定乙個大的區域,再通過這個大的區域的相對區域確定最終的roi。所以尋找測量目標的特徵,確定模板區域也無比重要。

2.的拍攝質量,這裡的拍攝質量不是指的清晰度,而是區分測量物件和非測量物件的難以程度。我們最希望的是在灰度上,被測量物件和非測量物件有明顯的差異,易於形體劃分,當然顏色也是乙個很好的區分物件。為了達到這個目的,我們首先要使用不同的光源、選擇不同的角度照射使其凸顯,其次可以選擇不同的鏡頭和光圈予以輔助(當然,鏡頭的核心目的是選擇視場)。

3.形體的篩選,通常情況下我們處理後會得到好多物件,從中篩選出測量物件相當關鍵,這裡可能是測量過程中人工智慧技術最易介入的地方。通常可以根據面積,外接矩形長寬等特徵篩選,選擇用哪種方法完全取決於被測物件的特徵,希望使用他的唯一性特徵來篩選。

Halcon 二維測量 Angle

主要功能 計算兩條直線之間的夾角角度 主要函式 angle ll rowa1,columna1,rowa2,columna2,rowb1,columnb1,rowb2,columnb2 angle 作用 計算兩條直線之間夾角的角度 其中 1 rowa1,columna1,rowa2,columna2...

Halcon 一維測量

一 一維測量思路大致步驟 1.構造測量物件 建立測量區域 2.剖面線計算 做灰度值平均投影 3.剖面線光滑 消除雜訊 4.剖面線求導 5.區域性極值 邊緣 二 一維測量運算元 1.gen measure arc 2.gen measure rectangle2 3.measure pos 4.mea...

Halcon一維測量 直線測量

1 測量直線對距離的運算元 gen measure rectangle2 measure pairs gen measure rectangle2 row,column phi length1 length2 width height interpolation measurehandle 獲取測量...