本發(fā)明涉及圖像處理領域,特別涉及一種物體計數方法及裝置。
背景技術:
隨著技術的進步,很多簡單的工作步驟由原來的人工操作逐漸被各種工具所替代,例如,計數工作,但通常計數工具只能對工作環(huán)境簡單、影響因素少、計數條件簡單的步驟進行計數,而像對捆扎棒材計數這種變化因素多,工作環(huán)境不穩(wěn)定,判斷條件難的計數步驟,只能暫時繼續(xù)使用人工的方式進行計數。
現狀是,工人需要在嘈雜和雜亂車間或倉庫中對大量的捆扎棒材進行計數,而如此繁重的工作交由人工處理難免出現,因工人個體因素導致的計數錯誤,且計數效率低下,如果為了提高效率和準確度,則需要加派工人進行計數,而這又大大的提升了成本。
因此,采取何種方法來代替人工對捆扎棒材進行計數成為了需要克服的難點。
技術實現要素:
有鑒于此,本發(fā)明的目的在于提供一種物體計數方法及裝置,提高對物體計數效率。其具體方案如下:
一種物體計數方法,包括:
對目標物體群落進行圖像采集處理,得到目標圖像;
對所述目標圖像進行二值化處理,得到二值化圖像;
統計目標區(qū)域的總數,得到統計結果,其中,所述目標區(qū)域為所述二值化圖像中二值化數值滿足預設范圍的區(qū)域,其中,所述預設范圍為基于目標物體的截面面積預先設定的范圍。
優(yōu)選的,還包括:對所述目標圖像進行二值化處理之前,利用圖像降噪法和/或灰度化法對所述目標圖像進行預處理。
優(yōu)選的,還包括:
將所述統計結果發(fā)送到服務器,以使所述服務器將所述統計結果存儲到數據庫保存。
優(yōu)選的,還包括:將已計數的目標區(qū)域進行標記,以使用戶能夠區(qū)分已計數的目標區(qū)域和未計數的目標區(qū)域。
優(yōu)選的,所述將已計數的目標區(qū)域進行標記后,還包括:
利用用戶輸入的校正信息對所述統計結果進行校正,得到校正后的統計結果。
優(yōu)選的,所述對目標物體群落進行圖像采集處理,包括:
通過圖像采集裝置對目標物體群落進行圖像采集,得到原始目標圖像;
利用用戶輸入的區(qū)域選取信息對原始圖像進行區(qū)域選定,得到所述目標圖像。
本發(fā)明還公開了一種物體計數裝置,包括:
圖像采集模塊,用于對目標物體群落進行圖像采集處理,得到目標圖像;
圖像處理模塊,用于對所述目標圖像進行二值化處理,得到二值圖像;
統計模塊,用于統計目標區(qū)域的總數,得到統計結果,其中,所述目標區(qū)域為所述二值圖像中二值化數值滿足預設范圍的區(qū)域,其中,所述預設范圍為基于目標物體的截面面積預先設定的范圍。
優(yōu)選的,還包括:圖像預處理模塊,用于對所述目標圖像進行二值化處理之前,用圖像降噪法和/或灰度化法對目標圖像進行預處理。
優(yōu)選的,還包括:校正模塊,用于利用用戶輸入的校正信息對所述統計結果進行校正,得到校正后的統計結果。
優(yōu)選的,所述圖像采集模塊包括:
區(qū)域選取單元,用于利用用戶輸入的區(qū)域選取信息對原始圖像進行區(qū)域選定,得到所述目標圖像。
本發(fā)明中,物體計數方法包括:對目標物體群落進行圖像采集處理,得到目標圖像;對目標圖像進行二值化處理,得到二值圖像;統計目標區(qū)域的總數,得到統計結果,其中,目標區(qū)域為二值圖像中二值化數值滿足預設范圍的區(qū)域,其中,預設范圍為基于目標物體的截面面積預先設定的范圍。可見,本發(fā)明提供的物體計數方法通過獲取目標物體群落圖像,對目標區(qū)域圖像進行二值化和計數分析,完成了對于物體的計數工作,排除了人為干擾因素,同時大大提升了計數速度。
附圖說明
為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的一種物體計數方法流程圖;
圖2為本發(fā)明實施例提供的另一種物體計數方法流程圖;
圖3為本發(fā)明實施例提供的一種物體計數裝置結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例公開了一種物體計數方法,參見圖1所示,該方法包括:
步驟S11:對目標物體群落進行圖像采集處理,得到目標圖像。
在實際應用中,系統通過圖像采集設備,例如攝像頭和相機對目標物體群落進行圖像采集處理,得到目標圖像。還可以由用戶對采集到的圖像進行選取,得到目標圖像,具體步驟包括:
步驟S110:通過圖像采集裝置對目標物體群落進行圖像采集,得到原始目標圖像。
步驟S111:利用用戶輸入的區(qū)域選取信息對原始圖像進行區(qū)域選定,得到目標圖像。
具體的,用戶根據系統呈現在眼前的圖像采集設備采集的原始目標圖像,選取需要的區(qū)域,系統將原始目標圖像中被選取的區(qū)域作為目標圖像,以供后續(xù)步驟使用。
步驟S12:對目標圖像進行二值化處理,得到二值圖像。
具體的,首先計算出目標圖像的像素值,然后利用相關算法,例如,雙峰法、P參數法、迭代法和OTSU法等,計算出閾值,以將圖像分為大于閾值的像素群和小于閾值的像素群,最后將大于等于閾值的像素群灰度值設定為255,將小于閾值的像素群灰度值設定為0,當然也可以是將大于閾值的像素群灰度值設定為255,將小于等于閾值的像素群灰度值設定為0。
需要說明的是,對目標圖像進行二值化處理之前,還可以對圖像進行預處理,系統可以利用OpenCV函數庫(Open Source Computer Vision Library,開源計算機視覺庫)中的算法,例如,圖像降噪法和/或灰度化法和/或膨脹腐蝕運算,首先,可以對目標圖像進行降噪處理,去除圖像因圖像在數字化和傳輸過程中常受到成像設備與外部環(huán)境的噪聲干擾,以使圖像在后續(xù)處理過程中更加準確;其次,可以對對圖像進行灰度化處理,利用分量法或最大值法或平均值法或加權平均法等灰度值計算算法,得到目標圖像合理的灰度值;再根據灰度圖像的灰度直方圖,分析兩峰一谷的特點,進行二值化處理;最后,對二值圖像進行膨脹、腐蝕等操作,得到清晰可辯的二值圖像,以利于后續(xù)對目標區(qū)域的計算。
步驟S13:統計目標區(qū)域的總數,得到統計結果,其中,目標區(qū)域為二值圖像中二值化數值滿足預設范圍的區(qū)域,其中,預設范圍為基于目標物體的截面面積預先設定的范圍。
在實際應用中,將目標物體群落拍攝為圖像后,在目標圖像經過二值化處理后目標物體群落在二值圖像中呈多個目標區(qū)域,為了能夠準確地對目標物體進行計數,需要對如何挑選目標區(qū)域進行預先設定,具體的預設范圍的設定方法包括:
設定目標區(qū)域灰度值為0或255,基于目標物體截面面積,設定目標物體在二值圖像中的目標區(qū)域面積范圍為第一預設范圍,具體范圍大小可以根據實際需求進行設定,范圍過大或過小,都有可能造成誤判,從而使統計不準確,具體設定范圍要根據目標物體在二值圖像中的目標區(qū)域面積來設定;根據預先設定的目標區(qū)域面積范圍,設定目標區(qū)域灰度值之和的范圍為第二預設范圍。
統計目標區(qū)域總數時,判斷是否有滿足第一預設范圍的區(qū)域,如果否,則說明沒有目標區(qū)域,如果有,則繼續(xù)判斷二值圖像中是否有滿足第二預設范圍的區(qū)域,如果否,則說明沒有目標區(qū)域,如果有,則說明符合條件的區(qū)域均為目標區(qū)域,即只有同時滿足第一預設范圍和滿足第二預設范圍的區(qū)域,才是需要統計的目標區(qū)域,統計滿足上述第一預設范圍和第二預設范圍的目標區(qū)域的總數,得到統計結果。
例如,設定目標區(qū)域灰度值為0,需要統計的二值圖像為捆扎棒材,目標物體為單個棒材,預計單個棒材標準面積為100,上下預留20作為誤差范圍,因此設定單個棒材在二值圖像中面積為80到120作為第一預設范圍,設定棒材在圖像中面積灰度值之和為0到5100作為第二預設范圍,第二預設范圍的計算方法可以為將255灰度值與誤差范圍20相乘得到最大灰度值之和5100;統計捆扎棒材圖像中的單個棒材時,同時滿足第一預設范圍和第二預設范圍的區(qū)域為單個棒材,對同時滿足兩個預設范圍的區(qū)域進行統計,得到統計結果。
其中,當設定目標區(qū)域灰度值為255時,可以將設定的目標物體在二值圖像中的目標區(qū)域面積范圍與灰度值255相乘,得到第三預設范圍,因此,滿足第三預設范圍的區(qū)域便為目標區(qū)域;當統計目標區(qū)域總數時,統計二值圖像中滿足第三預設范圍的區(qū)域,得到統計結果。
例如,設定目標區(qū)域灰度值為255,需要統計的二值圖像為捆扎棒材,目標物體為單個棒材,預計單個棒材標準面積為100,上下預留20作為誤差范圍,因此設定單個棒材在二值圖像中面積為80到120,第三預設范圍由單個棒材在二值圖像中的面積與灰度值255相乘,得出第三預設范圍為20400到30600;統計捆扎棒材圖像中的單個棒材時,滿足第三預設范圍的區(qū)域便為單個棒材,對滿足第三預設范圍的區(qū)域進行統計,得到統計結果。
需要說明的是,對于上述預設范圍的設定方法不局限于上述的兩種方法和形式,可以使用其他能夠達成對目標區(qū)域進行統計的算法;對于目標區(qū)域的灰度值設定,可以根據用戶實際需求進行設置,在此均不做限定。
本發(fā)明實施例中,當統計結果出現錯誤,用戶可以直接選擇重新統計,而無需再重新采集目標群落圖像,節(jié)省了時間。
可見,本發(fā)明提供的物體計數方法通過獲取目標物體群落圖像,對目標區(qū)域圖像進行二值化和計數分析,完成了對于物體的計數工作,排除了人為干擾因素,同時大大提升了計數速度。
本發(fā)明實施例公開了一種具體的物體計數方法,相對于上一實施例,本實施例對技術方案作了進一步的說明和優(yōu)化。參見圖2所示,具體的:
步驟S21:對目標物體群落進行圖像采集處理,得到目標圖像。
步驟S22:對目標圖像進行二值化處理,得到二值圖像。
步驟S23:統計目標區(qū)域的總數,得到統計結果,其中,目標區(qū)域為二值圖像中二值化數值滿足預設范圍的區(qū)域,其中,預設范圍為基于目標物體的截面面積預先設定的范圍。
需要說明的是,步驟S21至步驟S23與上一實施例相同,在此不做贅述。
步驟S24:將已計數的目標區(qū)域進行標記,以使用戶能夠區(qū)分已計數的目標區(qū)域和未計數的目標區(qū)域。
具體的,得到統計結果后,系統將統計結果與二值圖像顯示給用戶,二值圖像中已計數的目標區(qū)域已被標記,例如,將目標區(qū)域填充顏色,如紅色,以使用戶能夠直觀的區(qū)分已計數的目標區(qū)域和未計數的目標區(qū)域。
可以理解的是,標記方法當然也可以選擇其他方法,例如,用帶顏色的線條圈出每一個已標記的目標區(qū)域,在此不做限定。
在實際應用中,雖然由人工計數轉變?yōu)榱耸褂迷O備計數,避免了人為因素的干擾,但設備計數也會因為各種原因而導致計數結果上出現誤差,這個時候可以由人為的對計數結果進行修正,因此在本發(fā)明實施例中還可以包括步驟S25,具體的:
步驟S25:利用用戶輸入的校正信息對統計結果進行校正,得到校正后的統計結果。
可以理解的是,用戶根據步驟S24中在二值圖像中已標記的目標區(qū)域和統計結果,判斷統計結果是否正確,如果正確則無需操作;如果不正確,則用戶可以自行對系統中的統計結果進行校正,具體校正方法包括:
對已計數的目標區(qū)域使用顏色進行填充,以使用戶能夠直觀的區(qū)分已計數的目標區(qū)域和未計數的目標區(qū)域,用戶可以通過點擊二值圖像中未計數的目標區(qū)域,對其重新進行標記,使用與已計數的目標區(qū)域顏色不同的顏色進行填充,以此區(qū)分由用戶標記的目標區(qū)域和由系統計數時標記的目標區(qū)域,再由系統重新對所有標記的目標區(qū)域重新計數,得到校正后的統計結果。
例如,對已計數的目標區(qū)域使用紅色進行填充,用戶通過觸摸屏點擊二值圖像中未計數的目標區(qū)域,點擊后使其被黃色填充,用戶確認無遺漏后,讓系統系統重新對所有標記的目標區(qū)域重新計數,得到校正后的統計結果。
當然,如果一次校正后仍沒能得到正確結果,可繼續(xù)進行校正,直到得到正確的統計結果。
校正方法還可以為,用戶通過二值圖像中標記的以計數目標區(qū)域,通過系統提供的,統計結果修改對話框,用戶直接輸入正確的統計結果,對統計結果進行修正。
綜上,本發(fā)明實施例通過增加人工校正環(huán)節(jié),確保了統計結果的準確性,消除了設備在計數上可能發(fā)生的計數錯誤。
可以理解的是,為保證用戶能夠檢視歷史統計結果作為校正參考信息,同時也為了方便記錄和統計計數結果,使用戶可以將統計結果應用到其他地方,增加本地存儲區(qū)域,以存儲每次統計結果。因為計數過程在沒有錯誤的情況下,可能只需統計一次就足夠了,且計數工作量可能會十分巨大,因此過多的存儲統計結果沒有意義,且當存儲空間使用滿后,無法再對新的統計結果進行存儲,當用戶需要對有意義的統計結果存儲時,反而無法存儲,因此可以根據實際應用需求,預先設定統計結果自動存儲數量上限,當超過預先設定的上限時,則新的數據將會覆蓋最先存儲的舊數據,剩余的存儲空間留給用戶存儲需要長時間記錄的統計結果,例如,在對捆扎棒材計數的環(huán)境下,通常需要對50捆捆扎棒材進行計數,因此可以設置自動存儲數量為50,當對下一批捆扎棒材進行計數時,新的統計結果將會覆蓋舊的統計結果,用戶也可以隨時存儲需要長時間存儲的統計結果。
同時還可以增加外接接口,可以使用外部存儲設備對系統內存儲的統計結果進行拷貝。
進一步的,還可以將統計結果和工作人員信息發(fā)送到服務器,以使服務器將統計結果存儲到數據庫中,為后續(xù)的數據分析和工作人員處理任務情況做監(jiān)控;還可以在計數設備上增加工作人員信息認證,工作人員輸入登錄信息,系統將登陸信息發(fā)送到服務器,服務器將接收到的登錄信息與數據庫中存儲的工作人員信息進行比較,一致時,則允許工作人員登錄使用設備,不一致時,則拒絕開啟設備。
另外,本發(fā)明實施例還公開了一種物體計數裝置,參見圖3所示,該裝置包括:
圖像采集模塊11,用于對目標物體群落進行圖像采集處理,得到目標圖像。
具體的,圖像采集模塊11的圖像處理芯片可以選用EM2800/2710,且將圖像采集裝置與圖像處理芯片集成化,使圖像獲取效率提高數倍。
圖像處理模塊12,用于對目標圖像進行二值化處理,得到二值圖像。
具體的,可以基于安卓平臺的OpenCV函數庫對圖像進行二值化處理。
統計模塊13,用于統計目標區(qū)域的總數,得到統計結果,其中,目標區(qū)域為二值圖像中二值化數值滿足預設范圍的區(qū)域,其中,預設范圍為基于目標物體的截面面積預先設定的范圍。
具體的,基于OpenCV在安卓系統中用Java編程語言編寫搜索算法,以實現對目標區(qū)域的統計。
本發(fā)明實施例的物體計數裝置還包括:
圖像預處理模塊,用于對目標圖像進行二值化處理之前,用圖像降噪法和/或灰度化法對目標圖像進行預處理。
校正模塊,用于利用用戶輸入的校正信息對統計結果進行校正,得到校正后的統計結果。
數據上傳模塊,用于將統計結果發(fā)送到服務器,以使服務器將統計結果存儲到數據庫中。
本地存儲模塊,用于將統計結果存儲到本地存儲空間中。
本發(fā)明實施例中的圖像采集模塊11,具體包括區(qū)域選取單元,其中,
區(qū)域選取單元,用于利用用戶輸入的區(qū)域選取信息對原始圖像進行區(qū)域選定,得到目標圖像。
本發(fā)明實施例提供的物體計數裝置,可以設計為便攜式一體機,能夠輕易地由用戶拾取操作,其中,上述圖像處理芯片也可以選用其他處理芯片,圖像采集模塊11也可采用分體式采集處理設備;圖像處理模塊12對圖像的二值化處理也不局限于安卓平臺上的OpenCV函數庫;統計模塊13使用的搜索算法也可以使用其他同等功能的算法,在此均不做限定。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
以上對本發(fā)明所提供的一種物體計數方法及裝置進行了詳細介紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。