主頁(yè)(http://www.130131.com):基于DSP的嵌入式視頻監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(2)
ioctl(fd_ppi,CMD_PPI_GET_VIDEOIN,&video_in) (3)獲取影像信息 利用相應(yīng)的ioctl()函數(shù)取得影像支持信息,包含設(shè)備采集圖像的各種屬性參數(shù)(色調(diào)、亮度、飽和度、對(duì)比度、色相等); ioctl(fd_ppi,CMD_PPI_SET_0V7660,&pictures) (4)關(guān)閉視頻設(shè)備利用close()函數(shù)關(guān)閉PPI視頻設(shè)備。 if(fd_ppi)close(fd_ppi); 2.3.2 數(shù)據(jù)格式的轉(zhuǎn)化 本系統(tǒng)開(kāi)始采集攝像頭數(shù)據(jù),將數(shù)據(jù)轉(zhuǎn)化為YUV420格式,在PC上顯示的時(shí)候采用的是RGB565格式,因此在采集完畢之后必須進(jìn)行圖像數(shù)據(jù)的格式轉(zhuǎn)換。 RGB與YUV之間可以相互轉(zhuǎn)化,對(duì)應(yīng)關(guān)系如下:
根據(jù)上述關(guān)系可以通過(guò)編程實(shí)現(xiàn)數(shù)據(jù)格式的轉(zhuǎn)化。 2.3.3 圖像的捕捉 在PPI_ov7660中采用直接讀取的方法,直接讀取方法比較簡(jiǎn)單,通過(guò)調(diào)用read()函數(shù),將輸入的圖像數(shù)據(jù)復(fù)制到內(nèi)核緩沖區(qū)中,就可以實(shí)現(xiàn)對(duì)每幀圖像的讀取。過(guò)程如下: (1)通過(guò)調(diào)用函數(shù)malloc()為采集的圖像數(shù)據(jù)分配內(nèi)存; in_buff=(unsigned char*)malloc(IMG_SIZE) (2)通過(guò)調(diào)用read()函數(shù)將前端采集的圖像數(shù)據(jù)讀到in_buf中; Fd=read(fd_ppi,in_buff,IMG_SIZE) (3)通過(guò)調(diào)用write()函數(shù)將內(nèi)存中的圖像數(shù)據(jù)寫(xiě)到創(chuàng)建的一個(gè)file里。 fd=fopen(“pic”,“wb”)fwrite(in_buff,l,nOutputBytes,fd) 3 圖像的網(wǎng)絡(luò)傳輸與顯示 在uClinux平臺(tái)上采用服務(wù)器/客戶端模型通過(guò)建立TCP套接字來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)的連接,本系統(tǒng)通過(guò)基于TCP協(xié)議的socket編程,完成了圖像數(shù)據(jù)的發(fā)送和客戶端的接收程序。流程圖如圖4所示。 
以網(wǎng)絡(luò)上PC機(jī)為客戶端,用VC編寫(xiě)圖像顯示界面。把服務(wù)端采集的圖像傳送至接收端,如圖5所示。實(shí)驗(yàn)表明,系統(tǒng)每秒采集15幀圖像,沒(méi)有停頓感,滿足實(shí)時(shí)性要求。圖5 系統(tǒng)采集界面顯示 
本系統(tǒng)以B1ackfin533為數(shù)據(jù)處理核心,依托數(shù)字圖像處理技術(shù)和DMA技術(shù),并通過(guò)以太網(wǎng)與上位機(jī)通信進(jìn)行數(shù)據(jù)傳輸,完成了一個(gè)完整的視頻監(jiān)測(cè)系統(tǒng)。其設(shè)計(jì)特點(diǎn)為結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低、圖像分辨率高、成本低廉、結(jié)合網(wǎng)絡(luò)布線。本系統(tǒng)滿足實(shí)時(shí)行要求,具有很大的應(yīng)用前景。
(中國(guó)集群通信網(wǎng) | 責(zé)任編輯:陳曉亮) |