基于圖像處理的瓶裝液體雜質(zhì)及液位檢測方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及的是一種圖像處理方法,尤其是一種基于圖像處理的瓶裝液體雜質(zhì)及 液位檢測方法。
【背景技術(shù)】
[0002] 眾所周知,對于瓶裝液體是否含有雜質(zhì)事關(guān)食品與醫(yī)藥安全。食品安全問題已成 為當(dāng)今社會的熱點(diǎn)話題,所以嚴(yán)格把控食品生產(chǎn)過程中的衛(wèi)生,保證食品的安全至關(guān)重要。 然而,現(xiàn)如今國內(nèi)大部分企業(yè)和產(chǎn)品生產(chǎn)車間采用傳統(tǒng)的肉眼識別,這種識別方法速度慢, 檢測人員容易疲勞,可靠性差。不論從實(shí)用性還是從企業(yè)成本需求考慮,采用原理簡單、成 本低廉、易操作的圖像處理的方法來對食品進(jìn)行檢測是一種趨勢。
[0003] 圖像處理沒有固定的算法,研究圖像處理必須以實(shí)際對象和實(shí)際效果為主要準(zhǔn) 貝1J。我國傳統(tǒng)的瓶裝液體雜質(zhì)檢測技術(shù)主要有光流法和背景減除法。光流法是通過判斷是 否有異物產(chǎn)生光流場來判斷雜質(zhì)的存在的,這種方法計算量大,不適用于實(shí)時處理。背景減 除法分辨率極高,可以識別類如毛發(fā)這樣細(xì)小雜質(zhì)。然而,其對系統(tǒng)控制的精確度也十分 高,需要兩幀圖像的水瓶位置接近于重合,這點(diǎn)在實(shí)際應(yīng)用中由于硬件的限制很難達(dá)到。并 且由于液體運(yùn)動產(chǎn)生的細(xì)小氣泡也會被識別成雜質(zhì)。
[0004] 至于瓶裝液體的液位檢測,在已有的研究中,提出了如光電傳感器法,電容傳感器 法,超聲波法,以上檢測方法雖然檢測結(jié)果理想,但成本較高,短時間內(nèi)難以廣泛推行應(yīng)用。 基于機(jī)器視覺的檢測方法由于其原理簡單、成本低廉、操作方便,不借助于外部測量儀器既 能實(shí)現(xiàn)對瓶裝液體進(jìn)行實(shí)時監(jiān)測的目的,因此受到人們廣泛關(guān)注。
[0005] 鑒于以上兩種液體雜質(zhì)檢測方式在瓶裝液體檢測應(yīng)用上的不足和工業(yè)現(xiàn)場對原 理簡單、操作方便、成本低廉及不借助于外部檢測儀器即可進(jìn)行實(shí)時檢測的要求,更為有效 的檢測算法有待進(jìn)一步開發(fā)。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明的目的在于提供一種可使系統(tǒng)識別直徑0. 5mm以上的雜質(zhì),并能準(zhǔn)確檢測 出液體液位的基于圖像處理的瓶裝液體雜質(zhì)及液位檢測方法。
[0007] 本發(fā)明的目的是這樣實(shí)現(xiàn)的:
[0008] a、攝像頭采集并輸入所要處理的圖像;
[0009] b、創(chuàng)建用來存儲每一步處理后圖像的內(nèi)存空間;
[0010]c、運(yùn)用高斯濾波對圖像進(jìn)行灰度化平滑處理;
[0011]d、運(yùn)用改進(jìn)的otsu自適應(yīng)閾值分割算法找到閾值T1;
[0012] e、對步驟d中找到的閾值進(jìn)行放大得到新的閾值Τ2;
[0013]f、用找到的閾值對高斯濾波后的圖像進(jìn)行二值化形態(tài)學(xué)處理;
[0014]g、對雜質(zhì)和液位進(jìn)行檢測并輸出結(jié)果;
[0015] h、釋放內(nèi)存空間。
[0016] 所述的d到f中運(yùn)用高斯平滑對圖像進(jìn)行高斯濾波處理后進(jìn)行otsu計算差分圖 像閾值1\的具體方法如下:計算直方圖并歸一化histogtam得到圖像灰度級及各級灰度出 現(xiàn)的概率;可得到圖像灰度均值;計算直方圖的零階和一階距并找到最大類間方差及對應(yīng) 的灰度值即為自適應(yīng)閾值;對以上得到的的閾值進(jìn)行一定比例的放大,以實(shí)現(xiàn)對傳統(tǒng)otsu 算法的改進(jìn);利用閾值T對上述處理過的圖像進(jìn)行形態(tài)學(xué)濾波處理;對處理后的圖像進(jìn)行 后續(xù)處理。
[0017] 本發(fā)明通過對當(dāng)前液體雜質(zhì)檢測的常用算法進(jìn)行實(shí)際驗(yàn)證,最終提出了改進(jìn)的 otsu閾值自適應(yīng)分割算法。
[0018] 本發(fā)明的有益效果:本發(fā)明的一種基于圖像處理的瓶裝液體的雜質(zhì)及液位檢測算 法,經(jīng)過大量實(shí)驗(yàn),對傳統(tǒng)的otsu閾值分割算法進(jìn)行改進(jìn),實(shí)現(xiàn)了閾值在一定光線范圍內(nèi) 的自適應(yīng)調(diào)節(jié),減小了傳統(tǒng)閾值分割算法固定不變的保守性,同時在雜質(zhì)及液位檢測系統(tǒng) 中成功得以應(yīng)用。實(shí)驗(yàn)結(jié)果表明該算法可使系統(tǒng)識別直徑0. 5mm以上的雜質(zhì)并能準(zhǔn)確檢測 出液體液位,對不合格產(chǎn)品進(jìn)行報警提示和剔除。
【附圖說明】
[0019] 圖1為雜質(zhì)和液位檢測算法流程圖;
[0020] 圖2為改進(jìn)的自適應(yīng)閾值分割法流程圖。
【具體實(shí)施方式】
[0021] 下面結(jié)合附圖對本發(fā)明作進(jìn)一步的說明。由于該發(fā)明僅介紹了檢測系統(tǒng)的算法, 因此如下示意圖僅顯示與本發(fā)明有關(guān)的基本構(gòu)成。
[0022] 一種基于圖像處理的瓶裝液體的雜質(zhì)及液位檢測算法,具體算法如下:
[0023]a、攝像頭采集并輸入所要處理的圖像;
[0024] b、創(chuàng)建用來存儲每一步處理后圖像的內(nèi)存空間;
[0025] 在OpenCV中調(diào)用cvCreatlmage()函數(shù)創(chuàng)建用來存儲每一步處理后圖像的內(nèi)存。
[0026] c、運(yùn)用高斯濾波對圖像進(jìn)行灰度化平滑處理;
[0027]d、運(yùn)用改進(jìn)的otsu自適應(yīng)閾值分割算法找到閾值T1;
[0028]e、對d中找到的閾值進(jìn)行一定比例的放大得到新的閾值T2;d和e中otsu具體算 法如下:
[0029] Stepl:計算直方圖并歸一化histogtam可以得到圖像灰度級1 -M,第i級像素 &個,總像素為N,則第i級灰度出現(xiàn)的概率為
[0030] Ρ;=ni/N
[0031] Step2 :計算圖像灰度均值
[0032] -
[0033]Step3:計算直方圖的零階w[i]和一級距u[i]
[0034]
[0035] _L-wLKJ
[0036] 對一級矩作以下處理:
[0037]μ〇=μ[k]/w[k],μ1= [μ-μ[k]]/[l_w[k]]
[0038]Step4:計算并找到最大的類間方差對應(yīng)此最大方差的灰度值即為要找的閾值
[0039]類間方差:〇 2 [k] =w。(μ-μ。)2+Wi(μ-μD2
[0040]即:〇2[k] = [μ·w[k]_μ[k]]2/{w[k] · [l_w[k]]}
[0041] k從1-M變化,是類間方差最大的k即為所求之最佳閾值,記為kmax。
[0042]Step5 :Step4中找到的閾值進(jìn)行一定的比例放大即a=kmax ·b(其中, 1. 22〈b〈l. 42)。
[0043] 通過對傳統(tǒng)的otsu算法的實(shí)驗(yàn)過程發(fā)現(xiàn),其并不能達(dá)到閾值自適應(yīng)的效果,甚至 不能提取出圖像雜質(zhì)的輪廓,團(tuán)隊發(fā)現(xiàn)本設(shè)計的帶有雜質(zhì)的瓶子圖像,雜質(zhì)和背景的界限 分明,傳統(tǒng)的otsu算法計算出的的閾值偏小導(dǎo)致不能正確提取出雜質(zhì),故經(jīng)過100次實(shí)驗(yàn), 提出了在St印5的基礎(chǔ)上對閾值進(jìn)行擴(kuò)大(其中放大倍數(shù)為1. 22〈b〈l. 42)的方法。
[0044] 通過St印5得出的閾值,實(shí)驗(yàn)效果良好,符合本設(shè)計的需要,完全達(dá)到了閾值自適 應(yīng)調(diào)節(jié)的效果。
[0045]f、用找到的閾值對高斯濾波后的圖像進(jìn)行二值化形態(tài)學(xué)處理;
[0046] 本設(shè)計通過對閾值分割后的圖像先進(jìn)行閉運(yùn)算再進(jìn)行開運(yùn)算處理,可以看出閉運(yùn) 算操作使得瓶子頂端的分離部分連接在一起,從而避免了后續(xù)輪廓查找的誤操作,達(dá)到了 很好的效果。
[0047]g、對雜質(zhì)和液位進(jìn)行檢測并輸出結(jié)果;其具體算法如下:
[0048]1)對輸入圖像(閾值分割圖像)進(jìn)行輪廓查找并把各個信息以鏈表的形式保存。 傳出指向這條鏈表表頭的指針;
[0049]2)進(jìn)入循環(huán)中,通過鏈表表頭指針指向當(dāng)前輪廓坐標(biāo);
[0050] 3)繪制當(dāng)前輪廓并計算當(dāng)前輪廓區(qū)域面積area;
[0051] 4)area與內(nèi)輪廓閾值進(jìn)行比較,如果area小于該閾值,則被認(rèn)定為內(nèi)輪廓即雜質(zhì) 然后計數(shù)并標(biāo)定雜質(zhì)位置;
[0052] 5)area與外輪廓閾值進(jìn)行比較,若大于該閾值,則當(dāng)前輪廓區(qū)域?yàn)橥廨喞嫈?shù)加 1 ;
[0053] 6)遍歷完所有存儲的輪廓區(qū)域之后,查看外輪廓數(shù)目,如外輪廓數(shù)目大于1,則認(rèn) 為液位不滿;
[0054]7)實(shí)時輸出結(jié)果。
[0055]h、釋放內(nèi)存空間。
[0056] 應(yīng)用OpenCV下的cvReleaseMemStorage()函數(shù)釋放內(nèi)存,并結(jié)束程序。
[0057] 以上述依據(jù)本發(fā)明的理想實(shí)施例為啟示,通過上述的說明內(nèi)容,相關(guān)工作人員完 全可以在不偏離本項發(fā)明技術(shù)思想的范圍內(nèi),進(jìn)行多樣的變更或者修改。本發(fā)明的技術(shù)性 范圍并不局限于說明書上的內(nèi)容,必須根據(jù)權(quán)利要求范圍來確定其技術(shù)性范圍。
【主權(quán)項】
1. 一種基于圖像處理的瓶裝液體雜質(zhì)及液位檢測方法,其特征是: a、 攝像頭采集并輸入所要處理的圖像; b、 創(chuàng)建用來存儲每一步處理后圖像的內(nèi)存空間; c、 運(yùn)用高斯濾波對圖像進(jìn)行灰度化平滑處理; d、 運(yùn)用改進(jìn)的otsu自適應(yīng)閾值分割算法找到閾值T1; e、 對步驟d中找到的閾值進(jìn)行放大得到新的閾值Τ2; f、 用找到的閾值對高斯濾波后的圖像進(jìn)行二值化形態(tài)學(xué)處理; g、 對雜質(zhì)和液位進(jìn)行檢測并輸出結(jié)果; h、 釋放內(nèi)存空間。2. 根據(jù)權(quán)利要求1所述的基于圖像處理的瓶裝液體雜質(zhì)及液位檢測方法,其特征是步 驟d到步驟f中對高斯濾波處理后的圖像進(jìn)行otsu計算差分圖像閾值T和形態(tài)學(xué)處理的 具體方法如下: (1) 計算直方圖并歸一化histogtam得到圖像灰度級及各級灰度出現(xiàn)的概率; (2) 由步驟(1)得到圖像灰度均值; (3) 計算直方圖的零階和一階距并找到最大類間方差及對應(yīng)的灰度值即為自適應(yīng)閾 值; (4) 對步驟(3)中的閾值進(jìn)行放大,實(shí)現(xiàn)對傳統(tǒng)otsu算法的改進(jìn); (5) 利用閾值T對上述處理過的圖像進(jìn)行形態(tài)學(xué)濾波處理; (6) 對處理后的圖像進(jìn)行后續(xù)處理。3. 根據(jù)權(quán)利要求1或2所述的基于圖像處理的瓶裝液體雜質(zhì)及液位檢測方法,其特征 是所述對雜質(zhì)和液位進(jìn)行檢測具體包括: 1) 對輸入圖像進(jìn)行輪廓查找并把各個信息以鏈表的形式保存,傳出指向這條鏈表表頭 的指針; 2) 進(jìn)入循環(huán)中,通過鏈表表頭指針指向當(dāng)前輪廓坐標(biāo); 3) 繪制當(dāng)前輪廓并計算當(dāng)前輪廓區(qū)域面積area; 4)area與內(nèi)輪廓閾值進(jìn)行比較,如果area小于該閾值,則被認(rèn)定為內(nèi)輪廓即雜質(zhì)然后 計數(shù)并標(biāo)定雜質(zhì)位置; 5)area與外輪廓閾值進(jìn)行比較,若大于該閾值,則當(dāng)前輪廓區(qū)域?yàn)橥廨喞?,計?shù)加1 ; 6) 遍歷完所有存儲的輪廓區(qū)域之后,查看外輪廓數(shù)目,如外輪廓數(shù)目大于1,則認(rèn)為液 位不滿; 7) 實(shí)時輸出結(jié)果。
【專利摘要】本發(fā)明提供的是一種基于圖像處理的瓶裝液體雜質(zhì)及液位檢測方法。a、攝像頭采集并輸入所要處理的圖像;b、創(chuàng)建用來存儲每一步處理后圖像的內(nèi)存空間;c、運(yùn)用高斯濾波對圖像進(jìn)行灰度化平滑處理;d、運(yùn)用改進(jìn)的otsu自適應(yīng)閾值分割算法找到閾值T1;e、對步驟d中找到的閾值進(jìn)行放大得到新的閾值T2;f、用找到的閾值對高斯濾波后的圖像進(jìn)行二值化形態(tài)學(xué)處理;g、對雜質(zhì)和液位進(jìn)行檢測并輸出結(jié)果;h、釋放內(nèi)存空間。本發(fā)明實(shí)現(xiàn)了閾值在一定光線范圍內(nèi)的自適應(yīng)調(diào)節(jié)。實(shí)驗(yàn)結(jié)果表明該算法可使系統(tǒng)識別直徑0.5mm以上的雜質(zhì)并能準(zhǔn)確檢測出液體液位,并對不合格產(chǎn)品進(jìn)行報警提示和剔除。
【IPC分類】G01N21/90, G01F23/00
【公開號】CN105334228
【申請?zhí)枴緾N201510676841
【發(fā)明人】韓云濤, 程章龍, 杜世通, 吳振, 張曉濤, 李偉, 強(qiáng)寶琛, 韓鵬, 劉曉晴, 王洪興
【申請人】哈爾濱工程大學(xué)
【公開日】2016年2月17日
【申請日】2015年10月15日