a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于Linux的嵌入式視覺系統設計方案

基于Linux的嵌入式視覺系統設計方案

作者: 時間:2012-10-18 來源:網絡 收藏

內存映射:char* memoryMap = (char*)mmap (0,memoryBuffer.size, PROT_READ PROT_WRITE,MAP_SHARED, device, 0);

圖像數據: memoryMap + memory Buffer.offsets[bufferIndex]

4.2 圖像顯示程序

采用直接將數據寫入FrameBuffer 中來顯示圖像。FrameBuffer 設備是運行在 控制臺上的一個優秀的圖形接口,幾乎支持所有硬件,提供了統一的API 接口,很好地實現了硬件無關性。FrameBuffer的設備節點是/dev/fb* , 在編譯內核時選中FrameBuffer.LCD 顯示程序流程圖如圖4 所示:

圖4 圖像顯示程序流程圖

圖4 圖像顯示程序流程圖

應用程序編寫完之后,用交叉編譯環境對這個文件進行編譯,沒有錯誤后可生成cam 可執行文件。然后把cam 拷貝到根目錄下的bin 文件夾,在主機windows 超級終端下輸入命令:

#ln -s /dev/v4l/video0 /dev/video0

# cam 640 480 16 video0

就可以在屏幕上看到采集的圖像了。樣機如圖5 所示。

圖5 嵌入式視覺系統樣機。

圖5 系統樣機。

5 系統性能測試

S3C2410 控制板的I/O 口資源有限,因此,對圖像采集的控制信號線采用普通I/O 口,而不是用中斷I/O 口與其攝像頭模塊相連,因此只能用軟件實時檢測I/O 的電平狀態,決定何時采集開始,何時讀數據,何時結束。為了采集到圖像數據并能分辨出來,必須能夠跟蹤控制信號的變化狀態。

由于I/O 口的電平的變化頻率遠低于攝像頭控制信號的變化頻率,如果不對攝像頭模塊進行降頻處理,這將導致I/O 口無法跟蹤控制信號變化,即將無法判斷幀、行、點何時開始與結束等狀態信息。當攝像頭的最高頻率(點象素頻率最高)降到1MHZ 左右,系統就能跟蹤并完整的采集到圖像信息,進一步處理之后完好的顯示出來。圖6 是示波器對幀、行、點信號及Y0 信號的波形圖。

圖6 信號波形圖。

圖6 信號波形圖。

從上圖可以看出,系統的控制信號非常完整和穩定,沒有出現毛刺、變形等情況,給檢測讀取帶來了好處。Y0 的波形圖有些段是低電平,出現的位置不一樣,是因為攝像頭移動時,環境光發生了變化,引起整個Y 數據變化。

表1 采集到的實驗數據(示波器采用x10 檔)。

表1 采集到的實驗數據(示波器采用x10 檔)。

把示波器調整到x10 檔,在不同情況下,多次采集YSYN 信號、HREF 信號、PCLK 信號的峰-峰值、平均值、周期、頻率等數據,從Y0~Y7 中選擇Y0信號進行觀察。從數據中可以看出各信號的峰-峰值變化幅度不大,尤其是信號的頻率比較穩定。Y0 數據信號很規整,那么其他數據信號如Y1~Y7 也是如此。

多次實驗數據如下表1 所示。

測試硬件性能穩定之后,在 系統下把圖像采集、圖像顯示和保存圖像命令寫成一個腳本,放在文件系統etc/init.d 目錄下。重新把文件系統下載到開發板里,當開機啟動后,系統會自動執行圖像采集、顯示和保存。

6 結論

本文主要S3C2410 開發板和 操作系統視覺系統。該視覺系統不僅可以較好地實現圖像采集和顯示,還可實現圖像存儲、網絡獲取圖像等功能,并且可以在該基礎上研究圖像處理等算法。與PC 組合的視覺系統相比,結構簡單,體積和重量減小,功耗低,可移植性強、功能擴展方便,成本顯著降低,所以對這種嵌入式視覺系統研究具有相當重要的實用價值。

linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關推薦

技術專區

關閉