Halcon一日一練:閾值分割的幾個算子


threshold(Image:Region:MinGray:MaxGray:)

功能:得到灰度值在最小與最大這間的那些部分。其返回仍然是一個區域。

MinGray<MaxGray.

這個算子可以用灰度直方圖求取到最佳的域值 

如在上一篇中,我們使用灰度直方圖求取圖像的最佳閾值,我們發現0-56時最佳,將值代入程序中即可。

read_image(Image, 'Clip')//讀取圖像
 threshold(Image, Region, 0, 56)//對圖像進行分割 
 connection(Region, ConnectedRegions)//連通區域
 select_obj(ConnectedRegions, ObjectSelected, 1)//選擇區域中的索引區域1

char_threshold(Image,HistoRegion:Characters:Sigma,Percent:Threshold)

功能:閾值分割提取字符

此方法的關鍵在於找到直方圖中的最大值,在最大值的左側找到關鍵閾值,其中閾值的計算方法如下:

histogram[threshold]*100.0<histogram[maximum]*(100.0-Percent)

也就是threshold所對應的灰度值頻率不能大於最大值頻率*(100。0-percent)

例程:

dev_close_window ()
read_image (Alpha1, 'alpha1')
get_image_size (Alpha1, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_display (Alpha1)
dev_set_color ('white')
dev_clear_window ()
char_threshold (Alpha1, Alpha1, Characters, 6, 95, Threshold)
dev_display (Characters)
gray_histo (Alpha1, Alpha1, AbsoluteHisto, RelativeHisto)
disp_continue_message (WindowHandle, 'black', 'true')
stop ()
dev_display (Alpha1)
dev_set_color ('green')
gen_region_histo (Histo1, RelativeHisto, 255, 255, 1)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM