<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Linux的嵌入式視覺(jué)系統設計方案

基于Linux的嵌入式視覺(jué)系統設計方案

作者: 時(shí)間:2012-10-18 來(lái)源:網(wǎng)絡(luò ) 收藏

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

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

4.2 圖像顯示程序

采用直接將數據寫(xiě)入FrameBuffer 中來(lái)顯示圖像。FrameBuffer 設備是運行在 控制臺上的一個(gè)優(yōu)秀的圖形接口,幾乎支持所有硬件,提供了統一的API 接口,很好地實(shí)現了硬件無(wú)關(guān)性。FrameBuffer的設備節點(diǎn)是/dev/fb* , 在編譯內核時(shí)選中FrameBuffer.LCD 顯示程序流程圖如圖4 所示:

圖4 圖像顯示程序流程圖

圖4 圖像顯示程序流程圖

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

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

# cam 640 480 16 video0

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

圖5 嵌入式視覺(jué)系統樣機。

圖5 系統樣機。

5 系統性能測試

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

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

圖6 信號波形圖。

圖6 信號波形圖。

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

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

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

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

多次實(shí)驗數據如下表1 所示。

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

6 結論

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

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

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>