一、什麼是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 : )
例程: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、區域聯合操作