DSP嵌入式視頻監(jiān)測(cè)
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ù)寫到創(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編寫圖像顯示界面。把服務(wù)端采集的圖像傳送至接收端,如圖5所示。實(shí)驗(yàn)表明,系統(tǒng)每秒采集15幀圖像,沒(méi)有停頓感,滿足實(shí)時(shí)性要求。
本系統(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)用前景。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論