《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種帶有運動檢測功能的無線圖像監控終端
一種帶有運動檢測功能的無線圖像監控終端
余展然,彭楚武,黎福海,王 鑫
湖南大學 電氣與信息工程學院,湖南 長沙410082
摘要: 介紹了監控終端系統的構成,重點闡述圖像采集、運動檢測和GPRS無線數據傳輸的實現方法,將感興趣的監控圖像傳輸至監控中心,從而大大減少GPRS傳輸的數據流量,降低了成本,減輕了監控人員的工作強度。
Abstract:
Key words :

摘  要: 介紹了監控終端系統的構成,重點闡述圖像采集、運動檢測GPRS無線數據傳輸的實現方法,將感興趣的監控圖像傳輸至監控中心,從而大大減少GPRS傳輸的數據流量,降低了成本,減輕了監控人員的工作強度。
關鍵詞: ARM-Linux;GPRS;遠程監控Video4Linux;運動檢測 

  在需要數據傳輸的嵌入式系統上,無線傳輸方式已成為應用趨勢,而GPRS(General Packet Radio Service)具有永遠在線、快速登錄、高速傳輸等優點[1],被廣泛應用于通信系統、無線抄表、無線監控設備中。
  傳統的無線圖像監控系統,需要不間斷地把監控圖像傳送至監控中心,而這些監控圖像中的有用圖像卻只占少數,這就浪費了大量的數據流量,也增加了成本。同時,監控人員必須時刻注意監控畫面,這不僅枯燥乏味,而且很容易忽略掉重要的監控畫面。因此,開發一種能自動篩選出用戶感興趣的圖像并發送至監控中心的監控終端具有重要意義。
  本無線監控終端以三星公司的S3C2440A為主控芯片,移植了Linux操作系統。系統對USB攝像頭采集到的圖像進行運動檢測,如果有物體在監控區域內運動,則將監控圖像通過GPRS傳送至監控中心。由于只發送用戶感興趣的監控圖像,從而大大降低了無線數據傳輸中的數據流量,避免了傳統無線監控系統中因傳輸大量無用的監控圖像而造成的數據流量浪費,同時也減輕了監控人員因長時間監視監控圖像帶來的工作強度。
1 系統構成
  本系統由硬件、底層軟件和應用軟件三部分組成,系統結構如圖1所示。

  系統硬件的微處理器采用三星公司的S3C2440A處理器,該處理器內含一個ARM920T內核,標準工作頻率為400 MHz,內嵌豐富的外圍設備,片外擴展64 MB的Nandflash(型號:K9F1208D0A)和2片32 MB的SDRAM(型號為HY57V561620);攝像頭采用基于ZC301器件的奧尼S888,采用CMOS感光器件,48萬像素,最大分辨率為800×600,需要單獨安裝驅動程序。GPRS模塊采用華為公司的GTM900雙頻段GSM/GPRS無線模塊,它支持標準的AT命令及增強AT命令,內嵌TCP/IP協議,工作頻段為800 MHz/900 MHz/1 800 MHz/850 MHz/1 900 MHz。本系統采用RS232串口與S3C2440相連,SIM卡電壓為3 V。
 底層軟件由BootLoader(vivi)、嵌入式Linux內核(版本為2.6.17)、設備驅動程序、文件系統組成。在內核配置中,需要添加對視頻設備編程接口的支持,配置菜單路徑選擇Device Drivers->Multimedia device->Video for linux。
  應用軟件主要包括數據采集、運動檢測和圖像傳輸三部分。
2 應用軟件設計
2.1 基本流程
  應用軟件的核心模塊包括圖像采集模塊、運動檢測模塊和GPRS無線數據傳輸模塊。首先圖像采集模塊用USB攝像頭采集分辨率為320×240的圖像,然后運動檢測模塊采用改進的幀差法對采集到的圖像進行運動檢測。如果運動檢測模塊檢測出監控區域內有運動物體,則將有物體運動的圖像添加到圖像發送隊列,并喚醒GPRS數據傳輸線程,將隊列中的圖像發送至監控中心。當圖像發送隊列中的圖像全部被發送出去后,GPRS數據傳輸線程將置于休眠狀態。
