halcon初識region


一、什麼是region?

Region 爲某些附和要求性質的像素的子集,或者說一些被選擇的圖塊區域s,region大小不受圖像限制(一個點都可成爲一個region),有fill和margin兩種表達方式,類似於遊程編碼(一種無損壓縮編碼),可用於壓縮,eg:用a2b3c4代表aabbbcccc

二、halcon中的region操作

1、二值化算子threshold   
 原文地址

函數原型:threshold(Image: Region: MinGray,MaxGray: )

功能:

使用全局閾值分割圖像,獲取像素值介於MinGray和MaxGray的區域。

 參數列表:

第1個參數Image是輸入變量,表示輸入圖像

第2個參數Region是輸出變量,表示被分割後的圖像

第3個參數MinGray是輸入變量,閾值分割像素的最小值,默認值爲128.0,建議可用值:0.0, 10.0, 30.0,64.0, 128.0, 200.0, 220.0, 255.0

第4個參數MaxGray是輸入變量,閾值分割像素的最大值,默認值爲255.0,建議可用值:0.0, 10.0, 30.0,64.0, 128.0, 200.0, 220.0, 255.0

注:最後兩個參數的限制條件:MaxGray>=MinGray。

可能的前置應用函數:histo_to_thresh()(根據直方圖決定灰度值門限)、min_max_gray()(計算區域內最大最小灰度值)、sobel_amp()(Sobel算子檢測邊緣)、binomial_filter()(binomial濾波器平滑圖像)、gauss_image()(離散高斯函數平滑圖像)、reduce_domain()(縮小圖像區域)、fill_interlace()(插補兩個半個視頻圖像)

可能的後置應用函數:connection()(連接區域)、dilation1()(擴大區域)、erosion1()(腐蝕區域,變小)、opening()(打開區域)、closing()(關閉區域)、rank_region()(歸類區域)、shape_trans()(改變區域形狀)、skeleton()(計算區域框架)

可被替換函數:class_2dim_sup()(採用二維空間像素分類分割圖像)、hysteresis_threshold()(磁滯門限操作)、dyn_threshold()(局域閥值分割圖像)、bin_threshold()(自動產生的閥值分割圖像)、char_threshold()(爲提取的字符產生一個分割閥值)、auto_threshold()(直方圖決定閥值分割圖像)、dual_threshold()(對標記的圖像做門限操作)

2、特徵選取算子select_shape

當我們想要提取Region時,圖像處理後,往往存在幾個類似的Region,此時,需要根據Region的一些特殊特徵,來選擇指定的Region。

求Region指定特徵值:region_features(Regions : : Features : Value)

根據特徵值選擇區域:select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )

region的各種特徵

例程:select_shape.hdev

read_image(Image,'fabrik')
dev_close_window()
dev_open_window(0,0,512,512,'black',WindowID)
dev_set_color('white')
dev_set_draw('fill')
regiongrowing(Image,Regions,1,1,3,10)
×//區域生長法分割圖像以獲取區域
 dev_set_color('red')
select_shape(Regions,SelectedRegions,'convexity','and',0.95,1)  
×//特徵爲‘凸性’
dev_set_color('green')
select_shape(Regions,SelectedRegions,'width','and',100,512)
×//特徵爲'寬度'
 dev_set_color('blue')
select_shape(Regions,SelectedRegions,'area','and',1,100)
×//特徵爲‘面積’

其中的算子: regiongrowing(Image: Regions: Row, Column, Tolerance, MinSize:)

函數作用:用區域生長實現圖像分割

函數原理:

如果相鄰像素的灰度值差小於等於Tolerance,則被融爲一個區域。因爲矩形一般大於1個像素,所以常常在調用regiongrowing前會用大小至少爲Row*Column的低通濾波器平滑一下。如果圖像包含小噪聲並且矩形很小,平滑後這些因素大都會被去除。而區域包含至少MinSize個點才被挑選出來。區域生長是一個非常快的算子,因此適合用於對時間要求嚴苛的應用中。

3、區域聯合操作









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章