全局阈值
*阈值分割-全局阈值
read_image (Image1, 'keypad')
rgb1_to_gray (Image1, Image)
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
threshold (Image, Region, 20, 90)
dev_display (Image)
dev_display (Region)
直方图阈值
*直方图谷底阈值分割
read_image (Image1, 'keypad')
rgb1_to_gray (Image1, Image)
dev_close_window ()
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)
histo_to_thresh (AbsoluteHisto, 8, MinThresh, MaxThresh)
dev_set_color ('white')
threshold (Image, Region, MinThresh[0], MaxThresh[0])
dev_display (Region)
最大类间方差法-OTSU
*OTSU
dev_close_window ()
read_image (Image, 'for6')
dev_set_draw ('margin')
get_image_pointer1 (Image, Pointer, Type, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
MaxVariance:=0.0
for T:=1 to 255 by 1
dev_display (Image)
threshold (Image, Region, T, 255)
area_center (Region, Area, Row, Column)
intensity (Region, Image, Mean, Deviation)
complement (Region, RegionComplement)
area_center (RegionComplement, Area1, Row1, Column1)
intensity (RegionComplement, Image, Mean1, Deviation1)
Otsu:=Area*1.0/[Width*Height]*Area1*1.0/[Width*Height]*pow(Mean-Mean1,2)
if (Otsu>MaxVariance)
MaxVariance:=Otsu
Best_T:=T
endif
endfor
dev_display (Image)
dev_set_color ('white')
dev_set_draw ('fill')
threshold (Image, Region1, Best_T, 255)