久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于S3C2410的的圖像采集系統

基于S3C2410的的圖像采集系統

作者: 時間:2012-03-09 來源:網絡 收藏

(5)對到的進行處理;

本文引用地址:http://cqxgywz.com/article/149480.htm

(6)關閉視頻設備。

本文編寫程序是在安裝Linux操作的宿主機PC機上進行的,之后再移植到開發板上。下面是具體論述。

之前我們講到了在V4L中定義的主要數據結構及其功能。對應著這些內容,我們需要對這些數據結構進行定義,以抽象化一個視頻設備。以下是具體的定義內容:

攝像頭、和關閉攝像頭的操作。采集程序中定義了如下的函數,以實現前面講到的功能。

intinit_videoIn(structvdIn*vd,char*device,intwidth,intheight,intgrabmethod);初始化攝像頭設備。*vd包含了之前定義的數據結構中的基本信息。另外還要對攝像頭采集的大小、采集模式等參數進行賦值。

intv4lGrab(structvdIn*vd,char*filename);采集圖像主程序。*filename為圖像的文件名,我們可以通過對文件名的設置來確定圖像保存的位置。

intclose_v4l(structvdIn*vd);關閉攝像頭intget_jpegsize(unsignedchar*buf,intinsize);采集圖像的大小。

因為我們是通過調用采集主函數intv4lGrab(structvdIn*vd,char*filename)來實現圖像的采集和保存的,所以需要詳細的講解一下該函數的構成。以下是該函數的具體內容:

首先,我們需要定義幾個參數,如下:

FILE*fp;定義一個文件類型指針,指向我們采集到的圖像文件intlen;

定義一個整型變量,記錄從內存中讀取的數據量intsize;

定義一個整型變量,指明一幀圖像的數據量interreur=0;定義一個整型變量,指明運行時的錯誤返回值intjpegsize;定義一個整型變量,指明我們需要的圖像大小。

接著我們調用read(vd->fd,vd->pFramebuffer,size)函數,把存放于圖像緩沖區的數據讀入到指定的臨時文件中。之后根據我們對圖像的大小、亮度、對比度等要求轉化之前采集到的圖像數據,最后我們打開一個文件,把圖像數據寫入到該文件中并保存。

4 結論

本文設計了一種嵌入式視頻采集,該小巧,并且在保證當前信息完整的情況下,盡可能少的占用存儲容量,實現了該系統的圖像采集、存儲和重現功能。在硬件規劃上,采用實用簡單的USB接口通信。且系統中預留了豐富的外設接口,便于今后的擴展升級。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