• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于圖像處理的智能小車(chē)無(wú)線(xiàn)遠(yuǎn)程滅火

      2018-04-11 03:41:09范若怡宮若寧
      實(shí)驗(yàn)室研究與探索 2018年1期
      關(guān)鍵詞:小車(chē)火焰攝像頭

      張 錚, 范若怡, 宮若寧, 易 環(huán)

      (武漢大學(xué) 電子信息學(xué)院, 武漢 430072)

      Tel.:15907177506;E-Mail:zzhang2007@sina.com

      0 引 言

      隨著科學(xué)技術(shù)的高速發(fā)展,電子設(shè)備越來(lái)越呈現(xiàn)出智能化趨勢(shì)。智能小車(chē)體積小,操控簡(jiǎn)單,能夠自動(dòng)避障、循跡、遠(yuǎn)程傳輸圖像,在各領(lǐng)域都有廣泛的應(yīng)用。

      本文根據(jù)智能小車(chē)自動(dòng)滅火的需求,在一般的循跡避障等功能的基礎(chǔ)上,實(shí)現(xiàn)了自動(dòng)和手控的雙重滅火模式。小車(chē)通過(guò)WiFi與手機(jī)通信,實(shí)時(shí)傳輸攝像頭獲取的圖像幀,可手控滅火;另外,小車(chē)微處理器自動(dòng)對(duì)獲取到的圖像進(jìn)行圖像處理[1],并根據(jù)算法判斷是否為火源。在圖像預(yù)處理中,采用中值濾波對(duì)圖像進(jìn)行濾波,然后根據(jù)YUV顏色模型計(jì)算亮白區(qū)域,如識(shí)別出火源則計(jì)算出小車(chē)正方向偏離火源的程度,輸出PWM波控制小車(chē)轉(zhuǎn)向,自動(dòng)到達(dá)合適位置開(kāi)始滅火。

      1 硬件設(shè)計(jì)

      1.1 STM32F407ZE

      STM32f407ZE[2]是封裝的32位微處理器,主頻可以達(dá)到168 MHz,擁有ARMCortex-M4內(nèi)核,16個(gè)DMA控制器,1 MB的Flash內(nèi)存,196 KB的SRAM和64 KB的RAM。芯片在運(yùn)行中傳輸效率高,且能夠?qū)崿F(xiàn)低功效。STM32f407ZE帶有DCMI接口,能夠接收CMOS攝像頭傳輸?shù)牟煌袷綌?shù)據(jù)。

      DCMI數(shù)字?jǐn)z像頭[3]接口是一個(gè)同步并行接口,能夠接收外部8位、10位、12位或14位CMOS攝像頭模塊發(fā)出的高速數(shù)據(jù)流。從攝像頭接收的數(shù)據(jù)可以按行/幀來(lái)組織,也可以是一系列JPEG圖像。該接口適用于不同的攝像頭,并假定所有預(yù)處理都在攝像頭模塊中執(zhí)行。

      DMA直接存儲(chǔ)器訪(fǎng)問(wèn)[3]可用于在外設(shè)與存儲(chǔ)器之間提供高速數(shù)據(jù)傳輸,可以在無(wú)需CPU操作的情況下快速移動(dòng)數(shù)據(jù),節(jié)省出CPU資源。DMA控制器可以接收一個(gè)或多個(gè)外設(shè)的存儲(chǔ)器訪(fǎng)問(wèn)請(qǐng)求,每個(gè)控制器有8個(gè)數(shù)據(jù)流,每個(gè)數(shù)據(jù)流有多達(dá)8個(gè)通道。

      1.2 OV2640攝像頭

      OV2640[4]是OV(Omnivision)公司生產(chǎn)的低電壓COMS圖像傳感器,提供封裝的UXGA(1 632×1 232)攝像頭和圖像處理器,原理圖如圖1所示。它由串行總線(xiàn)SCCB控制,具有體積小、靈敏度高等優(yōu)點(diǎn),能夠提供全幀、子采樣、縮放或窗口的8位和10位的廣泛圖像格式。OV2640最大輸出像素為200 萬(wàn),可以控制輸出SXGA(1 280×1 024)、WXGA+(1 440×900))、XVGA(1 280×960)等。模塊自帶壓縮引擎,可以將圖片壓縮成JPEG數(shù)據(jù)格式輸出,支持YUV、RGB等輸出格式。圖像處理功能過(guò)程可以通過(guò)SCCB接口編程來(lái)實(shí)現(xiàn)。

      圖1OV2640 攝像頭原理圖

      SCCB是一種3線(xiàn)的串行總線(xiàn),可以控制攝像頭輸出圖像的全幀采樣。SCCB接口控制圖像傳感器芯片的運(yùn)行,其通信時(shí)序類(lèi)似于I2C協(xié)議。

      1.3 USB-WIFI232

      USR-WIFI232-S[5]是一款超低功耗、體積小、成本低的WiFi模塊,支持802.11b/g/n 無(wú)線(xiàn)標(biāo)準(zhǔn),用戶(hù)設(shè)備可以很方便地連接到WiFi無(wú)線(xiàn)網(wǎng)絡(luò)上,實(shí)現(xiàn)數(shù)據(jù)傳輸,原理圖如圖2所示。它在硬件上集成了MAC、基頻芯片、射頻收發(fā)單元和功率放大器,嵌入式的固件則支持WiFi協(xié)議及配置,以及組網(wǎng)的TCP/IP協(xié)議棧。USR-WIFI232實(shí)現(xiàn)串口到WiFi數(shù)據(jù)包的雙向透明轉(zhuǎn)發(fā),模塊內(nèi)部完成協(xié)議轉(zhuǎn)換,串口側(cè)串口數(shù)據(jù)透明傳輸,WiFi網(wǎng)絡(luò)側(cè)是TCP/IP數(shù)據(jù)包,可通過(guò)簡(jiǎn)單的設(shè)置指定其工作細(xì)節(jié)。Android手機(jī)APP通過(guò)WiFi連接小車(chē),控制小車(chē)的行動(dòng),并可以實(shí)時(shí)顯示從攝像頭中獲得的圖像幀。

      圖2WiFi模塊原理圖

      2 軟件設(shè)計(jì)

      2.1 圖像采集

      在圖像采集模塊[6],將OV2640 攝像頭采集到的圖像數(shù)據(jù)傳輸?shù)絊TM32f407ZE。STM32先對(duì)DCMI接口進(jìn)行初始化,配置DMA,實(shí)驗(yàn)中設(shè)置為連續(xù)模式、全幀捕獲、8位數(shù)據(jù)格式、硬件同步HSYNC和VSYNC信號(hào);然后初始化SCCB總線(xiàn),并通過(guò)SCCB總線(xiàn)設(shè)置OV2640的參數(shù),包括圖片格式、圖片輸出模式和圖片輸出尺寸等,實(shí)驗(yàn)中設(shè)置為YUV422格式、JPEG模式、SXGA分辨率(1 280×1 024)。

      OV2640初始化后,立即開(kāi)始DCMI采集 (初始化未開(kāi)始DMA傳輸)。OV2640的初始狀態(tài)機(jī)為OV2640_READY,第1次DCMI中斷后才會(huì)開(kāi)啟DMA傳輸,狀態(tài)機(jī)變?yōu)镈MA采集中OV2640_GATHERING。DCMI中斷接著調(diào)用ov2640_jpeg_data_process,表示DMA傳完1幀JPEG圖片,關(guān)閉DMA,狀態(tài)機(jī)變?yōu)?OV2640_TRANSFER,等待傳輸完成。DCMI中斷再次調(diào)用ov2640_jpeg_data_process,如果狀態(tài)機(jī)仍然是OV2640_TRANSFER則繼續(xù)等待傳輸完成。直至緩沖區(qū)的數(shù)據(jù)發(fā)送完成后,狀態(tài)機(jī)再次變?yōu)镺V2640_READY,如此循環(huán)。該DCMI幀中斷調(diào)用過(guò)程主要代碼如下:

      void ov2640_jpeg_data_process(void)

      {

      if(c_ov2640_state_machine==OV2640_GATHERING) //采集中,則表示采集完一幀

      {

      DMA_Cmd(DMA2_Stream1, DISABLE);//停止當(dāng)前傳輸

      while (DMA_GetCmdStatus(DMA2_Stream1) != DISABLE){}//等待DMA2_Stream1可配置

      m_jpeg_transfer_len = (JPEG_BUF_SIZE-DMA_GetCurrDataCounter(DMA2_Stream1))<<2;//得到此次數(shù)據(jù)傳輸?shù)拈L(zhǎng)度

      c_ov2640_state_machine = OV2640_TRANSFER; //標(biāo)記JPEG數(shù)據(jù)采集完成,改變狀態(tài)為傳輸中

      }

      if(c_ov2640_state_machine==OV2640_READY)

      {

      DMA2_Stream1->NDTR=JPEG_BUF_SIZE; //傳輸長(zhǎng)度為jpeg_buf_size*4字節(jié)

      DMA_Cmd(DMA2_Stream1, ENABLE);//開(kāi)始傳輸

      c_ov2640_state_machine = OV2640_GATHERING;//標(biāo)記數(shù)據(jù)采集中

      }

      }

      2.2 圖像處理與滅火

      2.2.1圖像處理算法

      實(shí)驗(yàn)采用蠟燭作為火源。對(duì)于高亮度的火焰的信號(hào)識(shí)別[7-8],常用的RGB模型識(shí)別會(huì)產(chǎn)生較大誤差。OV2640攝像頭模塊支持YUV模型[9],其中Y為亮度信號(hào),U、V為色差信號(hào)。采用YUV色彩空間的重要性在于它的亮度信號(hào)和色度信號(hào)是分離的,此特性可用于完整、準(zhǔn)確地得到圖像中的亮白區(qū)域。直接提取Y值即可識(shí)別火焰,使數(shù)據(jù)的處理過(guò)程得到簡(jiǎn)化,如圖3所示。

      由于從OV2640攝像頭直接獲取的圖像可能包含隨機(jī)噪聲等干擾,為了能夠準(zhǔn)確無(wú)誤地識(shí)別到火焰,先對(duì)圖形進(jìn)行中值濾波處理[10]。中值濾波[1,11-12]是基于排序統(tǒng)計(jì)理論的一種能有效抑制噪聲的非線(xiàn)性信號(hào)處理技術(shù)。這種濾波器的優(yōu)點(diǎn)是運(yùn)算簡(jiǎn)單而且速度較快,能較好地處理噪聲又能保護(hù)信號(hào)的細(xì)節(jié)信息。中值濾波是一種鄰域運(yùn)算,把鄰域中的像素按灰度等級(jí)進(jìn)行排序,然后選擇該組的中間值作為輸出像素值。首先確定一個(gè)以某個(gè)像素為中心點(diǎn)的鄰域,為使邊緣不被模糊,采用大小為1×3的滑動(dòng)窗口進(jìn)行濾波;然后將鄰域中3個(gè)像素的灰度值進(jìn)行排序,取其中間值作為中心點(diǎn)像素灰度的新值。中值濾波的輸出像素是由鄰域圖像的中間值決定的,因而中值濾波對(duì)極限像素值遠(yuǎn)不如平均值那么敏感,從而可以消除孤立的噪聲點(diǎn),又可以使圖像產(chǎn)生較少的模糊。

      圖3火焰識(shí)別流程圖

      對(duì)處理后的火焰圖片進(jìn)行分析,火焰中心的Y值很大,在250附近;而周?chē)h(huán)境的Y值基本低于200,因此選擇220作為判斷火源的界限。當(dāng)圖片像素點(diǎn)的Y值大于220時(shí),將該點(diǎn)的RGB值置為(255,255,255);反之,則置為(0,0,0),即做二值化處理,由此來(lái)得到火源的位置。

      小車(chē)攝像頭拍到的火焰如圖4所示,經(jīng)圖像處理后得到的二值化圖像如圖5所示。

      圖4 小車(chē)傳輸?shù)脑紙D像圖5 二值化后的圖像

      2.2.2滅火算法

      檢測(cè)到火焰后,為了得到小車(chē)與火焰的偏離程度,利用邊緣檢測(cè)法[13]計(jì)算火焰的中心位置。

      邊緣是圖像中灰度變化最明顯的地方,主要分為階梯形、屋頂形和線(xiàn)形邊緣。邊緣檢測(cè)利用不同區(qū)域圖像特征的差異檢測(cè)特征發(fā)生變化的位置,實(shí)現(xiàn)對(duì)象和背景的分離。常用的邊緣檢測(cè)算子有Roberts 算子、Sobel 算子、Prewitt算子等。經(jīng)二值化處理的圖像邊緣類(lèi)型為階梯形邊緣,邊緣兩邊的灰度值變化明顯,其灰度變化曲線(xiàn)的一階導(dǎo)數(shù)在邊緣處達(dá)到極大值[14]。由于實(shí)驗(yàn)僅需了解火焰水平方向上偏離小車(chē)的程度,所以只需使用水平方向上的一維階梯算子。實(shí)驗(yàn)采用[-1 1]算子對(duì)火焰進(jìn)行邊緣檢測(cè),該算法簡(jiǎn)單明了,大大簡(jiǎn)化了計(jì)算量,同時(shí)檢測(cè)出來(lái)的邊緣參數(shù)又能滿(mǎn)足要求。對(duì)于上述的[-1 1]模板,模板訪(fǎng)問(wèn)圖像中的每一個(gè)像素,中心點(diǎn)處的響應(yīng)為模板系數(shù)與被該模板覆蓋的區(qū)域中的灰度值的乘積。對(duì)梯度圖像進(jìn)行閾值處理,其值等于零的像素則顯示為黑色,而小于零或大于零的像素則顯示為白色。對(duì)圖像中所有像素執(zhí)行該操作后,得到火焰的邊緣像素。通過(guò)觀察發(fā)現(xiàn),該模板對(duì)于垂直線(xiàn)有最佳響應(yīng),方便尋找火焰縱向邊緣,計(jì)算橫向中心位置。

      在檢測(cè)出邊緣點(diǎn)之后,根據(jù)提取出來(lái)的圖像輪廓點(diǎn)的坐標(biāo)信息確定中心位置,由:

      可得第f行中心位置。其中:xi為像素點(diǎn)的橫坐標(biāo);pi為該像素點(diǎn)的灰度值,為0或1。計(jì)算中心位置xf的平均值x與圖像中心x0的位置偏差e=x-x0。當(dāng)eWidth/8,判定小車(chē)向右偏離火焰方向;當(dāng)e<-Width/8,判定小車(chē)向左偏離火焰方向。

      根據(jù)處理的結(jié)果,輸出控制信號(hào)到執(zhí)行機(jī)構(gòu)。執(zhí)行機(jī)構(gòu)接收控制信號(hào),通過(guò)調(diào)整PWM波輸出控制轉(zhuǎn)向舵機(jī)和直流電動(dòng)機(jī)[15],改變小車(chē)的運(yùn)動(dòng)狀態(tài)。若小車(chē)偏右,則向左旋轉(zhuǎn)0.2 s;若小車(chē)偏左,則向右旋轉(zhuǎn)0.2 s,直到小車(chē)正對(duì)火焰方向。當(dāng)小車(chē)正對(duì)火焰時(shí),打開(kāi)風(fēng)扇,進(jìn)行滅火。實(shí)現(xiàn)過(guò)程如圖6所示。

      圖6滅火流程圖

      2.3 無(wú)線(xiàn)遠(yuǎn)程操控

      通過(guò)Android SDK開(kāi)發(fā)軟件,根據(jù)通信協(xié)議,測(cè)試 APP按鈕下行命令,設(shè)計(jì)小車(chē)控制邏輯,編寫(xiě)各執(zhí)行函數(shù)。調(diào)試程序,使小車(chē)在APP控制下按預(yù)期行駛,啟停。調(diào)整圖片分辨率,使得終端APP顯示流暢的視頻流同時(shí)擁有一定的清晰度。在Android手機(jī)上安裝調(diào)試成功后的軟件,通過(guò)WiFi連接小車(chē),界面如圖7所示。通過(guò)APP控制小車(chē)前進(jìn)、后退和轉(zhuǎn)彎,控制機(jī)械手臂的動(dòng)作;APP按鈕命令控制攝像頭打開(kāi)或者關(guān)閉,攝像頭工作時(shí),將獲取到的圖像幀實(shí)時(shí)傳送給APP顯示,主要實(shí)現(xiàn)代碼如下:

      if(c_ov2640_state_machine==OV2640_TRANSFER )

      {

      //USART_Send_PC((u8*)a_jpeg_buf,m_jpeg_transfer_len);

      wifi232_send_pc((u8*)a_jpeg_buf,m_jpeg_transfer_len);

      c_ov2640_state_machine = OV2640_READY;

      }

      圖7 APP界面

      3 實(shí)物實(shí)驗(yàn)

      小車(chē)實(shí)物見(jiàn)圖8。根據(jù)智能小車(chē)的功能,搭建的測(cè)試賽道如圖9所示。小車(chē)經(jīng)直線(xiàn)行駛、循跡、顏色識(shí)別、避障后,進(jìn)入滅火執(zhí)行區(qū)域。小車(chē)在未識(shí)別到火焰時(shí)自動(dòng)旋轉(zhuǎn),識(shí)別到火焰后根據(jù)位置偏移e調(diào)整運(yùn)動(dòng)狀態(tài),直到正對(duì)火源,開(kāi)始滅火。此外,通過(guò)WiFi模塊實(shí)現(xiàn)手持終端的無(wú)線(xiàn)通信,并由手持終端實(shí)現(xiàn)對(duì)小車(chē)的控制,獲取小車(chē)攝像頭傳輸?shù)膶?shí)時(shí)圖像??梢酝ㄟ^(guò)手動(dòng)操控小車(chē),使小車(chē)行駛到任意位置,執(zhí)行任意可行操作,如利用機(jī)械臂運(yùn)輸、開(kāi)啟風(fēng)扇滅火等。

      圖8 小車(chē)實(shí)物圖

      圖9 賽道示意圖

      小車(chē)自動(dòng)化程度高,能夠自動(dòng)尋找并識(shí)別火源,按照預(yù)定的算法實(shí)現(xiàn)滅火;APP能夠方便地控制小車(chē),且靈敏度高,小車(chē)反應(yīng)快??傮w來(lái)看,小車(chē)很好地完成了預(yù)期功能,實(shí)驗(yàn)效果良好。

      4 結(jié) 語(yǔ)

      本文基于STM32微處理器、OV2640攝像頭及WiFi模塊,提出了一種智能小車(chē)無(wú)線(xiàn)遠(yuǎn)程滅火的方案,探討了圖像采集、圖像處理和無(wú)線(xiàn)遠(yuǎn)程操控的算法。實(shí)驗(yàn)表明,小車(chē)具有自動(dòng)處理圖像并識(shí)別火焰的功能,且通過(guò)無(wú)線(xiàn)終端實(shí)現(xiàn)了對(duì)小車(chē)的控制,有效提高了識(shí)別火焰的靈敏度和準(zhǔn)確性,增強(qiáng)了小車(chē)的可操控性。該系統(tǒng)運(yùn)行穩(wěn)定,效果良好,智能化程度高,可以廣泛地應(yīng)用于消防等領(lǐng)域。

      參考文獻(xiàn)(References):

      [1]Rafael G, Richard W. Digital Image Processing[M]. 3rd ed. Publishing House of Electronics Industry, 2010.

      [2]孫龍,朱磊. 基于STM32F4的無(wú)線(xiàn)視頻監(jiān)控器設(shè)計(jì)[J]. 信息通信,2016(10):143-145.

      [3]黃健,羅國(guó)平,杜麗君. 基于STM32F407平臺(tái)OV2640驅(qū)動(dòng)程序設(shè)計(jì)[J]. 通訊世界,2015(19):246-247.

      [4]王建,梁振濤,鄭文斌,等. STM32和OV2640的嵌入式圖像采集系統(tǒng)設(shè)計(jì)[J]. 單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2014(9):46-48.

      [5]易翔. 基于Android的室內(nèi)監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2015.

      [6]賀榮峰, 張祺, 蔡松濤,等. 基于STM32的嵌入式遠(yuǎn)程圖像監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 工業(yè)控制計(jì)算機(jī), 2016, 29(6):16-17.

      [7]蘇毅. 基于圖像處理的火焰識(shí)別與特征參數(shù)提取算法研究[D].合肥:安徽理工大學(xué),2013.

      [8]Chen Ying, Wu Ai-Guo. Software design of fire detection system based on image processing[J]. Low Voltage Apparatus, 2006(1):7-9.

      [9]仇國(guó)慶,陳軍鴿,李明,等. 基于圖像特征的火焰識(shí)別與檢測(cè)技術(shù)研究[J]. 自動(dòng)化與儀器儀表,2012(3):25-27.

      [10]楊太任, 劉海剛, 項(xiàng)華珍,等. 圖像采集與處理在攝像頭尋跡小車(chē)上的應(yīng)用[J]. 電子科技, 2014, 27(12):52-57.

      [11]王香菊. 基于中值濾波和小波變換的圖像去噪方法研究[D].西安:西安科技大學(xué),2008:11-12.

      [12]龔聲蓉,劉純平,王強(qiáng). 數(shù)字圖像處理與分析[M]. 北京:清華大學(xué)出版社, 2006.

      [13]王祥好. 模糊PID控制算法在智能小車(chē)中的研究與應(yīng)用[D].合肥:合肥工業(yè)大學(xué),2009:33-34.

      [14]陳宇云. 灰度圖像的邊緣檢測(cè)研究[D].成都:電子科技大學(xué),2009:1-2.

      [15]王立謙,汪小志,林衛(wèi)國(guó). 農(nóng)業(yè)激光自動(dòng)采摘定位機(jī)器人控制系統(tǒng)設(shè)計(jì)——基于PID控制[J]. 農(nóng)機(jī)化研究,2015(9):211-216.

      猜你喜歡
      小車(chē)火焰攝像頭
      《火焰》
      浙江首試公路非現(xiàn)場(chǎng)執(zhí)法新型攝像頭
      最亮的火焰
      攝像頭連接器可提供360°視角圖像
      大車(chē)?yán)≤?chē)
      自制小車(chē)來(lái)比賽
      漂在水上的火焰
      劉老師想開(kāi)小車(chē)
      文苑(2018年22期)2018-11-19 02:54:18
      兩輪自平衡小車(chē)的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2018年8期)2018-06-26 06:43:02
      吹不滅的火焰
      學(xué)與玩(2017年6期)2017-02-16 07:07:22
      安龙县| 镇雄县| 时尚| 九寨沟县| 商南县| 西畴县| 柯坪县| 蒲江县| 赣榆县| 清原| 锦屏县| 清徐县| 甘泉县| 蓝田县| 资中县| 通江县| 永定县| 集贤县| 万盛区| 饶阳县| 河南省| 中阳县| 法库县| 星座| 澄江县| 图们市| 海盐县| 呼伦贝尔市| 阜宁县| 桑植县| 珠海市| 东兰县| 东城区| 光泽县| 瑞金市| 龙口市| 吉首市| 司法| 普格县| 三都| 瑞昌市|