這又是乙個簡短的示例,用簡單的幾個操作,就能將工件的表面毛刺檢測出來。
示例**如下:
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
重點說明:1. 對於讀影象檔案的運算元read_image,可以一次讀取多個檔案,然後在使用的時候再迴圈的取單個物件進行處理。取物件的運算元是select_obj
2. 快速二值化運算元binary_threshold,對於黑白分明的灰度影象,能通過亮和暗來提取我們需要的區域
3. 差分運算元difference,通過兩個區域相減,即可得到毛刺區域,在做減法之前,需要先得到包含毛刺的區域,和不包含毛刺的區域。
整個**通過二值化 + 形態學 + 差分,就得到了毛刺區域,處理的手法很簡單,在檢測中是很經典的方式。大家可以從簡單到複雜的掌握這種方法。
程式執行流程:
待處理的影象:
不包含毛刺的區域,右邊紅色的區域:
包含毛刺的區域,右邊綠色框包含的區域:
區域差分後的結果:
對包含毛刺的區域進行開運算之後,完全得到毛刺區域:
在原圖中標記出毛刺區域:
工件檢測 光源
最近有機會看一本客戶送的書 影像測量儀技術基礎 其中有些有關光源的討論,特地摘錄下來。光源的重要性毋庸置疑。好的光源還應該能夠支援工件影象產生最大的對比度,足夠的亮度。一般的,影像探測系統對光源的要求有 1 對比度 照明裝置最重要的任務是使影象中需要觀察的工件特徵與背景部分產生最大的對比度,從而易於...
開關造成的毛刺 令人困擾的DAC輸出毛刺消滅記
dac基礎知識 靜態技術規格以及它們對dc的偏移 增益和線性等特性的影響在平衡雙電阻 r 2r 和電阻串數模轉換器 dac 的各種拓撲結構間是基本一致的。然而,r 2r和電阻串dac的短時毛刺脈衝干擾方面的表現卻有著顯著的不同。我們可以在dac以工作取樣率執行時觀察到其動態不是線性。造成動態非線性的...
只腐蝕毛刺 腐蝕演算法 去毛刺,這些方法更專業一點
毛刺 倒c角這些工序,好像並沒有什麼重要的,但是往往就是這些細節,往往決定著產品的品質。1 人工去毛刺 一般小廠最常用選的方法,用銼刀 砂紙 磨頭作為基本工具。其中,銼刀有人工銼和氣動銼。備註 人工成本高,效率低,且對異形的穿插孔很難去除。適用範圍 工人技術要求不高,適用毛刺小,且零件結構複雜。2 ...