本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別是涉及一種視頻圖像拼接方法、裝置和系統(tǒng)。
背景技術(shù):
圖像拼接技術(shù)是將數(shù)張有重疊部分的圖像(可能是不同時間、不同視角或者不同傳感器獲得的)拼成一幅大型的無縫高分辨率圖像的技術(shù)。圖像拼接技術(shù)在空間探測、醫(yī)學圖像分析、遙感圖像處理等領(lǐng)域都有著廣泛的應(yīng)用。隨著計算機技術(shù)在工業(yè)領(lǐng)域的發(fā)展,在工業(yè)領(lǐng)域,對工業(yè)相機拍攝的視頻圖像進行拼接也成為圖像拼接技術(shù)的應(yīng)用熱點。
在工業(yè)領(lǐng)域中,一般使用工業(yè)相機對產(chǎn)品制造流程進行監(jiān)控,每臺工業(yè)相機僅能拍攝局部視頻圖像,多臺工業(yè)相機拍攝的視頻圖像進行圖像拼接后能夠反應(yīng)整個監(jiān)控現(xiàn)場的視頻圖像。操作人員需要根據(jù)拼接后的視頻圖像獲取現(xiàn)場實時視頻圖像,以便能夠及時對各設(shè)備進行控制,因此圖像拼接的實時性要求較高。隨著工業(yè)相機性能的提升,目前能夠拍攝高清視頻圖像的工業(yè)相機已經(jīng)廣泛應(yīng)用,但高清視頻圖像的數(shù)據(jù)量巨大,對多路高清工業(yè)相機拍攝的高清視頻圖像進行拼接,計算量非常大。目前都是采用計算機軟件處理的方法進行圖像拼接,受限于軟件算法的處理能力,當需要進行合成的視頻圖像數(shù)量較多,或者視頻圖像清晰度過高時,目前的圖像拼接方法,無法滿足工業(yè)應(yīng)用場景中對高清視頻圖像進行拼接時的低延遲、處理實時性的要求。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提供一種視頻圖像拼接方法、裝置和系統(tǒng),以提高對視頻圖像進行拼接的處理效率。
本實施例具體技術(shù)方案如下:
第一方面提供一種視頻圖像拼接方法,包括:
FPGA的采集模塊從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù);
所述FPGA的緩存控制模塊將所述至少兩個采集數(shù)據(jù)存儲在緩存中;
所述FPGA的圖像預(yù)處理模塊對所述緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù);
微處理器根據(jù)所述至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對所述緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像;
所述微處理器通過與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口將拼接后的視頻圖像傳輸至所述視頻圖像服務(wù)器,以使所述視頻圖像服務(wù)器顯示所述拼接后的視頻圖像。
在第一方面一種可能的實現(xiàn)方式中,所述FPGA的采集模塊從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù)之后,所述方法還包括:
所述FPGA的分析模塊判斷所述至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù);
在所述FPGA的緩存控制模塊將所述至少兩個采集數(shù)據(jù)存儲在緩存中之前,所述方法還包括:
若所述分析模塊判斷所述采集數(shù)據(jù)為原始圖像數(shù)據(jù),則通知所述緩存控制模塊將所述原始圖像數(shù)據(jù)存儲在所述緩存中;
若所述分析模塊判斷所述采集數(shù)據(jù)為控制信號,則通知所述FPGA的MCU進行處理;
所述FPGA的圖像預(yù)處理模塊對所述緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù),包括:
所述FPGA的圖像預(yù)處理模塊對所述緩存中的原始圖像數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個原始圖像數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù)。
在第一方面一種可能的實現(xiàn)方式中,在所述FPGA的緩存控制模塊將所述至少兩個采集數(shù)據(jù)存儲在緩存中之前,所述方法還包括:
若所述分析模塊判斷所述采集數(shù)據(jù)同時包括控制信號和原始圖像數(shù)據(jù),則從所述采集數(shù)據(jù)中提取出所述原始圖像數(shù)據(jù),通知所述緩存控制模塊將所述原始圖像數(shù)據(jù)存儲在所述緩存中,并將所述控制信號發(fā)送給所述MCU處理。
在第一方面一種可能的實現(xiàn)方式中,所述FPGA的分析模塊判斷所述至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù),包括:
所述FPGA的分析模塊根據(jù)所述至少兩個采集數(shù)據(jù)中的端口號,判斷所述至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)。
在第一方面一種可能的實現(xiàn)方式中,所述FPGA的圖像預(yù)處理模塊對所述緩存中的原始圖像數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個原始圖像數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù),包括:
所述FPGA的圖像預(yù)處理模塊對所述緩存中的每個原始圖像數(shù)據(jù)進行像素級圖像預(yù)處理,得到用于得到表征每個原始圖像數(shù)據(jù)的至少一個像素特征數(shù)據(jù),所述像素級預(yù)處理包括圖像格式轉(zhuǎn)換、降采樣、梯度計算中的至少一種。
第二方面提供一種視頻圖像拼接裝置,其特征在于,包括:FPGA和DSP;
所述FPGA,包括:
采集模塊,用于從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù);
緩存控制模塊,用于將所述至少兩個采集數(shù)據(jù)存儲在緩存中;
圖像預(yù)處理模塊,用于對所述緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù);
所述DSP,用于根據(jù)所述至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對所述緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像;通過與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口將拼接后的視頻圖像傳輸至所述視頻圖像服務(wù)器,以使所述視頻圖像服務(wù)器顯示所述拼接后的視頻圖像。
在第二方面一種可能的實現(xiàn)方式中,所述FPGA還包括分析模塊,用于判斷所述至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù);若判斷所述采集數(shù)據(jù)為原始圖像數(shù)據(jù),則通知所述緩存控制模塊將所述原始圖像數(shù)據(jù)存儲在所述緩存中;若判斷所述采集數(shù)據(jù)為控制信號,則通知所述FPGA的MCU進行處理;
所述MCU,用于處理所述控制信號;
所述緩存控制模塊,具體用于若所述分析模塊判斷采集數(shù)據(jù)為原始圖像數(shù)據(jù),則將所述原始圖像數(shù)據(jù)存儲在所述緩存中;
所述圖像預(yù)處理模塊,具體用于對所述緩存中的原始圖像數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個原始圖像數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù)。
在第二方面一種可能的實現(xiàn)方式中,所述分析模塊,還用于若判斷所述采集數(shù)據(jù)同時包括控制信號和原始圖像數(shù)據(jù),則從所述采集數(shù)據(jù)中提取出所述原始圖像數(shù)據(jù),通知所述緩存控制模塊將所述原始圖像數(shù)據(jù)存儲在所述緩存中,并將所述控制信號發(fā)送給所述MCU處理。
在第二方面一種可能的實現(xiàn)方式中,所述分析模塊,具體用于根據(jù)所述至少兩個采集數(shù)據(jù)中的端口號,判斷所述至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)。
在第二方面一種可能的實現(xiàn)方式中,所述圖像預(yù)處理模塊,具體用于對所述緩存中的每個原始圖像數(shù)據(jù)進行像素級圖像預(yù)處理,得到用于得到表征每個原始圖像數(shù)據(jù)的至少一個像素特征數(shù)據(jù),所述像素級預(yù)處理包括圖像格式轉(zhuǎn)換、降采樣、梯度計算中的至少一種。
第三方面提供一種視頻圖像拼接系統(tǒng),其特征在于,包括:視頻圖像拼接裝置和視頻圖像服務(wù)器;
所述視頻圖像拼接裝置包括:FPGA和DSP;
所述FPGA,包括:
采集模塊,用于從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù);
緩存控制模塊,用于將所述至少兩個采集數(shù)據(jù)存儲在緩存中;
圖像預(yù)處理模塊,用于對所述緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù);
所述DSP,用于根據(jù)所述至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對所述緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像;通過與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口將拼接后的視頻圖像傳輸至所述視頻圖像服務(wù)器,以使所述視頻圖像服務(wù)器顯示所述拼接后的視頻圖像;
所述視頻圖像服務(wù)器,用于顯示所述拼接后的視頻圖像。
本發(fā)明實施例提供的視頻圖像拼接方法、裝置和系統(tǒng),在由FPGA接收至少兩個采集數(shù)據(jù),將采集數(shù)據(jù)存儲在緩存中后,再由FPGA對緩存中的采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù),再采用微處理器根據(jù)至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像,由于根據(jù)視頻圖像數(shù)據(jù)的特點分別采用基于硬件和軟件的處理方式,提高了對視頻圖像進行拼接的處理效率,能夠滿足對高清視頻圖像進行拼接時的低延遲、處理實時性的要求。當然,實施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時達到以上所述的所有優(yōu)點。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的視頻圖像拼接方法實施例一的流程圖;
圖2為本發(fā)明實施例提供的視頻圖像拼接裝置實施例一的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實施例提供的視頻圖像拼接裝置實施例二的結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例提供的視頻圖像拼接系統(tǒng)實施例一的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的視頻圖像拼接系統(tǒng)實施例二的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在工業(yè)領(lǐng)域中,圖像拼接技術(shù)被廣泛應(yīng)用于控制、監(jiān)控等場景中,多臺工業(yè)相機長時間持續(xù)對監(jiān)控現(xiàn)場進行拍攝,并將拍攝到的圖像統(tǒng)一輸出至圖像處理服務(wù)器,由圖像處理服務(wù)器對多臺工業(yè)相機拍攝到的圖像進行拼接處理。圖像處理服務(wù)器進行圖像拼接處理的方式都是基于軟件進行的,當進行拍攝的工業(yè)相機數(shù)量較多,拍攝的圖像分辨率較高時,圖像處理服務(wù)器的處理能力勢必受到挑戰(zhàn)。單純提高圖像處理服務(wù)器的處理性能已經(jīng)無法滿足對多個高清工業(yè)相機拍攝到的圖像進行實時拼接處理的需求。
在進行圖像拼接時,首先需要對原始圖像進行預(yù)處理,包括數(shù)字圖像處理的基本操作(如去噪、邊緣提取、直方圖處理等)、建立圖像的匹配模板以及對圖像進行某種變換(如傅里葉變換、小波變換等)等操作,得到原始圖像的特征數(shù)據(jù),然后分別進行圖像配準、建立變換模型、統(tǒng)一坐標變換、融合重構(gòu)等處理,最終完成對圖像的拼接。其中對圖像進行預(yù)處理的過程通過圖像處理服務(wù)器中的軟件進行計算,運算量很大,效率較低。但根據(jù)視頻圖像的特征,若采用基于硬件的邏輯處理,例如使用現(xiàn)場可編程門陣列(Field-Programmable Gate Array,F(xiàn)PGA)或復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,CPLD)等基于大規(guī)模集成電路設(shè)計的處理器對視頻圖像進行預(yù)處理,則效率較高。而在對經(jīng)過預(yù)處理后的圖像特征數(shù)據(jù)進行拼接處理時,主要設(shè)計對數(shù)字信號處理的過程,那么使用數(shù)字信號處理器(Digital Signal Processor,DSP)、ARM或通用的中央處理器(Central Processing Unit,CPU)進行處理效率較高。因此,本發(fā)明提供一種視頻圖像拼接方法,采用FPGA和DSP處理相結(jié)合的方式,提高對視頻圖像進行拼接的效率。
圖1為本發(fā)明實施例提供的視頻圖像拼接方法實施例一的流程圖,如圖1所示,本實施例提供的視頻圖像拼接方法包括:
步驟S101,F(xiàn)PGA的采集模塊從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù)。
本實施例提供的視頻圖像拼接方法應(yīng)用于需要對多個視頻圖像進行拼接的場景,其中,多個采集數(shù)據(jù)分別由多個視頻圖像采集裝置進行采集。視頻圖像采集裝置可以是任一種能夠進行視頻采集,并將采集到的視頻圖像傳輸至統(tǒng)一的處理中心的裝置,例如工業(yè)領(lǐng)域中所使用的工業(yè)相機。當然視頻圖像采集裝置還可以是其他類型的相機、攝像機、監(jiān)控器等裝置。視頻圖像采集裝置可以進行持續(xù)的視頻圖像采集。
在傳統(tǒng)的視頻采集系統(tǒng)中,多個視頻圖像采集裝置分別與視頻圖像處理服務(wù)器進行連接,并將采集到的視頻圖像傳輸至視頻圖像處理服務(wù)器,由視頻圖像服務(wù)器對多個視頻圖像進行拼接。為了克服視頻圖像處理服務(wù)器僅采用軟件處理方式對視頻圖像進行拼接所存在的問題,本實施例中,使用一個獨立的視頻圖像拼接裝置進行視頻圖像的拼接處理,其中視頻圖像拼接裝置分別與各視頻圖像采集裝置連接,用于接收各視頻圖像采集裝置采集到的視頻圖像數(shù)據(jù)。視頻圖像拼接裝置與多個視頻圖像采集裝置之間可以通過以太網(wǎng)、光纖、無線網(wǎng)絡(luò)等任一種連接方式連接。
在對視頻圖像進行拼接時,首先需要對多個待拼接的視頻圖像進行處理,獲取每個圖像用于拼接的一個或多個參數(shù),例如各圖像的邊緣的像素點的信息。根據(jù)獲取到的參數(shù)確定相鄰圖像的拼接位置、角度等信息,從而才能完成圖像拼接。但使用基于軟件處理的處理器對圖像進行參數(shù)提取效率較低,因此在本實施例中,使用FPGA進行圖像的參數(shù)提取。首先,F(xiàn)PGA中配置有采集模塊,分別與多個視頻圖像采集裝置連接,并分別接收至少兩個采集數(shù)據(jù)。采集模塊例如可以通過在FPGA中配置與視頻圖像采集裝置所采用的通信協(xié)議相同的通信協(xié)議模塊來實現(xiàn)。
步驟S102,F(xiàn)PGA的緩存控制模塊將至少兩個采集數(shù)據(jù)存儲在緩存中。
由于視頻圖像采集裝置對視頻的采集是連續(xù)的,那么FPGA的采集模塊會持續(xù)地接收到多個視頻圖像采集裝置發(fā)送的采集數(shù)據(jù)。由于FPGA的處理能力是有限的,可能無法及時處理接收到的采集數(shù)據(jù),那么采集模塊在接收到采集數(shù)據(jù)后,F(xiàn)PGA的緩存控制模塊可以先將接收到的至少兩個采集數(shù)據(jù)存儲在緩存中。其中,緩存可以是獨立于視頻圖像拼接裝置的存儲器,也可以是配置在FPGA內(nèi)部的存儲空間。例如,若FPGA是串行處理的,那么FPGA需要依次處理采集數(shù)據(jù),而無法同時處理接收到多個采集數(shù)據(jù),因此需要通過緩存控制模塊將接收到的至少兩個采集數(shù)據(jù)先存在緩存中,那么FPGA即可依次從緩存中讀取采集數(shù)據(jù)并串行處理。若FPGA是并行處理的,那么FPGA的并行處理能力可能與視頻圖像采集裝置的個數(shù)不匹配,因此也可以通過緩存控制模塊將接收到的至少兩個采集數(shù)據(jù)先存在緩存中,F(xiàn)PGA根據(jù)并行處理能力從緩存中讀取所需數(shù)量的采集數(shù)據(jù)進行并行處理。
步驟S103,F(xiàn)PGA的圖像預(yù)處理模塊對緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù)。
FPGA中還配置有圖像預(yù)處理模塊,圖像預(yù)處理模塊通過邏輯電路的方式對緩存中的采集數(shù)據(jù)進行圖像預(yù)處理。根據(jù)視頻圖像的特征可知,對視頻圖像進行特征提取的處理較少涉及數(shù)字信號處理,而采用邏輯電路對視頻圖像數(shù)據(jù)進行預(yù)處理的效率要高于使用軟件進行處理。經(jīng)過預(yù)處理后的視頻圖像數(shù)據(jù)包括用于表征采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù),各特征數(shù)據(jù)可以用于進行圖像拼接處理。
當然,除了FPGA以外,還可以采用例如CPLD等具有硬件處理特性的處理器進行圖像預(yù)處理。
步驟S104,微處理器根據(jù)至少兩個采集數(shù)據(jù)的特征數(shù)據(jù),對緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像。
在得到至少兩個采集數(shù)據(jù)的特征數(shù)據(jù)后,微處理器即可對至少兩個采集數(shù)據(jù)進行拼接處理。通過FPGA預(yù)處理后的特征數(shù)據(jù)將作為對采集數(shù)據(jù)進行拼接的依據(jù),通過比對相鄰采集數(shù)據(jù)的特征數(shù)據(jù),可以找到相鄰采集數(shù)據(jù)重疊的像素點,從而可以將相鄰采集數(shù)據(jù)重疊的像素點對準,完成相鄰采集數(shù)據(jù)的拼接處理。微處理器是基于軟件的處理方式,微處理可以為DSP、CUP、ARM等具有軟件處理特性的處理器。對采集數(shù)據(jù)的拼接主要是進行數(shù)字信號處理,采用微處理器進行數(shù)字信號處理的效率較高。經(jīng)過處理后即可得到拼接后的視頻圖像,完成對視頻圖像的拼接處理。微處理器同樣是從緩存中讀取所需的采集數(shù)據(jù),并根據(jù)FPGA處理后的特征數(shù)據(jù),完成對采集數(shù)據(jù)的拼接處理。
步驟S105,微處理器通過與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口將拼接后的視頻圖像傳輸至視頻圖像服務(wù)器,以使視頻圖像服務(wù)器顯示拼接后的視頻圖像。
微處理器可以配置與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口,將拼接后的視頻圖像傳輸至傳統(tǒng)的視頻圖像服務(wù)器,使得視頻圖像服務(wù)器獲取拼接后的視頻圖像。視頻圖像服務(wù)器即可將拼接后的視頻圖像進行顯示,從而無需在視頻圖像服務(wù)器中進行視頻圖像拼接的處理。
本實施例提供的視頻圖像拼接方法,由FPGA接收至少兩個采集數(shù)據(jù),將采集數(shù)據(jù)存儲在緩存中后,再由FPGA對緩存中的采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù),再采用微處理器根據(jù)至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像,由于根據(jù)視頻圖像數(shù)據(jù)的特點分別采用基于硬件和軟件的處理方式,提高了對視頻圖像進行拼接的處理效率,能夠滿足對高清視頻圖像進行拼接時的低延遲、處理實時性的要求。
進一步的,在圖1所示實施例的基礎(chǔ)上,F(xiàn)PGA在接收到至少兩個采集數(shù)據(jù)后,還需要進一步地確定至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)。FPGA在進行視頻采集的過程中除了采集視頻圖像數(shù)據(jù),還需要反饋一些狀態(tài)信號或?qū)σ曨l圖像服務(wù)器發(fā)送的控制信號進行反饋。將視頻圖像采集裝置發(fā)送的數(shù)據(jù)中,除了原始圖像數(shù)據(jù)以外的數(shù)據(jù)統(tǒng)稱為控制信號數(shù)據(jù),那么FPGA在接收到至少兩個采集數(shù)據(jù)后,其中的分析模塊還需要判斷接收到的采集數(shù)據(jù)是否是原始圖像數(shù)據(jù),若接收到的是原始圖像數(shù)據(jù),則再對原始圖像數(shù)據(jù)進行圖像預(yù)處理,得到預(yù)處理后的視頻圖像數(shù)據(jù)。若分析模塊確定采集數(shù)據(jù)為控制信號數(shù)據(jù),則FPGA根據(jù)控制信號數(shù)據(jù)中指示的信息進行相應(yīng)處理。在FPGA中,除了邏輯電路處理部分以外,還可以包括一個或多個具有軟件處理特性的軟核,F(xiàn)PGA的軟核可以認為是一個微控制單元(Microcontroller Unit,MCU),可以在其中存儲相應(yīng)的程序或軟件,對采集數(shù)據(jù)進行識別,并對接收到的控制信號數(shù)據(jù)進行處理。
需要說明的是,圖像預(yù)處理模塊對每個采集數(shù)據(jù)進行圖像預(yù)處理,包括圖像預(yù)處理模塊對所述緩存中的每個原始圖像數(shù)據(jù)進行像素級圖像預(yù)處理,得到用于得到表征每個原始圖像數(shù)據(jù)的至少一個像素特征數(shù)據(jù),所述像素級預(yù)處理包括圖像格式轉(zhuǎn)換、降采樣、梯度計算中的至少一種。像素級預(yù)處理包括圖像格式轉(zhuǎn)換、降采樣、梯度計算中的至少一種。像素級預(yù)處理后的預(yù)處理后的視頻圖像數(shù)據(jù)能夠表征視頻圖像數(shù)據(jù)的每個像素的特征,在后續(xù)進行圖像拼接時,能夠得到更加準確的拼接后的視頻圖像數(shù)據(jù)。
一般地,視頻圖像采集裝置和視頻圖像拼接裝置采用以太網(wǎng)進行連接,那么FPGA和視頻圖像采集裝置之間傳輸?shù)膱笪木鶠橛脩魯?shù)據(jù)報文協(xié)議(User Datagram Protocol,UDP)報文,F(xiàn)PGA的分析模塊可以根據(jù)視頻圖像采集裝置發(fā)送的數(shù)據(jù)所使用的UDP報文端口號確定視頻圖像采集裝置發(fā)送的采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)。當然,視頻圖像采集裝置和FPGA可以事先約定控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)所使用的UDP報文端口號。
視頻圖像采集裝置發(fā)送的控制信號數(shù)據(jù)例如可以是FPGA需要讀取視頻圖像采集裝置的狀態(tài)時,向視頻圖像采集裝置發(fā)送請求,視頻圖像采集裝置向FPGA發(fā)送攜帶狀態(tài)信息的報文,該報文即屬于控制信號數(shù)據(jù)。又例如,視頻圖像采集裝置開啟時,會向FPGA發(fā)送狀態(tài)報告,該報文屬于控制信號數(shù)據(jù)。再例如,設(shè)備發(fā)現(xiàn)過程,F(xiàn)PGA向各個視頻圖像采集裝置發(fā)送廣播報文搜索在線的視頻圖像采集裝置,在線的視頻圖像采集裝置向FPGA反饋單播報文,該報文屬于控制信號數(shù)據(jù)。又例如,F(xiàn)PGA檢測到數(shù)據(jù)流丟包,通過控制報文告訴視頻圖像采集裝置發(fā)送丟失的數(shù)據(jù)包,工業(yè)相機通過控制信號數(shù)據(jù)將丟失的數(shù)據(jù)包發(fā)送給FPGA,F(xiàn)PGA從控制信號數(shù)據(jù)提取出丟失的視頻圖像數(shù)據(jù)。
因此,若FPGA的分析模塊判斷采集數(shù)據(jù)同時包括控制信號和原始圖像數(shù)據(jù),則從采集數(shù)據(jù)中提取出原始圖像數(shù)據(jù),通知緩存控制模塊將原始圖像數(shù)據(jù)存儲在緩存中,并將控制信號發(fā)送給所述MCU處理。
圖2為本發(fā)明實施例提供的視頻圖像拼接裝置實施例一的結(jié)構(gòu)示意圖,如圖2所示,本實施例提供的視頻圖像拼接裝置包括FPGA 21和DSP 22。
FPGA 21,包括:采集模塊23,用于從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù);緩存控制模塊24,用于將至少兩個采集數(shù)據(jù)存儲在緩存中;圖像預(yù)處理模塊25,用于對緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù)。DSP 22,用于根據(jù)所述至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對所述緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像;通過與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口將拼接后的視頻圖像傳輸至所述視頻圖像服務(wù)器,以使所述視頻圖像服務(wù)器顯示所述拼接后的視頻圖像。
采集模塊23根據(jù)視頻圖像采集裝置所使用的傳輸制式而配置,例如采集模塊23可以為以太網(wǎng)接口,在FPGA 21中可以對一部分門電路進行配置,實現(xiàn)以太網(wǎng)接口功能。圖像預(yù)處理模塊25也是通過將FPGA 21中的一部分門電路進行配置而實現(xiàn)的,完成對采集數(shù)據(jù)進行圖像預(yù)處理。DSP 22中預(yù)設(shè)有相應(yīng)的處理指令或程序,其中一部分處理指令或程序用于實現(xiàn)對每個采集數(shù)據(jù)進行拼接的處理,還有一部分處理指令或程序用于實現(xiàn)將拼接后的視頻圖像傳輸至視頻圖像服務(wù)器的處理。
本實施例提供的視頻圖像拼接裝置用于實現(xiàn)圖1所示視頻圖像拼接方法的處理,其實現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖3為本發(fā)明實施例提供的視頻圖像拼接裝置實施例二的結(jié)構(gòu)示意圖,如圖3所示,在圖2所示實施例的基礎(chǔ)上,F(xiàn)PGA 21還包括分析模塊26。
分析模塊26,用于判斷至少兩個采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù);若判斷采集數(shù)據(jù)為原始圖像數(shù)據(jù),則通知緩存控制模塊24將原始圖像數(shù)據(jù)存儲在所述緩存中;若判斷采集數(shù)據(jù)為控制信號,則通知FPGA的微控制單元MCU 27進行處理。MCU 27,用于處理所述控制信號。緩存控制模塊24,具體用于若分析模塊26判斷采集數(shù)據(jù)為原始圖像數(shù)據(jù),則將原始圖像數(shù)據(jù)存儲在緩存中。圖像預(yù)處理模塊25,具體用于對緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù)。
分析模塊26由FPGA 21的軟核實現(xiàn),F(xiàn)PGA 21的軟核中預(yù)設(shè)有處理指令或程序,用于判斷采集數(shù)據(jù)為控制信號數(shù)據(jù)或視頻圖像數(shù)據(jù)。若分析模塊26判斷采集數(shù)據(jù)為控制信號數(shù)據(jù),則MCU 27進一步地對控制信號數(shù)據(jù)進行處理。若分析模塊26判斷采集數(shù)據(jù)為視頻圖像數(shù)據(jù),則將視頻圖像數(shù)據(jù)送至緩存控制模塊24進行圖像預(yù)處理。
進一步地,在圖3所示實施例的基礎(chǔ)上,分析模塊26,還用于若判斷所述采集數(shù)據(jù)同時包括控制信號和原始圖像數(shù)據(jù),則從所述采集數(shù)據(jù)中提取出所述原始圖像數(shù)據(jù),通知所述緩存控制模塊24將所述原始圖像數(shù)據(jù)存儲在所述緩存中,并將所述控制信號發(fā)送給所述MCU 27處理。
進一步地,在圖3所示實施例的基礎(chǔ)上,微處理模塊25,具體用于根據(jù)至少兩個采集數(shù)據(jù)中的端口號,確定至少兩個接收視頻圖像數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)。
進一步地,在圖3所示實施例的基礎(chǔ)上,圖像預(yù)處理模塊24,具體用于對所述緩存中的每個原始圖像數(shù)據(jù)進行像素級圖像預(yù)處理,得到用于得到表征每個原始圖像數(shù)據(jù)的至少一個像素特征數(shù)據(jù),所述像素級預(yù)處理包括圖像格式轉(zhuǎn)換、降采樣、梯度計算中的至少一種。
圖4為本發(fā)明實施例提供的視頻圖像拼接系統(tǒng)實施例一的結(jié)構(gòu)示意圖,如圖4所示,本實施例提供的視頻圖像拼接系統(tǒng)包括:視頻圖像拼接裝置41和視頻圖像服務(wù)器42。
視頻圖像拼接裝置41包括:FPGA 43和DSP 44。
FPGA 43,包括:采集模塊45,用于從至少兩個與不同視頻圖像采集裝置連接的網(wǎng)絡(luò)接口分別接收至少兩個采集數(shù)據(jù);緩存控制模塊46,用于將所述至少兩個采集數(shù)據(jù)存儲在緩存中;圖像預(yù)處理模塊47,用于對所述緩存中的每個采集數(shù)據(jù)進行圖像預(yù)處理,得到用于表征每個采集數(shù)據(jù)的圖像特征的至少一個特征數(shù)據(jù)。
DSP 44,用于根據(jù)所述至少兩個采集數(shù)據(jù)的所有特征數(shù)據(jù),對所述緩存中的至少兩個采集數(shù)據(jù)進行拼接處理,得到拼接后的視頻圖像;通過與視頻圖像服務(wù)器連接的網(wǎng)絡(luò)接口將拼接后的視頻圖像傳輸至所述視頻圖像服務(wù)器,以使所述視頻圖像服務(wù)器顯示所述拼接后的視頻圖像。
視頻圖像服務(wù)器42,用于顯示拼接后的視頻圖像。
本實施例提供的視頻圖像拼接系統(tǒng)中,視頻圖像服務(wù)器42無需再進行視頻圖像的拼接處理,視頻圖像的拼接處理都在視頻圖像拼接裝置41中進行。視頻圖像服務(wù)器42可以僅用于在接收到拼接后的視頻圖像后,顯示該拼接后的視頻圖像,使用戶可以實時觀看到拼接后的視頻圖像。由于視頻圖像拼接裝置41由FPGA 43和DSP 44組成,分別利用FPGA 43和DSP 44的處理特性,實現(xiàn)了對視頻圖像的高速、實時拼接處理,提高了視頻圖像的拼接處理效率。
圖4所示視頻圖像拼接系統(tǒng)中,僅是對視頻圖像拼接裝置41從邏輯功能上進行了劃分,下面以一個具體的應(yīng)用場景對本發(fā)明實施例提供的視頻圖像拼接系統(tǒng)進行進一步說明。
圖5為本發(fā)明實施例提供的視頻圖像拼接系統(tǒng)實施例二的結(jié)構(gòu)示意圖,本實施例提供的視頻圖像拼接方法應(yīng)用于工業(yè)場景。
其中視頻圖像采集裝置為工業(yè)相機51,工業(yè)相機51采用GeVision協(xié)議進行數(shù)據(jù)傳輸。視頻圖像拼接裝置52包括FPGA 53和DSP 54,視頻圖像拼接裝置52中還包括第一存儲器55和第二存儲器56。FPGA 53進一步的可以劃分為多個功能模塊,包括以太網(wǎng)接口511、GeVision協(xié)議分析模塊512、緩存控制模塊513、圖像預(yù)處理模塊514、輸入輸出接口515、MCU516。DSP 54與視頻圖像服務(wù)器57連接。
FPGA 53通過各以太網(wǎng)接口511接收各工業(yè)相機51采集到的采集數(shù)據(jù),由MCU516控制各GeVision協(xié)議分析模塊512對接收到的采集數(shù)據(jù)進行協(xié)議轉(zhuǎn)換處理,GeVision協(xié)議分析模塊512根據(jù)采集數(shù)據(jù)的UDP端口號判斷采集數(shù)據(jù)為控制信號數(shù)據(jù)或原始圖像數(shù)據(jù)。若為原始圖像數(shù)據(jù)則通過緩存控制模塊513存儲至第一存儲器55,若為控制信號數(shù)據(jù)則由MCU516進行處理。MCU516對控制信號數(shù)據(jù)進行處理后再通過以太網(wǎng)接口511發(fā)送至各工業(yè)相機51。緩存控制模塊513串行或并行讀取第一存儲器55中存儲的原始圖像數(shù)據(jù),并送入圖像預(yù)處理模塊514。圖像預(yù)處理模塊514對輸入的原始圖像數(shù)據(jù)進行預(yù)處理,然后將預(yù)處理后的視頻圖像數(shù)據(jù)送入DSP 54進行拼接處理。DSP 54與第二存儲器56連接,用于存儲接收到的預(yù)處理后的視頻圖像數(shù)據(jù)以及存儲拼接后的視頻圖像數(shù)據(jù)。最后DSP 54將拼接后的視頻圖像數(shù)據(jù)傳輸至視頻圖像服務(wù)器57,完成視頻圖像拼接處理。為了提高DSP 54的處理能力,可以選擇多核DSP處理器進行處理。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。