2.2 Video4Linux的圖像采集
  Video4Linux是Linux中關于視頻設備的內核驅動,它為針對視頻設備(常見的電視捕獲卡及USB口的攝像頭)的應用程序編程提供一系列接口函數,同時也提供無線電通信和文字電視廣播解碼和垂直消隱的數據接口[2]。本文主要針對USB攝像頭設備文件/dev/video0進行圖像采集方面的程序設計。下面介紹主要步驟及部分代碼:
  (1)打開視頻設備
  int fd;  //為視頻設備的文件描述符
  fd=(open(“dev/video0”,O_RDWR));
  if(fd<0){  //打開失敗
  printf(“No Camera found!\n”);
  exit(-1);
  }
  (2)讀取設備信息
  ioctl函數將攝像頭的信息存放到結構videocap中,攝像頭信息主要包含名稱、類型、通道數、圖像寬度、圖像高度等。
  struct video_capability videocap;
  if(ioctl (fd,VIDIOCGCAP,&videocap) == -1){
  printf(″Couldn′t get videodevice capability″);
  exit(-1);
  }
  (3)更改設備當前設置
  設置圖像幀的屬性,將需要設置的屬性保存在結構體videopict中,主要包含圖像亮度、色彩、對比度、調色板參數等。
  if (ioctl (fd,VIDIOCSPICT,&videopict) < 0){
      printf(″Couldnt set videopict params with VIDIOCSPICT″);
          exit(-1);
  }
  (4)圖像采集
  圖像采集主要有2種方式:read()直接讀取和mmap()內存映射。本系統采用mmap()內存映射方式。
  vmmap.height=240;
  vmmap.width=320;
  vmmap.format=vd-> VIDEO_PALETTE_JPEG;
  ioctl (vd->fd,VIDIOCMCAPTURE,&(vd->vmmap);
  ioctl (vd->fd,VIDIOCSYNC,0);
  pFramebuffer=(unsigned char*) mmap(0,vd->videombuf.size,
  PROT_READ | PROT_WRITE,MAP_SHARED,vd->fd,0);
  第一個ioctl()設置了采集的圖像大小為320×240,圖像格式為JPEG;第二個ioctl()設置為單幀采集,再用mmap()函數將圖像數據映射到pFramebuffer指針所指的內存中。
2.3 運動檢測
  采集到監控圖像之后,就可進行運動檢測了。視頻圖像處理中,運動目標檢測方法主要有背景差分法、幀差法和光流法。本系統采用幀差法。其原理是:當監控區域內有物體運動時,在采集的圖像幀中,對應區域的像素值會發生明顯變化,這時只需將兩幀差分,得到兩幀圖像亮度差的絕對值。如果絕對值比所設定的閾值大,則區域內存在運動物體;反之,則不存在運動物體。用公式表達如下[3]:
 

  實際應用中,閾值T的選擇相當關鍵。如果閾值過低,則不能有效地抑制圖像中的噪聲;反之將抑制圖像中有用的變化信息。通常閾值的選擇與監控場景的光照和攝像頭位置等外界具體環境條件有關,不可能對不同監控環境設置相同的閾值。本文采用對不同的監控環境自動計算閾值,方法是在開始采集圖像前,先采集N幅背景圖像,將這些圖像亮度分量的平均值作為該監控環境的閾值。公式如下:
  

   本系統只需檢測出監控區域內有無物體運動,無需提取出對象的完整區域,因此只需在圖像差分時,統計大于閾值T的像素點數。如果像素點數超過報警閾值,表明有物體運動;反之則可能是光線變化或噪聲干擾。這樣不僅避免幀差法無法精確計算運動區域的缺點,同時也減輕了處理器的運算壓力。程序流程如圖2所示。

2.4 GPRS無線數據傳輸
   本系統的GPRS模塊主要用于將送入圖像發送隊列中的有運動物體的監控圖像傳輸至監控中心。數據的發送流程圖如圖3所示。

  GPRS模塊GTM900B的主要初始化流程為:配置APN->進入TCPIP功能->打開一條TCP鏈接,由于該模塊內嵌TCP/IP協議,直接操作AT指令就可實現數據傳輸,主要初始化部分代碼如下:
  SendData(″AT+CGDCONT=1,\″IP\″,\″CMNET\″″,13);
  … //檢查是否配置成功
  SendData(″AT%ETCPIP″,13);
  … //檢查是否進入tcpip
  SendData(″AT%IPOPEN=\″TCP\″,\″202.206.1.26\″,23″,13);
  …
  函數SendData()的功能是向串口設備發送數據。
  初始化時需注意兩點:
  (1)模塊上電20 s~30 s后再進行TCPIP相關命令的使用,因為模塊需要時間搜索網絡,以及相關信息初始化等。
  (2)使用AT%ETCPIP命令,當命令還沒有返回時,串口有任何輸入都會導致該命令強制結束,有%IPCLOSE:5的返回,表明模塊退出TCPIP功能,這時必須重新使用AT%ETCPIP進行TCPIP功能的打開操作。
  當GPRS模塊初始化成功后,模塊就已經接入Internet,此時就可進行無線數據傳輸了,主要操作AT指令:AT%IPSEND。需要注意的是,在設置AT%IOMODE=1的數據傳輸模式下,數據包大小不能超過1 024 K,因此一幅圖像須分割成多個數據包進行傳送,而且數據收發時需要進行ASCII和HEX的格式轉換。
3 測試結果
  實際測試時,監控環境的閾值計算值為11,報警閾值取1 000,灰度值轉換公式為gray=r×0.3+g×0.6+b×0.1,計算出的大于閾值的像素點有13 562個,大于報警閾值,GPRS模塊開始傳送圖像。試驗圖像如圖4所示。

  S3C2440A的核心工作頻率為406.425 MHz,當GPRS模塊空閑時,從采集兩幅320×240分辨率的圖像開始到運動檢測結束,時間約為55 ms,當GPRS忙時,時間約為115 ms,基本可以實現對有運動物體的監控圖像的捕捉。GPRS模塊發送一幅采集的JPEG圖像,在網絡正常情況下,系統延時通常不超過5 s。
  本文簡要介紹了無線監控終端的系統構成,詳細闡述了應用軟件的3個核心模塊的實現方法。試驗運行結果表明,本系統實現了將有運動物體的監控畫面傳輸至監控中心的要求,具有成本低、結構簡單等特點。與傳統的無線監控系統相比,本系統可大大降低無線數據傳輸中的數據流量,同時也省去了監控人員長時間監視監控圖像的工作。此外,本系統在軟硬件設計時充分考慮了不同用戶的需求,只需對軟硬件稍加擴展,就可實現將監控畫面或報警短信傳送至用戶的彩信手機,具有很好的使用和推廣價值。
參考文獻
[1] 里吉斯.通用分組無線業務(GPRS)技術與應用[M].北京:人民郵電出版社,2004.
[2] Alan Cox.Video4Linux Programming.2000.
[3] 李剛,邱尚斌.基于不背景差法和幀間差法的運動目標檢測方法[J].儀器儀表學報,2006(8):961-964.
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产精品19禁在线观看2021 | 色青青草原桃花久久综合 | 国内国语一级毛片在线视频 | 99国产精品欧美久久久久久影院 | 国产男女爽爽爽爽爽视频 | 久久精品视频8 | 亚洲国产激情一区二区三区 | 日本欧美一区二区三区片 | 成人性一级视频在线观看 | 亚洲美女视频网站 | 伊人天堂在线 | 亚洲一区二区中文 | 午夜伦y4480影院中文字幕 | 久久久成人网 | 国内视频一区二区 | 天天躁夜夜躁狠狠躁2024 | 大桥未久在线精品视频在线 | 国产一级片观看 | 八戒午夜精品视频在线观看 | 加勒比色 | 午夜性色福利视频在线视频 | 一级毛片不卡片免费观看 | 一级毛片中文字幕 | 欧美成人免费大片888 | 亚洲综合色在线观看 | 欧美成人午夜做爰视频在线观看 | 成人男女18免费o | 久草免费在线播放 | 97视频在线看 | 国产精品成人观看视频国产 | 又刺激又黄的一级毛片 | 国产欧美日韩亚洲精品区2345 | 男女上下爽无遮挡午夜免费视频 | 99视频在线| 欧美ab片| 国产女人在线观看 | 美女一级毛片免费观看 | 精品在线观看一区 | 欧美同性videos在线可播放 | 国产成人亚洲精品 | 久久国产精品无码网站 |