淺談機器視覺之BLOB圖像處理技術

圖像處理(image processing)

用計算機對圖像進行分析,以達到所需結果的技術。又稱影像處理。圖像處理一般指數字圖像處理。數字圖像是指用工業相機、攝像機、掃描儀等設備經過拍攝得到的一個大的二維數組,該數組的元素稱為像素,其值稱為灰度值。圖像處理技術一般包括圖像壓縮,增強和復原,匹配、描述和識別3個部分。

Blob分析(Blob Analysis)

在計算機視覺中的Blob是指圖像中的具有相似顏色、紋理等特徵所組成的一塊連通區域。Blob分析(Blob Analysis)是對圖像中相同像素的連通域進行分析(該連通域稱為Blob)。其過程其實就是將圖像進行二值化,分割得到前景和背景,然後進行連通區域檢測,從而得到Blob塊的過程。簡單來說,blob分析就是在一塊“光滑”區域內,將出現“灰度突變”的小區域尋找出來。舉例來說,假如現在有一塊剛生產出來的玻璃,表面非常光滑,平整。如果這塊玻璃上面沒有瑕疵,那麼,我們是檢測不到“灰度突變”的;相反,如果在玻璃生產線上,由於種種原因,造成了玻璃上面有一個凸起的小泡、有一塊黑斑、有一點裂縫,那麼,我們就能在這塊玻璃上面檢測到紋理,經二值化(Binary Thresholding)處理後的圖像中色斑可認為是blob。而這些部分,就是生產過程中造成的瑕疵,這個過程,就是Blob分析。Blob分析工具可以從背景中分離出目標,並可以計算出目標的數量、位置、形狀、方向和大小,還可以提供相關斑點間的拓撲結構。在處理過程中不是對單個像素逐一分析,而是對圖像的行進行操作。圖像的每一行都用遊程長度編碼(RLE)來表示相鄰的目標範圍。這種算法與基於像素的算法相比,大大提高了處理的速度。

適用範圍

針對二維目標圖像和高對比度圖像,適用於有無檢測和缺陷檢測。常用於二維目標圖像、高對比度圖像、存在/缺席檢測、數值範圍和旋轉不變性需求。

顯然,紡織品的瑕疵檢測,玻璃的瑕疵檢測,機械零件表面缺陷檢測,可樂瓶缺陷檢測,藥品膠囊缺陷檢測等很多場合都會用到blob分析。

淺談機器視覺之BLOB圖像處理技術

另一方面,Blob分析並不適用於以下圖像:

1.低對比度圖像;

2.必要的圖像特徵不能用2個灰度級描述; ·

3.按照模版檢測 (圖形檢測需求)

主要處理技術

Blob分析主要內容包括但不限於以下幾點:

(1)圖像分割:將圖像中的目標和背景分離。

(2)去噪:消除或減弱噪聲對目標的干擾。

(3)場景描述:對目標之間的拓撲關係進行描述。

(4)特徵量計算:計算目標的2-D形狀特徵。

淺談機器視覺之BLOB圖像處理技術

圖像分割(Image Segmentation)

因為 Blob分析是一種對閉合目標形狀進行分析處理的基本方法。在進行Blob分析以前,必須把圖像分割為構成斑點(Blob)和局部背景的像素集合。Blob分析一般從場景的灰度圖像著手進行分析。在Blob分析以前,圖像中的每一像素必須被指定為目標像素或背景像素。典型的目標像素被賦值為1,背景像素被 賦值為0。有多種技術可將圖像分割為目標像素和背景像素。這些技術包括:二元閾值(Binary Thresholding)、空間量化誤差(Spatial~ mtization Error)、軟件二元閾值和像素加權(SoftBinary Thresholding and Pixel Weighting)、相關閾值(Relative Thresholds)、閾值圖像(Threshold Image)。

淺談機器視覺之BLOB圖像處理技術

圖像分割是圖像處理的一大類技術,在Blob分析中擬提供分割技術包括:直接輸入、固定硬閾值、相對硬閾值、動態硬閾值、固定軟閾值、相對軟閾值、像素映射、閾值圖像。其中固定軟閾值和相對軟閾值方法可在一定程度上消除空間量化誤差,從而提高目標特徵量的計算精度。

自動全局閾值分割方法一:

計算直方圖;

尋找出現頻率最多的灰度值;

