halcon边缘检测的方法及各种方法的适用范围
目錄
- 一、邊緣提取
- 二、BLOB分析檢測
- 三、贓物檢測
一、邊緣提取
1、設(shè)置ROI興趣區(qū)域
2、快速二值化,并連接相鄰區(qū)域。
這樣做的目的是進(jìn)一步減少目標(biāo)區(qū)域,通過二值化將目標(biāo)區(qū)域大概輪廓提取出來
3、提取最接近目標(biāo)區(qū)域的輪廓
常用函數(shù)有boundary,gen_contour_region_xld
4、根據(jù)自己的需求提取需要的初步輪廓
5、將初步提取的初步輪廓進(jìn)行膨脹操作
6、將膨脹后的區(qū)域和原圖進(jìn)行減操作(在這步之前有可能需要對(duì)原圖進(jìn)行高斯濾波)。這樣就能得到只
有邊緣的真實(shí)圖像
7、用canny或其他算子(根據(jù)需要)提取亞像素輪廓,一般使用edges_sub_pix函數(shù)
8、處理和計(jì)算
得到真實(shí)的邊緣XLD后你可能需要進(jìn)一步處理得到你想要的線、弧等。
你可能用到的函數(shù)segment_contours_xld(分割) union_collinear_contours_xld(聯(lián)合相鄰或相同
角度直線)select_contours_xld(提取想要的輪廓) union_cocircular_contours_xld(聯(lián)合相同圓)
等等
得到輪廓后如果你不知道怎么處理后得到你想要的東西(線、弧、圓、角、矩形)你都可以將輪廓轉(zhuǎn)化
為點(diǎn),然后用點(diǎn)集合來擬合任何你想要的東西。
二、BLOB分析檢測
(1)應(yīng)用ROI,可以使Blob分析加速。
(2)匹配ROI區(qū)域或圖像,詳將GUIDEIIB以形狀為基礎(chǔ)的匹配。
(3)校正圖像<經(jīng)常用來去除鏡頭畸變或把圖像轉(zhuǎn)換到參考點(diǎn)視角,如雙目視覺時(shí)的圖像校正>
(4)圖像前處理
(5)引用分割參數(shù)
(6)分割圖像
(7)區(qū)域處理
(8)特征提取
(9)把提取的結(jié)果轉(zhuǎn)換到世界坐標(biāo)中
(10)結(jié)果可視化。
相機(jī)的標(biāo)定和矯正不在本篇的學(xué)習(xí)之中。直接講提取BLOB
1、一般先使用均值濾波去噪
2、利用去噪圖像與平滑圖像的OFFSET提取區(qū)域邊緣,常見函數(shù)dyn_threshold
3、提取連通域dyn_threshold
4、根據(jù)形狀或是灰度等特征來提取你想要的blob。
另一種方法就是分水嶺算法
watersheds (ImageGauss, Basins, Watersheds)/
1、對(duì)圖像進(jìn)行高斯濾波
還有的圖形更簡單直接二值化就可以啦
bin_threshold (Fin, Dark) //分割圖像,輸出Dark區(qū)域,Fin已經(jīng)被處理為區(qū)域//
difference (Fin, Dark, Background) //計(jì)算Fin與Dark兩個(gè)區(qū)域的補(bǔ)集//
還有個(gè)函數(shù)應(yīng)該說是讓你高興還是沮喪呢,以為一個(gè)函數(shù)就可以直接提取你想要的,但是參數(shù)很難調(diào)整
lines_gauss(Image, Lines, 6, 0.3, 0.5, ‘light’, ‘true’, ‘gaussian’, ‘true’)
三、贓物檢測
1、得到兩個(gè)不同高斯標(biāo)準(zhǔn)差的高斯積卷
2、對(duì)原始圖像進(jìn)行傅里葉變換’to_fre’
3、用之前的積卷對(duì)圖像做積卷濾波
4、傅里葉反變換‘from_fre’
總結(jié)
以上是生活随笔為你收集整理的halcon边缘检测的方法及各种方法的适用范围的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构(二)之算法基础
- 下一篇: 索引快速查询