圖像處理獲得氣泡直徑

 前 言  

氣泡直徑是研究氣液以及氣液固體系的重要參數,影響著液相流動、返混以及傳質等性能。

測量氣泡直徑的方法主要有兩種,一種是侵入式測量,例如毛細管吸力探針測量技術、電導探針測量技術、光纖探頭測量技術,金屬網感應器測量技術;另一種是非侵入式測量,例如相位多普勒測速技術、干涉粒子成像測量技術、數字圖像分析測量技術。

侵入式測量技術會干擾液相的流動,因此通常會選用非侵入式測量技術測量氣泡直徑,而在所有非侵入式測量技術中,數字圖像處理技術能處理非規則的氣泡直徑。

Bubble Diameter

那么,采集到氣泡圖像后,如何推算氣泡尺寸呢?今天,小編介紹一種方便實用的氣泡尺寸測量方法,即運用matlab獲得氣泡當量直徑。

Matlab獲得氣泡當量直徑的方法主要是將氣泡圖像轉化成相應的矩陣,計算出氣泡所覆蓋的像素面積。

采集氣泡運動圖像

采集圖像的設備有很多種,手機也是一種方便的采集圖像設備,如圖1,是采用手機拍攝的氣泡運動照片,相比于高速攝像,手機像素較低,但也足夠辨別氣泡的形態。

圖像處理獲得氣泡直徑的圖1

圖1 氣泡運動照片

圖像灰度化

首先,通過matlab中imread函數讀取氣泡運動照片;

然后,通過rgb2gray函數將其轉化成灰度圖,如圖2。

轉化成灰度圖之后,測量管道壁面沒擦干凈的地方特別明顯(小編內心OS:幸好自己不是處女座,不然要自帶抹布先做會兒保潔工作,當然了,還是要保證測量管道壁面盡量清潔)。

圖像處理獲得氣泡直徑的圖2

圖2 灰度化后的氣泡照片

氣泡二值圖

選擇合適的閾值,將氣泡灰度圖轉化成二值圖。鑒于氣泡照片的拍攝質量還可以,所以采用全局閾值進行轉化。

另外,什么是二值圖呢?二值圖就是只有0和1矩陣表示的圖,像素1是白點,0是黑點。氣泡灰度圖處理后所得的二值圖如圖3所示。

圖像處理獲得氣泡直徑的圖3

圖3 氣泡二值圖

二值圖轉置

氣泡二值圖中更容易看出壁面的臟東西了,暫且不處理它,先將氣泡二值圖做轉置,也就是將圖片矩陣的0變成1,原來的1變成0,轉置后如圖4所示。

圖像處理獲得氣泡直徑的圖4

圖4 轉置后的氣泡二值圖 

圖像過濾

此時的氣泡二值圖中仍存在干擾測量的塵埃微粒,因此要對其進行處理,處理原理是根據像素的連續區域的大小,由于塵埃微粒比氣泡小很多,因此可根據尺寸將其過濾,在此通過bwareaopen函數,過濾掉像素小于100的區域。處理后氣泡二值圖如圖5所示(此刻的氣泡畫面,處女座應該表示滿意)。

圖像處理獲得氣泡直徑的圖5

圖5 圖像過濾后的氣泡二值圖

氣泡填洞處理

目前的氣泡二值圖中,氣泡中心存在空洞,需將其進行填補。

氣泡填補前需確定氣泡的具體輪廓。為什么要增加這個步驟呢?因為有時拍攝出的照片,由于光線的原因,氣泡外輪廓是破損的,破損氣泡很難修復。

圖像處理獲得氣泡直徑的圖6

圖6 確定氣泡輪廓

從邊緣輪廓可以看出氣泡是完全封閉,如若出現破損氣泡,則必須進行破損氣泡刪除,或者選用合適的閾值對原灰度圖進行處理。接下來對氣泡進行填洞處理,結果如圖7所示。

圖像處理獲得氣泡直徑的圖7

圖7 填洞后的氣泡圖像

計算氣泡當量直徑

計算氣泡當量直徑前,需對氣泡圖像進行標定。計算出每個氣泡所覆蓋像素后,根據像素間距離與實際距離對應關系可以計算氣泡面積,然后根據圓面積計算公式計算氣泡當量直徑。

相關MATLAB代碼

I=imread('image.JPG');

F=rgb2gray(I);

LEVEL=graythresh(F);

T=im2bw(F,LEVEL);

[M,N]=size(F);

T_zhuanzhi=ones(M,N)-T;

T_bubble=bwareaopen(T_zhuanzhi,100);

T_edge=edge(T_bubble,'canny');

T_filled=imfill(T_edge,'holes');

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
1
3