在threshold中使用與最大值有一定的距離的值作為閥值;

halcon代碼實現:

gray_histo(Image,Image,AbsoluteHisto,RelativeHisto)

PeakGray := sort_index(AbsoluteHisto)[255]

threshold(Image,Region,0,PeakGray -25)

自動全局閾值分割方法二:

多次迭代平滑;

查找兩個波峰;

使用threshold找到兩波峰之間的最小值

bin_threshold(Image,Region)

常用圖像分割算子:

threshold:全局閾值二值化

bin_threshold:自動閾值二值化

dyn_threshold:本地閾值二值化

watersheds:分水嶺

連通性分析(Connectivity Analysis)

當圖像被分割為目標像素和背景像素後,必須進行連通性分析,以便將目標圖像聚合為目標像素或斑點的連接體。

連通性分析的三種類型如下:

*全圖像連通性分析(Whole Image ConnectivityAnalysis)在全圖像連通性分析中,被分割圖像的所有的目標像素均被視為構成單一斑點的像素。即使斑點像素彼此並不相連,為了進行Blob分析,它們仍被視為單一的斑點。所有的Blob統計和測量均通過圖像中的目標像素進行計算;

*連接Blob分析(Connected Blob analysis) 連接Blob分析通過連通性標準,將圖像中目標像素聚合為離散的斑點連接體。一般情況下,連接性分析通過連接所有鄰近的目標像素構成斑點。不鄰近的目標像素則不被視為是斑點的一部分;

*標註連通性分析(Labeled Connectivity Analysis) 在 機器視覺應用中, 由於所進行的圖像處理過程不同,可能需對某些已被分割的圖像進行Blob分析,而這些圖像並未被分割為目標像素和背景像素。例如:圖像可能被分為四個不同 像素集合,每一集合代表不同的像素值範圍。這類分割稱為標註連通性分析。當對標註分割的圖像進行連通性分析時,將連接所有具有同一標註的圖像。標註連通分 析不再有目標和背景的概念。

淺談機器視覺之BLOB圖像處理技術

BLOB分析之圖一

形態學操作:形態學操作的目的是去除噪聲點的影響。

特徵值計算:對每個目標進行特徵量計算,包括面積、周長、質心座標等特徵。

特徵提取

1)區域特徵

面積area,力矩Moments,平行於主軸的最小矩形smallest_rectangle1,任意方向的最小矩形smallest_rectangle2,

最小圓形smallest_circle,convexity:凸包面積,contlength:區域邊界長度

形狀特徵roundness,circularity,compactness,rectangularity

2)灰度特徵

簡單灰度值特徵:區域的平均灰度值

區域的最小和最大灰度值

淺談機器視覺之BLOB圖像處理技術

BLOB分析之圖二

場景描述:對場景中目標之間的拓撲關係進行描述。

分析過程

Blob分析的主要過程(常用套路)

獲取圖像->分割圖像(區分前景像素和背景像素)->特徵提取(比如面積、重心、旋轉角度等)

halcon代碼實現:

read_image(Image,'particle')

threshold(Image, BrightPixels,120,255)

connection(BrightPixels,Particles)

area_center(Particles,Area,Row,Column)

Blob分析拓展

在實際應用中,需要處理更多步驟,因為很多實際因素,目標信息很難處理。比如圖像中有很多雜斑(很難提取目標位),光照不均等。

還有Blob分析需要後期處理。比如將特徵信息轉換成實際座標信息,顯示目標物等。

獲取圖像->應用ROI->定位ROI->矯正圖像->圖像預處理->動態獲取分割參數->分割圖像->處理區域->特徵提取->將像素座標轉換到世界座標->結果顯示或者輸出

圖像預處理常用算子:

mean_image:均值濾波

gauss_image:高斯濾波

median_image:中值濾波

動態獲取分割參數常用算子:

gray_histo_abs:灰度直方圖

histo_to_thresh:直方圖二值化

淺談機器視覺之BLOB圖像處理技術

應用舉例

淺談機器視覺之BLOB圖像處理技術

找出圖片的毛刺

淺談機器視覺之BLOB圖像處理技術

Halcon code

進一步對上述"BLOB分析之圖二"進行以下形態學處理及特徵值處理

淺談機器視覺之BLOB圖像處理技術

得到最終圖片如下:

淺談機器視覺之BLOB圖像處理技術


分享到:


相關文章: