小哥哥小姐姐覺得有用點個贊唄!
HALCON示例程序texture.hdev檢測樹木
示例程序源碼(加注釋)
- 關于顯示類函數解釋
dev_close_window ()
Interactive := 0
dev_close_window ()
read_image (MreutHill, ‘mreut_y’)
get_image_size (MreutHill, Width, Height)
dev_open_window (0, 0, Width, Height, ‘black’, WindowHandle) - texture_laws - 使用Laws紋理過濾器過濾圖像。
- texture_laws(圖像:濾波后圖像:濾波模式,動態轉移灰度值,濾波掩膜大小 ?
texture_laws (MreutHill, SS, ‘ss’, 0, 5)
texture_laws (MreutHill, EE, ‘ee’, 2, 5) - 使用矩形掩膜進行中值濾波
median_separate (SS, SSMed, 25, 25, ‘mirrored’)
median_separate (EE, EEMed, 25, 25, ‘mirrored’)
dev_display (MreutHill)
if (Interactive)
draw_region (TestReg, WindowHandle)
else
gen_rectangle1 (TestReg, 376, 221, 466, 246)
endif - histo_2dim - 計算雙維度灰度值圖像的直方圖
histo_2dim (TestReg, SSMed, EEMed, Histo2Dim)
threshold (Histo2Dim, RegionFeat, 3, 1000000)
fill_up (RegionFeat, RegionFillUpFeat)
opening_circle (RegionFillUpFeat, FeatOpen, 1.5)
dilation_circle (FeatOpen, FeatureSpace, 1.5) - 使用二維像素分類對圖像進行分割
class_2dim_sup (SSMed, EEMed, FeatureSpace, RegionClass)
opening_circle (RegionClass, ResultClass2, 3.5)
dev_set_color (‘red’)
dev_set_draw (‘margin’)
dev_display (MreutHill)
dev_display (ResultClass2)
disp_continue_message (WindowHandle, ‘black’, ‘true’)
stop ()
threshold (SSMed, RegionThre, 35, 255)
connection (RegionThre, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ‘area’, ‘and’, 150.000000, 99999.000000)
closing_circle (SelectedRegions, ResultClass1, 3.5)
dev_display (MreutHill)
dev_display (ResultClass1)
處理思路
這個例子是主要講解了histo_2dim 、class_2dim_sup 搭配使用灰度直方圖進行圖像分割。
后記
大家有什么問題可以向我提問哈,我看到了第一時間回復,希望在學習的路上多多結交良師益友。