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