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