徐州百姓網(wǎng)發(fā)布信息seo內(nèi)部優(yōu)化方案
文章目錄
- 文章專欄
- 視頻鏈接
- Hello World
- 訓(xùn)練圖片
- 訓(xùn)練目的
- 開始訓(xùn)練
- 圖像預(yù)處理
- 導(dǎo)入圖像
- 三通道處理
- 調(diào)用算子
- 通道選取
- 濾波
- 什么是好的濾波
- 增加對比度
- 區(qū)域選取
- 閾值處理
- 算子參數(shù)選擇
- 運行結(jié)果(紅色為選擇區(qū)域)
- 區(qū)域分割
- 運行結(jié)果
- 特征篩選
- 參數(shù)代碼
- 第二次,面積篩選
- 畫選中十字線
- 運行結(jié)果
文章專欄
Halcon開發(fā)
視頻鏈接
機器視覺之C#聯(lián)合Halcon 第一個Halcon小程序
Hello World
訓(xùn)練圖片
訓(xùn)練目的
找到右下角的圓心,并且使用十字叉進(jìn)行標(biāo)注
開始訓(xùn)練
圖像預(yù)處理
導(dǎo)入圖像
三通道處理
我們一般會將圖像分為三通道圖像,選擇對比最強烈的作為圖像處理的圖片。
調(diào)用算子
算子簡單來說就是調(diào)用函數(shù)庫的方法。
*圖像三通道處理
decompose3 (KO5NHB29v5Qbj95u, Image_r, Image_g, Image_b)
通道選取
通道選取的邏輯是選擇對比度最高的通道。我們這里選擇三通道。如何選取我感覺比較玄學(xué)
濾波
濾波就是用來過度雜項信息的。濾波別人都給我們寫好了,我們的目標(biāo)是右下角的圓形圖案,所以是圓形濾波。
*進(jìn)行圓形濾波
median_image (Image_b, ImageMedian, 'circle', 5, 'mirrored')
什么是好的濾波
將不需要的細(xì)節(jié)去掉,需要的細(xì)節(jié)保留的濾波就是我們需要的濾波
圖2就比圖1好,因為圖2沒有線條,而且對比度強。黑色是板子,白色是圓點。
增加對比度
*增強對比度,為什么是1.8?都是試出來的,都是玄學(xué)
scale_image (ImageMedian, ImageScaled, 1.8, 0)
區(qū)域選取
閾值處理
*閾值分割
binary_threshold (ImageScaled, Region, 'max_separability', 'dark', UsedThreshold)
算子參數(shù)選擇
運行結(jié)果(紅色為選擇區(qū)域)
記得每一步都要保存,我就是沒保存然后突然閃退了
區(qū)域分割
由于紅色的區(qū)域還是太多了,這里還要繼續(xù)分割
*區(qū)域分割
connection (Region, ConnectedRegions)
運行結(jié)果
選擇封閉連通平面,有點想世界地圖的四色猜想一樣,將紅色部分進(jìn)行分割
特征篩選
我們已經(jīng)很解決目標(biāo)了,只要將彩色部分進(jìn)行篩選即可
參數(shù)代碼
*特征篩選
select_shape (ConnectedRegions, SelectedRegions, 'circularity', 'and', 0.95841, 1)
不清楚需要點擊左上角Clean是特性還是Bug
第二次,面積篩選
過程不再描述
*面積篩選
select_shape (SelectedRegions, SelectedRegions1, 'area', 'and', 159.52, 172.83)
畫選中十字線
剩下代碼沒有難點,不再解析
*-----畫選取十字線-----*中心坐標(biāo)
area_center (SelectedRegions1, Area, Row, Column)*新窗口打開
dev_open_window_fit_image (ImageScaled, 0, 0, -1, -1, WindowHandle)*重新添加原始圖片
dev_display (CirclImg)
*添加十字坐標(biāo)
disp_cross (WindowHandle, Row, Column, 20, 0)
運行結(jié)果
*---------------圖像預(yù)處理---------
*導(dǎo)入圖片
read_image (CirclImg, 'D:/train/Halcon訓(xùn)練圖片/K(@O5{N($H$B29V5`QBJ95U.png')*圖像三通道處理
decompose3 (CirclImg, Image_r, Image_g, Image_b)*進(jìn)行圓形濾波
median_image (Image_b, ImageMedian, 'circle', 5, 'mirrored')*圖像銳化
scale_image (ImageMedian, ImageScaled, 1.8, 0)*-------圖像選取--------
*閾值處理
binary_threshold (ImageScaled, Region, 'smooth_histo', 'light', UsedThreshold)*區(qū)域分割
connection (Region, ConnectedRegions)*---特征篩選----*圓度篩選
select_shape (ConnectedRegions, SelectedRegions, 'circularity', 'and', 0.95841, 1)*面積篩選
select_shape (SelectedRegions, SelectedRegions1, 'area', 'and', 159.52, 172.83)*-----畫選取十字線-----*中心坐標(biāo)
area_center (SelectedRegions1, Area, Row, Column)*新窗口打開
dev_open_window_fit_image (ImageScaled, 0, 0, -1, -1, WindowHandle)*重新添加原始圖片
dev_display (CirclImg)
*添加十字坐標(biāo)
disp_cross (WindowHandle, Row, Column, 20, 0)