王穎
(合肥工業(yè)大學(xué) 電氣與自動化工程學(xué)院 安徽 合肥 230001)
OpenCV的全稱是Open Source ComputerVision Library (開源計算機視覺庫)[1],是一種開源計算機視覺庫,它可以在很多計算機操作系統(tǒng)上運行,如:Windows、OS、Linux、Android,另外,它還可以在不同的軟件上運行,如Python、MATLAB。其提供了大量的視覺及圖像的處理函數(shù),在運動跟蹤、機器視覺、物體識別等領(lǐng)域有廣泛的應(yīng)用。利用OpenCV進行圖像處理并進行特征輪廓識別與定位,方便快捷。
基于OpenCV進行圖像處理,首先需要程序遵循OpenCV。搭建一個完整、科學(xué)的圖形識別系統(tǒng)需要在計算機函數(shù)算法的基礎(chǔ)上整合各個步驟,分類聚合[2]。系統(tǒng)的形成的基礎(chǔ)是硬件與軟件環(huán)境,因此第一步要搭建圖形識別環(huán)境。本文使用的開發(fā)語言為C++,編碼環(huán)境為Visual Studio 2013。首先下載安裝Visual Studio 2013和OpenCV,再進行OpenCV的環(huán)境配置,OpenCV提供了兩種配置:動態(tài)庫(.dll)和靜態(tài)庫(.lib)。通常采用的是全局配置OpenCV路徑。它的優(yōu)點是一次配置完成后,不需要重復(fù)配置,極為方便。
圖像處理技術(shù)和微型計算機的發(fā)展使許多簡單的檢測設(shè)備也能夠?qū)ξ矬w進行形狀和運動的檢測,比如普通的USB攝像頭。本文用普通USB攝像頭從上面或側(cè)面兩個角度垂直對包裹進行圖像采集,僅通過OpenCV視覺庫和解釋式開發(fā)語言就可以在計算機上對USB攝像頭拍攝的圖像進行分析計算和檢測。因快遞包裹容易移動,需要實時的對快遞圖像進行采集,所以用攝像頭拍攝包裹的視頻,再將視頻按照幀率合理獲得有時間間隔的截圖(攝像頭要垂直于包裹)。
圖像處理流程如下:首先,對采集來的圖像進行圖像預(yù)處理,把彩色的圖像變?yōu)榛叶葓D像,降低圖像的復(fù)雜度,并對圖像濾波,去除噪點;其次,通過邊緣提取得到特征邊緣對應(yīng)的圖像,而后進行輪廓檢索,得到圖像中所有的連續(xù)輪廓;最后,對采取的輪廓進行擬合,進而判斷其形狀。
對得到的快遞圖像進行圖像預(yù)處理,可以提高后面步驟中圖像處理的速度、質(zhì)量[3]。采用cvtColor()函數(shù)將快遞彩色圖灰度化,用GaussianBlur()函數(shù)對灰度圖進行濾波從而實現(xiàn)圖像的降噪化,防止中的噪點使圖像中物體邊緣的不平整,影響下一步包裹邊緣的提取。圖像預(yù)處理得到的灰度圖是下一步正常進行的保障。
邊緣檢測在圖像處理中起到重要的作用。邊緣檢測的算法主要是基于圖像強度的一階階和二階微分操作[4]。一般來說,用有限差分近似得到圖像在X、Y兩個方向上偏導(dǎo)數(shù)的兩個矩陣,便是灰度圖梯度,叫做梯度算子。常見的梯度算子有Sobel,Canny,Scarry,Prewitt等。本文采用Canny()函數(shù)對灰度圖處理,得到圖像中物體與背景的交際線。Canny算法規(guī)定了兩個閾值來分別檢測圖像的弱邊緣和強邊緣,這樣即使有時弱邊緣較多但其與強邊緣相連就可被檢測到,放在輸出圖像中。此方法的優(yōu)點是降低噪聲的干擾、識別真正的弱邊緣[5]。
經(jīng)過上述步驟后,為了能夠得到圖像中物體原本的輪廓,需要增加輪廓的連續(xù)性,因此使用OpenCV的dilateO函數(shù)和erode()函數(shù)對前面提取的輪廓特征進行閉運算,填充物體中的“黑洞”,從而使輪廓變得清晰。
進行下一步輪廓檢索時利用findContours()函數(shù)進行清晰的邊緣輪廓特征提取,再將檢測到的輪廓逐一標(biāo)記,以便后續(xù)的擬合操作。
待輪廓捕獲出來需要對捕獲的輪廓進行擬合,也稱作輪廓逼近。OpenCV中有大量的用于輪廓擬合的函數(shù),如minAreaRect、boundingRect、contourArea、minEnclosing-Circle等,這些函數(shù)方法各有各的特點,需要根據(jù)不同的場景選擇最合適的函數(shù)。本文的研究對象為快遞,形狀較統(tǒng)一,因而選擇boundingRect對輪廓進行擬合處理。在逼近處理的過程中,線段的長度可以根據(jù)具體實際情況進行調(diào)整。一般而言,線段的長短不同,所擬合出來的輪廓對于線段數(shù)量的要求也就不同,逼近圓形、三角形和矩形所用線段的數(shù)量分別是8條、3條和4條。從逼近的整個過程看,用于逼近的線段之間有著可見的界限,這說明圖形實現(xiàn)了較好的識別。
綜上所述,機器視覺的支持下,快遞控制系統(tǒng)正向智能化方向轉(zhuǎn)變,尤其是人工智能快速發(fā)展的今天,基于0penCV的快遞圖像處理技術(shù)將為快遞的識別、自動分揀提供重要的技術(shù)支持。本文是對如何對快遞的圖像進行識別分析,不足是沒有對復(fù)雜的圖像處理技術(shù)進行研究,今后希望向難度更大的圖像識別技術(shù)進行深度學(xué)習(xí),期待為相關(guān)技術(shù)領(lǐng)域的發(fā)展提供技術(shù)支持。