1. 程式人生 > 其它 >halcon-dyn_threshold和local_threshold動態閾值分割

halcon-dyn_threshold和local_threshold動態閾值分割

動態閥值分割:動態閥值分割是指在影象分割的過程中,不用人為的去設定閥值,而是根據影象中存在的特徵,進行分割
特點:動態閾值分割具有抗干擾性強,穩定性強的特點,對光照變化不敏感

1.jpg

dyn_threshold

在HDevelop中

dev_update_off()

read_image (Image, 'D:/bb/tu/1.jpg')
rgb1_to_gray(Image,Image1)
*將RGB影象轉換為灰度影象

get_image_size (Image1, Width, Height)
dev_open_window(10,10,Width, Height,'black',WindowHandle)

mean_image(Image1,ImageMean, 
9, 9) dyn_threshold (Image1, ImageMean, RegionDynThresh, 2, 'dark') *動態閾值分割 *引數1:輸入影象 *引數2:濾波後圖像(參考圖),可以通過mean_image, binomial_filter, gauss_filter等濾波方式處理 * 濾波時注意掩碼大小,它決定提取區域的大小 * 提取的就是濾波時被模糊的區域 *引數3:分割後區域 *引數4:灰度差值,預設值5;鄰域比較的區間範圍,灰度值變化在offset範圍內均是可以接受的 * 引數Offset不要設定0,否則將會提取到很多小的噪點區域,一般介於5-40最佳,其值越大,提取的區域越小
* 【引數1和引數2對應畫素點的差,提取差值大於引數4的區域】 *引數5:提取區域型別 * 'light' 提取相對參考圖更亮的區域 * 'dark' 提取相對參考圖更暗的區域 * 'equal' 選取和參考圖差不多的區域 * 'not_equal' 不同區域 dev_display(RegionDynThresh) dev_open_window(10,100,Width, Height,'black',WindowHandle1) dev_display(Image1) dev_open_window(
10,100,Width, Height,'black',WindowHandle2) dev_display(ImageMean)


在Qt Creator中

local_threshold

在HDevelop中


在Qt Creator中