資料介紹
摘要:本文主要介紹了利用QTE在嵌入式Linux下通過USB接口開發圖像采集和打印,詳細給出了在Samsung公司ARM9處理器S3C2410開發板上硬件、軟件的設計和構建過程,并對如何控制攝像頭和處理打印機信息,以及圖形界面的編寫、開發和移植進行了具體討論。
關鍵詞:Qt/Embedded;嵌入式Linux;圖像采集;打印機
1引言
隨著計算機與信息技術迅猛發展,嵌入式系統產品已經成為現在市場的熱點。而在嵌入式操作系統方面,Linux同目前廣泛的嵌入式系統如Vxwork、UC/OS、Palm OS和Windows CE等相比,具有可移植性好、網絡性強、編譯工具多、開放源碼等優點,逐漸成為嵌入式系統的研究熱點和廣泛使用的平臺。
Qt/Embedded 是著名的Qt 庫開發商 Trolltech公司開發的面向嵌入式系統的Qt 版本,開發人員多為K D E 項目的核心開發人員。許多基于Qt 的X Window 程序可以非常方便地移植到Qt/Embedded 上,延續了在X 上的強大功能,在底層摒棄了X lib而采用了framebuffer?作為底層圖形接口。Qt/Embedded 類庫完全采用C++ 封裝。豐富的控件資源和良好的可移植性是Qt/Embedded的優勢,使用X 下的開發工具Qt Designer可以直接開發基于Qt/Embedded 的UI(用戶操作接口)界面。本文便是在嵌入式Linux系統的s3c2410平臺上,主要是基于QTE而通過控制USB設備,實現可視化圖像圖片處理和打印。
2 可視化打印的硬件系統
硬件結構原理圖如圖1所示:
?
圖1硬件結構原理圖
本系統采用的嵌入式微處理器是Samsung公司的S3C2410是一種集成了ARM公司ARM920T處理器核的16/32位微控制器。Flash存儲器采用Samsung公司的K9F1208U0M Nand Flash存儲器,存儲容量為64MB;SDRAM存儲器采用HY57V561620CT,大小為32MB;USB集線器芯片采用ALCOR MICRO公司AU9254A21型號的USB集線器芯片;觸摸屏采用Sharp公司的3.5寸LCD液晶屏, 320×240的分辨率。
3 可視化打印的具體實現
3.1 可視化打印的圖像采集實現
在可視化視頻采集QTE編程中,需要對內存進行讀寫,過程如下:首先打開視頻設備,攝像頭在系統中對應的設備文件為/dev/video0,采用系統調用函數video_fd =open("/dev/ov51l/video0", O_RDWR),video_fd是設備打開后返回的文件描述符(打開錯誤返回-1),以后的系統調用函數就可使用它來對設備文件進行操作了。利用ioctl (video_fd, VIDIOCGMBUF, &vid_buf)函數讀取有關攝像頭的信息,該函數成功返回后,這些信息從內核空間拷貝到用戶程序空間vid_buf各成員分量中。在這里我們采用mmap()系統調用使得進程之間通過映射同一文件實現共享內存,各進程可以像訪問普通內存一樣對文件進行訪問,訪問時只需要使用指針而不用調用文件操作函數。最后通過使用QTE的時間函數QTimerEvent()和點操作函數QPoint()來進行實時顯示,相關代碼如下:
Void Video::timerEvent( QTimerEvent * ){
. . . . . . . . . . .
int X_off;//定義屏幕上的橫坐標
int Y_off;//定義屏幕上的縱坐標
FrameBuffer *fb;Video *v;QFrame frame;//定義需要的參數
QPoint p = frame->mapToGlobal(QPoint(X_off, Y_off));//找到屏幕的相應點
unsigned char *Map = v->Getmap24(width, height); //獲得視頻信息
fb->Drawmap(Map, p.x(), p.y(), width, height);//視頻顯示
. . . . . . . . . . .}
打印請求
這樣在我們的LCD顯示器的相應位置便可以看到攝像頭的顯示了,如果想要對圖片進行存儲,同樣地可直接對內存數據進行讀取。?
關鍵詞:Qt/Embedded;嵌入式Linux;圖像采集;打印機
1引言
隨著計算機與信息技術迅猛發展,嵌入式系統產品已經成為現在市場的熱點。而在嵌入式操作系統方面,Linux同目前廣泛的嵌入式系統如Vxwork、UC/OS、Palm OS和Windows CE等相比,具有可移植性好、網絡性強、編譯工具多、開放源碼等優點,逐漸成為嵌入式系統的研究熱點和廣泛使用的平臺。
Qt/Embedded 是著名的Qt 庫開發商 Trolltech公司開發的面向嵌入式系統的Qt 版本,開發人員多為K D E 項目的核心開發人員。許多基于Qt 的X Window 程序可以非常方便地移植到Qt/Embedded 上,延續了在X 上的強大功能,在底層摒棄了X lib而采用了framebuffer?作為底層圖形接口。Qt/Embedded 類庫完全采用C++ 封裝。豐富的控件資源和良好的可移植性是Qt/Embedded的優勢,使用X 下的開發工具Qt Designer可以直接開發基于Qt/Embedded 的UI(用戶操作接口)界面。本文便是在嵌入式Linux系統的s3c2410平臺上,主要是基于QTE而通過控制USB設備,實現可視化圖像圖片處理和打印。
2 可視化打印的硬件系統
硬件結構原理圖如圖1所示:
?
圖1硬件結構原理圖
本系統采用的嵌入式微處理器是Samsung公司的S3C2410是一種集成了ARM公司ARM920T處理器核的16/32位微控制器。Flash存儲器采用Samsung公司的K9F1208U0M Nand Flash存儲器,存儲容量為64MB;SDRAM存儲器采用HY57V561620CT,大小為32MB;USB集線器芯片采用ALCOR MICRO公司AU9254A21型號的USB集線器芯片;觸摸屏采用Sharp公司的3.5寸LCD液晶屏, 320×240的分辨率。
3 可視化打印的具體實現
3.1 可視化打印的圖像采集實現
在可視化視頻采集QTE編程中,需要對內存進行讀寫,過程如下:首先打開視頻設備,攝像頭在系統中對應的設備文件為/dev/video0,采用系統調用函數video_fd =open("/dev/ov51l/video0", O_RDWR),video_fd是設備打開后返回的文件描述符(打開錯誤返回-1),以后的系統調用函數就可使用它來對設備文件進行操作了。利用ioctl (video_fd, VIDIOCGMBUF, &vid_buf)函數讀取有關攝像頭的信息,該函數成功返回后,這些信息從內核空間拷貝到用戶程序空間vid_buf各成員分量中。在這里我們采用mmap()系統調用使得進程之間通過映射同一文件實現共享內存,各進程可以像訪問普通內存一樣對文件進行訪問,訪問時只需要使用指針而不用調用文件操作函數。最后通過使用QTE的時間函數QTimerEvent()和點操作函數QPoint()來進行實時顯示,相關代碼如下:
Void Video::timerEvent( QTimerEvent * ){
. . . . . . . . . . .
int X_off;//定義屏幕上的橫坐標
int Y_off;//定義屏幕上的縱坐標
FrameBuffer *fb;Video *v;QFrame frame;//定義需要的參數
QPoint p = frame->mapToGlobal(QPoint(X_off, Y_off));//找到屏幕的相應點
unsigned char *Map = v->Getmap24(width, height); //獲得視頻信息
fb->Drawmap(Map, p.x(), p.y(), width, height);//視頻顯示
. . . . . . . . . . .}
打印請求
這樣在我們的LCD顯示器的相應位置便可以看到攝像頭的顯示了,如果想要對圖片進行存儲,同樣地可直接對內存數據進行讀取。?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 如何使用USB2.0和FPGA實現圖像采集和存儲系統的設計論文 17次下載
- 如何使用USB實現眼科B超圖像實時采集與處理系統的設計 11次下載
- 如何使用USB實現眼科B超圖像實時采集與處理系統的設計 2次下載
- 如何使用FPGA與USB實現CMOS圖像獲取與采集系統的設計論文說明 3次下載
- 基于Linux下基于ARM920T的USB攝像頭圖像采集 13次下載
- 基于USB2.0的CMOS圖像采集系統的設計 21次下載
- 基于FPGA與USB的CMOS圖像獲取與采集系統設計 23次下載
- 基于USB的高清彩色CCD圖像采集系統 73次下載
- Linux下基于ARM920T的USB攝像頭圖像采集 70次下載
- 基于USB的線陣CCD圖像采集系統 154次下載
- 圖像采集與處理系統的USB通信接口設計
- 基于嵌入式Linux圖像采集恢復和應用
- 基于USB的焊縫圖像采集系統的設計
- 基于Video4Linux2的圖像采集程序設計
- 嵌入式Linux視頻采集系統的設計與實現
- Linux 驅動開發與應用開發,你知道多少? 119次閱讀
- 工業相機該選擇哪種圖像采集卡? 137次閱讀
- 機器視覺圖像采集卡及其接口概述 332次閱讀
- USB接口的ESD防護方案 4017次閱讀
- ROS系統讀取USB相機圖像數據 573次閱讀
- USB設備在Linux系統中的識別和加載過程 4142次閱讀
- 連接到您的圖像采集設備 685次閱讀
- Xilinx FPGA JTAG接口轉換成USB接口的方法 1.6w次閱讀
- 沁恒股份USB-PS2鍵盤/條碼槍數據采集方案介紹 2552次閱讀
- 凌華科技推出了業界首款支持PoE接口的圖像采集卡 1260次閱讀
- linux環境下如何開發51單片機 基于codeblocks和SDCC 4429次閱讀
- 基于STM32F103的USB數據采集模塊的設計 2w次閱讀
- 基于CH375的USB移動存儲接口設計 3987次閱讀
- 基于ARM Linux的圖像采集與藍牙傳輸 2112次閱讀
- 基于FPGA的圖像采集模塊設計 3081次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多