资料介绍
摘要:本文主要介绍了利用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次阅读
下载排行
本周
- 1TPS54202H降压转换器评估模块用户指南
- 1.02MB | 7次下载 | 免费
- 2华瑞昇CR215芯片数字万用表原理图
- 0.21 MB | 1次下载 | 3 积分
- 3SMD LED选型目录 灯珠手册
- 5.36 MB | 1次下载 | 免费
- 4Tiva C系列DK-TM4C129X入门指南
- 1.69MB | 1次下载 | 免费
- 5电涌保护器(SPD)的选择、安装以及装配
- 4.57 MB | 1次下载 | 免费
- 6时源芯微EMC前车灯案例
- 458.59 KB | 1次下载 | 免费
- 7bq25890、bq25892双级联充电器EVM(PWR692)用户指南
- 2.02MB | 1次下载 | 免费
- 8TPS54426降压转换器评估模块用户指南
- 847.7KB | 次下载 | 免费
本月
- 1ADI高性能电源管理解决方案
- 2.43 MB | 156次下载 | 免费
- 22024PMIC市场洞察
- 2.23 MB | 63次下载 | 免费
- 3开关电源设计原理手册
- 1.83 MB | 30次下载 | 免费
- 4智能门锁原理图
- 0.39 MB | 28次下载 | 免费
- 5OAH0428最新规格书(中文)
- 2.52 MB | 15次下载 | 7 积分
- 6ST7789V2单芯片控制器/驱动器英文手册
- 3.07 MB | 9次下载 | 1 积分
- 7LTH7充电电路和锂电池升压5V输出电路原理图
- 0.04 MB | 7次下载 | 免费
- 8TPS54202H降压转换器评估模块用户指南
- 1.02MB | 7次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183334次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多