HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别。
生活随笔
收集整理的這篇文章主要介紹了
HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别。
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HALCON示例程序color_segmentation_pizza.hdev披薩肉餅識別。
示例程序源碼(加注釋)
- 關(guān)于顯示類函數(shù)解釋
dev_update_off ()
dev_close_window ()
read_image (Image, ‘color/pizza_01’)
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width / 2, Height / 2, ‘black’, WindowHandle)
set_display_font (WindowHandle, 16, ‘mono’, ‘true’, ‘false’)
dev_set_part (0, 0, Height - 1, Width - 1)
for I := 1 to 3 by 1
read_image (Image, ‘color/pizza_’ + I$’.2’)
decompose3 (Image, ImageR, ImageG, ImageB)- 將RGB圖像裝換到色度空間。trans_from_rgb介紹貼子
trans_from_rgb (ImageR, ImageG, ImageB, Image_L, Image_A, Image_B, ‘cielab’) - 分割出披薩的區(qū)域
threshold (Image_B, PizzaRaw, 148, 255)
connection (PizzaRaw, ConnectedRegions1)
select_shape_std (ConnectedRegions1, Pizza, ‘max_area’, 0) - 提取最外邊的邊界
shape_trans (Pizza, PizzaFilled, ‘convex’)
reduce_domain (Image_B, PizzaFilled, ImageReduced) - 提取肉餅區(qū)域
threshold (ImageReduced, Region, 140, 146)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, ‘a(chǎn)rea’, ‘a(chǎn)nd’, 30000, 1000000) - 先使用半徑小的圓形元素進(jìn)行閉運算,再使用半徑大的圓形元素進(jìn)行開運算。
closing_circle (SelectedRegions, RegionClosing, 20.5)
opening_circle (RegionClosing, RegionOpening, 85.5) - 顯示結(jié)果
dev_set_line_width (3)
dev_display (Image)
dev_set_color (‘green’)
dev_set_draw (‘margin’)
dev_display (RegionOpening)
if (I < 3)
disp_continue_message (WindowHandle, ‘black’, ‘true’)
stop ()
endif
endfor
- 將RGB圖像裝換到色度空間。trans_from_rgb介紹貼子
處理思路
這個例子將RGB圖像轉(zhuǎn)化到色度空間直接消除了披薩餅上餡料對識別的影響。
后記
大家有什么問題可以向我提問哈,我看到了第一時間回復(fù),希望在學(xué)習(xí)的路上多多結(jié)交良師益友。
總結(jié)
以上是生活随笔為你收集整理的HALCON示例程序color_segmentation_pizza.hdev披萨肉饼识别。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VRF技术白皮书
- 下一篇: 条件、循环、函数定义 练习