本次分享的示例**很簡單,總共加起來不到20行,但是這個很簡單的案例,確有兩個很重要的halcon知識點,因此該示例算是小而精的典範。
先上**:
* pcb板線路檢測
* 讀影象
read_image (image, 'pcb')
dev_close_window ()
get_image_size (image, width, height)
dev_open_window (0, 0, width, height, 'black', windowhandle)
dev_display (image)
* detect defects ...
* 灰度影象進行腐蝕和開運算 暗的畫素變多
* 灰度影象進行膨脹和閉運算 亮的畫素變多
* 通過灰度影象的開運算,讓線路板中斷開的地方連線起來了
gray_opening_shape (image, imageopening, 7, 7, 'octagon')
* 通過灰度影象的閉運算,讓線路板中斷開的地方斷得更開了
gray_closing_shape (image, imageclosing, 7, 7, 'octagon')
* 動態二值化,達到差分的效果
* 兩個輸入的灰度影象,以offset為基礎,按照指定的條件,選擇特定的灰度值組成輸出的結果灰度影象
dyn_threshold (imageopening, imageclosing, regiondynthresh, 75, 'not_equal')
dev_display (image)
dev_set_color ('red')
dev_set_draw ('margin')
dev_display (regiondynthresh)
兩個重點:1. 關於形態學,可以對兩種不同的物件進行處理,一種是區域,一種是灰度影象。在本示例**中,是對灰度影象進行的處理。
對灰度影象處理:
腐蝕和開運算 -> 暗的畫素變多
膨脹和閉運算 -> 亮的畫素變多
對區域進行處理:
腐蝕和開運算 -> 區域變小
膨脹和閉運算 -> 區域變大
2. 在此示例中,通過灰度形態學處理+dyn_threashold這個運算元結合處理,達到了difference運算元進行區域差分達到的效果。也通過差分,從而得到了pcb線路中的斷開區域。
機器視覺在3c行業的使用,pcb板的檢測是乙個很重要的方面,同時和機械臂結合起來,能真正實現機器代替人,將有缺陷的pcb板區分出來。當然,本案例只是乙個簡單的示例,實際的使用會比這個要複雜,但是,在實際場景中,本示例所使用的方法,是可以借鑑的。
**的執行效果如下所示:
待處理的pcb板影象,通過肉眼,可以看到是有斷線的。
灰度影象開運算:
灰度影象閉運算:
通過dyn_threshold處理後,得到的差分區域,紅色的都是:
在原圖中標記出斷線位置:
pcb板子開窗 PCB線路板開窗
一 什麼是 開天窗 pcb上的導線都是蓋油的,可以防止短路,對器件造成傷害。所謂開窗就是去掉導線上的油漆層,讓導線裸露可以上錫。top solder為助焊層,說白一點就是說,有這個層的地方就沒有綠油,如果有線路的地方就噴上錫了,沒有線路的地方就是光板,所以很多人把這層以線路層結合用,可以用作上錫處理...
PCB板檢測機(PCB板外觀缺陷視覺檢測裝置)
在現代電子產品世界中,pcb 印刷電路板 是組成電子產品的重要環節,你能想象在一台電子裝置中不採用pcb的樣子嗎?所以pcb的質量如何將對電子產品能否長期正常可靠工作帶來非常大的影響。提高 pcb的質量是電子產品製造廠商應引起足夠重視的重要課題。詳細介紹位址是 感興趣的可以去看看。工業攝像機定位和檢...
PCB 電子線路板製作流程
有幸參觀過電腦主機板的製作流水線,一共幾十道工序,與一般的產品生產要求不同,pcb製造業對員工健康要求較高,從事這個行業的一線生產的員工的健康狀況讓人擔憂。由此想到自己坐在明亮的辦公室,真應該少一些抱怨,多做點實事。流程大致如下 1 開料 把買回來的銅片,像紙一樣的,一捲一捲的,切割成不同大小尺寸的...