圖像處理(image processing)
用計(jì)算機(jī)對(duì)圖像進(jìn)行分析,以達(dá)到所需結(jié)果的技術(shù)。又稱(chēng)影像處理。圖像處理一般指數(shù)字圖像處理。數(shù)字圖像是指用工業(yè)相機(jī)、攝像機(jī)、掃描儀等設(shè)備經(jīng)過(guò)拍攝得到的一個(gè)大的二維數(shù)組,該數(shù)組的元素稱(chēng)為像素,其值稱(chēng)為灰度值。圖像處理技術(shù)一般包括圖像壓縮,增強(qiáng)和復(fù)原,匹配、描述和識(shí)別3個(gè)部分。
Blob分析(Blob Analysis)在計(jì)算機(jī)視覺(jué)中的Blob是指圖像中的具有相似顏色、紋理等特征所組成的一塊連通區(qū)域。Blob分析(Blob Analysis)是對(duì)圖像中相同像素的連通域進(jìn)行分析(該連通域稱(chēng)為Blob)。其過(guò)程其實(shí)就是將圖像進(jìn)行二值化,分割得到前景和背景,然后進(jìn)行連通區(qū)域檢測(cè),從而得到Blob塊的過(guò)程。簡(jiǎn)單來(lái)說(shuō),blob分析就是在一塊“光滑”區(qū)域內(nèi),將出現(xiàn)“灰度突變”的小區(qū)域?qū)ふ页鰜?lái)。
舉例來(lái)說(shuō),假如現(xiàn)在有一塊剛生產(chǎn)出來(lái)的玻璃,表面非常光滑,平整。如果這塊玻璃上面沒(méi)有瑕疵,那么,我們是檢測(cè)不到“灰度突變”的;相反,如果在玻璃生產(chǎn)線上,由于種種原因,造成了玻璃上面有一個(gè)凸起的小泡、有一塊黑斑、有一點(diǎn)裂縫,那么,我們就能在這塊玻璃上面檢測(cè)到紋理,經(jīng)二值化(Binary Thresholding)處理后的圖像中色斑可認(rèn)為是blob。
而這些部分,就是生產(chǎn)過(guò)程中造成的瑕疵,這個(gè)過(guò)程,就是Blob分析。Blob分析工具可以從背景中分離出目標(biāo),并可以計(jì)算出目標(biāo)的數(shù)量、位置、形狀、方向和大小,還可以提供相關(guān)斑點(diǎn)間的拓?fù)浣Y(jié)構(gòu)。在處理過(guò)程中不是對(duì)單個(gè)像素逐一分析,而是對(duì)圖像的行進(jìn)行操作。圖像的每一行都用游程長(zhǎng)度編碼(RLE)來(lái)表示相鄰的目標(biāo)范圍。這種算法與基于像素的算法相比,大大提高了處理的速度。
適用范圍
針對(duì)二維目標(biāo)圖像和高對(duì)比度圖像,適用于有無(wú)檢測(cè)和缺陷檢測(cè)。常用于二維目標(biāo)圖像、高對(duì)比度圖像、存在/缺席檢測(cè)、數(shù)值范圍和旋轉(zhuǎn)不變性需求。
顯然,紡織品的瑕疵檢測(cè),玻璃的瑕疵檢測(cè),機(jī)械零件表面缺陷檢測(cè),可樂(lè)瓶缺陷檢測(cè),藥品膠囊缺陷檢測(cè)等很多場(chǎng)合都會(huì)用到blob分析。
另一方面,Blob分析并不適用于以下圖像:
1.低對(duì)比度圖像;
2.必要的圖像特征不能用2個(gè)灰度級(jí)描述;·
3.按照模版檢測(cè) (圖形檢測(cè)需求)
主要處理技術(shù)
Blob分析主要內(nèi)容包括但不限于以下幾點(diǎn):
(1)圖像分割:將圖像中的目標(biāo)和背景分離。
(2)去噪:消除或減弱噪聲對(duì)目標(biāo)的干擾。
(3)場(chǎng)景描述:對(duì)目標(biāo)之間的拓?fù)潢P(guān)系進(jìn)行描述。
(4)特征量計(jì)算:計(jì)算目標(biāo)的2-D形狀特征。
圖像分割(Image Segmentation)
因?yàn)?Blob分析是一種對(duì)閉合目標(biāo)形狀進(jìn)行分析處理的基本方法。在進(jìn)行Blob分析以前,必須把圖像分割為構(gòu)成斑點(diǎn)(Blob)和局部背景的像素集合。Blob分析一般從場(chǎng)景的灰度圖像著手進(jìn)行分析。在Blob分析以前,圖像中的每一像素必須被指定為目標(biāo)像素或背景像素。典型的目標(biāo)像素被賦值為1,背景像素被 賦值為0。有多種技術(shù)可將圖像分割為目標(biāo)像素和背景像素。這些技術(shù)包括:二元閾值(Binary Thresholding)、空間量化誤差(Spatial~ mtization Error)、軟件二元閾值和像素加權(quán)(SoftBinary Thresholding and Pixel Weighting)、相關(guān)閾值(Relative Thresholds)、閾值圖像(Threshold Image)。
圖像分割是圖像處理的一大類(lèi)技術(shù),在Blob分析中擬提供分割技術(shù)包括:直接輸入、固定硬閾值、相對(duì)硬閾值、動(dòng)態(tài)硬閾值、固定軟閾值、相對(duì)軟閾值、像素映射、閾值圖像。其中固定軟閾值和相對(duì)軟閾值方法可在一定程度上消除空間量化誤差,從而提高目標(biāo)特征量的計(jì)算精度。
自動(dòng)全局閾值分割方法一:
計(jì)算直方圖;
尋找出現(xiàn)頻率最多的灰度值;
在threshold中使用與最大值有一定的距離的值作為閥值;
halcon代碼實(shí)現(xiàn):
gray_histo(Image,Image,AbsoluteHisto,RelativeHisto)
PeakGray := sort_index(AbsoluteHisto)[255]
threshold(Image,Region,0,PeakGray -25)
自動(dòng)全局閾值分割方法二:
多次迭代平滑;
查找兩個(gè)波峰;
使用threshold找到兩波峰之間的最小值
bin_threshold(Image,Region)
常用圖像分割算子:
threshold:全局閾值二值化
bin_threshold:自動(dòng)閾值二值化
dyn_threshold:本地閾值二值化
watersheds:分水嶺
連通性分析(Connectivity Analysis)
當(dāng)圖像被分割為目標(biāo)像素和背景像素后,必須進(jìn)行連通性分析,以便將目標(biāo)圖像聚合為目標(biāo)像素或斑點(diǎn)的連接體。
連通性分析的三種類(lèi)型如下:
*全圖像連通性分析(Whole Image ConnectivityAnalysis)在全圖像連通性分析中,被分割圖像的所有的目標(biāo)像素均被視為構(gòu)成單一斑點(diǎn)的像素。即使斑點(diǎn)像素彼此并不相連,為了進(jìn)行Blob分析,它們?nèi)员灰暈閱我坏陌唿c(diǎn)。所有的Blob統(tǒng)計(jì)和測(cè)量均通過(guò)圖像中的目標(biāo)像素進(jìn)行計(jì)算;
*連接Blob分析(Connected Blob analysis) 連接Blob分析通過(guò)連通性標(biāo)準(zhǔn),將圖像中目標(biāo)像素聚合為離散的斑點(diǎn)連接體。一般情況下,連接性分析通過(guò)連接所有鄰近的目標(biāo)像素構(gòu)成斑點(diǎn)。不鄰近的目標(biāo)像素則不被視為是斑點(diǎn)的一部分;
*標(biāo)注連通性分析(Labeled Connectivity Analysis) 在 機(jī)器視覺(jué)應(yīng)用中, 由于所進(jìn)行的圖像處理過(guò)程不同,可能需對(duì)某些已被分割的圖像進(jìn)行Blob分析,而這些圖像并未被分割為目標(biāo)像素和背景像素。例如:圖像可能被分為四個(gè)不同 像素集合,每一集合代表不同的像素值范圍。這類(lèi)分割稱(chēng)為標(biāo)注連通性分析。當(dāng)對(duì)標(biāo)注分割的圖像進(jìn)行連通性分析時(shí),將連接所有具有同一標(biāo)注的圖像。標(biāo)注連通分析不再有目標(biāo)和背景的概念。
BLOB分析之圖一
形態(tài)學(xué)操作:形態(tài)學(xué)操作的目的是去除噪聲點(diǎn)的影響。
特征值計(jì)算:對(duì)每個(gè)目標(biāo)進(jìn)行特征量計(jì)算,包括面積、周長(zhǎng)、質(zhì)心坐標(biāo)等特征。
特征提取
1)區(qū)域特征
面積area,力矩Moments,平行于主軸的最小矩形smallest_rectangle1,任意方向的最小矩形smallest_rectangle2,
最小圓形smallest_circle,convexity:凸包面積,contlength:區(qū)域邊界長(zhǎng)度
形狀特征roundness,circularity,compactness,rectangularity
2)灰度特征
簡(jiǎn)單灰度值特征:區(qū)域的平均灰度值
區(qū)域的最小和最大灰度值
BLOB分析之圖二
場(chǎng)景描述:對(duì)場(chǎng)景中目標(biāo)之間的拓?fù)潢P(guān)系進(jìn)行描述。
分析過(guò)程
Blob分析的主要過(guò)程(常用套路):
獲取圖像->分割圖像(區(qū)分前景像素和背景像素)->特征提?。ū热缑娣e、重心、旋轉(zhuǎn)角度等)
halcon代碼實(shí)現(xiàn):
threshold(Image, BrightPixels,120,255)
connection(BrightPixels,Particles)
area_center(Particles,Area,Row,Column)
Blob分析拓展
在實(shí)際應(yīng)用中,需要處理更多步驟,因?yàn)楹芏鄬?shí)際因素,目標(biāo)信息很難處理。比如圖像中有很多雜斑(很難提取目標(biāo)位),光照不均等。
還有Blob分析需要后期處理。比如將特征信息轉(zhuǎn)換成實(shí)際坐標(biāo)信息,顯示目標(biāo)物等。
獲取圖像->應(yīng)用ROI->定位ROI->矯正圖像->圖像預(yù)處理->動(dòng)態(tài)獲取分割參數(shù)->分割圖像->處理區(qū)域->特征提取->將像素坐標(biāo)轉(zhuǎn)換到世界坐標(biāo)->結(jié)果顯示或者輸出
圖像預(yù)處理常用算子:
mean_image:均值濾波
gauss_image:高斯濾波
median_image:中值濾波
動(dòng)態(tài)獲取分割參數(shù)常用算子:
gray_histo_abs:灰度直方圖
histo_to_thresh:直方圖二值化
應(yīng)用舉例
找出圖片的毛刺
進(jìn)一步對(duì)上述"BLOB分析之圖二"進(jìn)行以下形態(tài)學(xué)處理及特征值處理,
完整代碼如下:
最終得到結(jié)果如下:
-
圖像處理
+關(guān)注
關(guān)注
27文章
1272瀏覽量
56509 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
8文章
1690瀏覽量
45875 -
BLOB
+關(guān)注
關(guān)注
0文章
13瀏覽量
10118
原文標(biāo)題:Halcon案例之BLOB分析
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論