Halcon例程分析15 剔除 翼 形毛刺

2021-10-01 20:28:38 字數 1661 閱讀 2448

開啟halcon,按下ctrl+e開啟halcon自帶例程。工業領域->橡膠,人造材料,金屬薄片->fin.hdev

* fin.hdev: detection of a fin

* dev_update_window ('off')

read_image (fins, 'fin' + [1:3])

get_image_size (fins, width, height)

dev_close_window ()

dev_open_window (0, 0, width[0], height[0], 'black', windowid)

set_display_font (windowid, 14, 'mono', 'true', 'false')

for i := 1 to 3 by 1

select_obj (fins, fin, i)

dev_display (fin)

*二值化處理,選中「亮」的那部分區域

binary_threshold (fin, background, 'max_separability', 'light', usedthreshold)

dev_set_color ('blue')

dev_set_draw ('margin')

dev_set_line_width (4)

dev_display (background)

disp_continue_message (windowid, 'black', 'true')

stop ()

*閉運算,為什麼閉運算能把那個「翼」形去掉,閉運算是先膨脹,後腐蝕。所謂膨脹就是把黑色邊緣部分用白色替換,

*當這個用作運算的卷積核足夠大,白色就把那個黑色的區域整個覆蓋掉了

*腐蝕是為了把原來的邊緣還原

closing_circle (background, closedbackground, 250)

dev_set_color ('green')

dev_display (closedbackground)

disp_continue_message (windowid, 'black', 'true')

stop ()

*比較兩幅影象,選中兩張影象中不相同的區域

difference (closedbackground, background, regiondifference)

*開運算

opening_rectangle1 (regiondifference, finregion, 5, 5)

dev_display (fin)

dev_set_color ('red')

dev_display (finregion)

*獲取區域中心位置座標

area_center (finregion, finarea, row, column)

if (i < 3)

disp_continue_message (windowid, 'black', 'true')

stop ()

endif

endfor

毛刺

剔除部分

halcon例程講解 halcon例程解讀2

例程解讀 二維物體識別 autobahn.hdev 關閉視窗自動更新 dev update window off 關閉影象視窗 dev close window 開啟指定大小的視窗 dev open window 0,0,768,575,black windowid 賦值。以後的網格線步長用到,後面...

KSDK USB 例程分析

在usb example裡面檔案 lite為精簡版,省略了很多usb枝幹上的功能,保留了usb通訊部分的主幹功能,我使用的是全功能版。函式 board initpins 中,主要是port以及gpio相關的初始化。1 使能port的時鐘,當外設時鐘沒有開啟時,程式不能讀出外設暫存器的值,同時也不能使...

例程 15 數碼管

數碼管介紹 數碼管是一種半導體發光器件,其基本單元是發光二極體。數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多乙個發光二極體單元 多乙個小數點顯示 本實驗所使用的是八段數碼管。按發光二極體單元連線方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極體的陽極接到一起形成公...