欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    嵌入式课设报告w.docx

    • 资源ID:1255281       资源大小:35.25KB        全文页数:24页
    • 资源格式: DOCX        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式课设报告w.docx

    HubeiAutomotiveIndustriseInstitute实训说明书课程名称嵌入式系统课程设计设计题目基于Qt的视频实时显示设计班号专业计算机科学与技术学号学生姓名指导教师(签字)起至日期组收年9月7日2015年9月30日一目的与要求31.1 课设目的31.2 任务概要313基本要求31.3 的内容32.1 设计原理32.1.1 video41inux简介42.1.2 Video41inux下视频编程的流程42.2 设计步骤4三总体方案设计43.1 系统功能描述43.2 开发工具及开发环境53.3 基本原理53.3.1 摄像功能53.3.2 图片处理5四功能实现64.1 摄像功能64.1.1 类定义64.1.2 函数定义64.2 图片处理9五测试与调试125.1 整体性能测试125.2 各功能测试125.2.1 拍照135.2.2 图片处理功能14总结与体会15参考文献15-目的与要求通过本课程设计,提高学生的分析问题、解决问题的能力,巩固嵌入式系统的基本理论知识,进一步了解和掌握课程中所讲授的概念、方法。同时通过本课程设计,全面综合应用所学过的基础知识,建立一个完整的嵌入式系统的开发过程的概念,并掌握其中的主要原理和方法。1.1 课设目的本课程设计的目的是通过开发一个摄像头的驱动程序,使学生了解嵌入式产品开发的主要步骤,包括驱动程序的设计,从而培养学生独立完成比较复杂的实际系统设计的能力。1.2 任务概要熟悉V41.2相关概念及编程方法;熟悉使用Qt与V41.2结合编程方法。使用QT与V41.2结合编程来开发一个摄像头的驱动实现视频实时显示功能,并实现相应的图形处理功能。1.3 基本要求(1)完成摄像头驱动,实现视频的实时显示功能;(2)截取视频中的一帧,并对其进行任意图像变换,可选择放大、缩小、扭曲、旋转、灰度化、二值化、均值滤波、中值滤波、频域变换和直方图分析等。二设计的内容2.1 设计原理2.1.1 VideO41inux简介Video41inux(简称V41.),是IinUX中关于视频设备的内核驱动,现在已有Video4linux2,还未加入IinUX内核,使用需自己下载补丁。在1.inUX中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在dev/videoO下。2.1.2 VideO41inux下视频编程的流程 打开视频设备: 读取设备信息 更改设备当前设置(没必要的话可以不做) 进行视频采集,两种方法:(1)内存映射(2)直接从设备读取 对采集的视频进行处理 关闭视频设备。2. 2设计步骤(1)在实验箱上接入罗技C270摄像头。(2)将Camera.tar.gz解压至U/OPtzFriendIyARMexpqt下。(3)分析VideOdeViCe.叩P和VideOdeViCe.h学习使用C+封装V41.2驱动的方法。分析PrOCeSSlmage.cpp中使用V41.2进行动态图像显示的方法。(5)进行任意图像变换,可选择拉伸、收缩、扭曲、旋转、灰度化、二值化、均值滤波、中值滤波、频域变换和直方图分析。三总体方案设计3.1系统功能描述本系统采用QT与V41.2结合编程方法,实现的主要功能有:(1)用外接的USB摄像设备来采取实时图像,并将其显示在开发板的1.ED屏幕上。(2)通过点击1.ED屏幕来完成拍照,截取一帧图片,并显示照片。(3)对照片或者默认图片进行处理,即放大、缩小、旋转、扭曲、灰度化等。3. 2开发工具及开发环境(1)计算机环境:XP系统,VM8.0,1.inux系统(虚拟机)。(2)试验箱环境:DYV-I型嵌入式车载多媒体试验箱。(3)其他工具:串口线(连接PC机与试验箱),摄像头(USB接口)。(4)相关资料:摄像头驱动程序代码(Camera.targz)。3. 3基本原理1 .3.1摄像功能帧率:每秒从视频设备中读取的次数,可以自行调整。分辨率:图像像素分布的密集程度,本系统中的分辨率初始值设置为320*240。拍照:从保存视频的缓存区中取出一帧,并将其显示并保存文件格式。本系统中的图片格式为*JPG。3 .3.2图片处理(1)放大:将图片的宽和高同比放大任意倍数。将像素对应的灰度值放在原坐标系乘以放大系数得到的新坐标系中,从而实现图片的放大。图片的放大系数越大,得到的放大图像越大,相应的新图像单位面积内的像素点就少,所以图像放大的越大,图像越模糊。(2)缩小:将图片的宽和高同比缩小任意倍数。将像素对应的灰度值放在原坐标系除以缩小系数得到的新坐标系中,从而实现图片的缩小。图片的缩小系数越大,得到的缩小图像越小,相应的新图像单位面积内的像素点就多,所以图像缩小的越小,图像越清楚。(3)旋转:将图片往规定方向旋转任意角度。图像的旋转过程中坐标系的变换:输出坐标系一数学坐标系一旋转一输出坐标系。(4)灰度化:图像上的像素都是有RGB3位整形数据组成的灰度值。RGB分别对应色光三原色中的红绿蓝,每种颜色的范围都是0255。如果图像的R、G、B都为0,则图像只有单一的黑色,如果图像的R、G、B都是255,则图像只有单一的白色,如果图像中的每一个像素都有R=G=B,则图像就是灰色的,也就是我们要得到的灰度化图像。因此,图像的灰度化只要处理图像使其R=G=B即可。(5)二值图像是指每个像素不是黑就是白,其灰度值没有中间过渡的图像。二值图像一般用来描述文字或者图形,其优点是占用空间少,缺点是,当表示人物,风景的图像时,二值图像只能描述其轮廓,不能描述细节。这时候要用更高的灰度级。(6)边缘:图像增强处理的一种。它是将遥感图像(或影像)相邻像元(或区域)的亮度值(或色调)相差较大的边缘(即影像色调突变或地物类型的边界线)处加以突出强调的技术方法。经边缘增强后的图像能更清晰地显示出不同的物类型或现象的边界,或线形影像的行迹,以便于不同的物类型的识别及其分布范围的圈定。1.s-x:将图像横向放大(8)1.s-y将图像纵向放大(9)直方均衡化变换:设灰度变换s=f(r)为斜率有限的非减连续可微函数,它将输入图象Ii(x,y)转换为输出图象Io(x,y),输入图象的直方图为Hi(Ir),输出图象的直方图为Ho(三),则根据直方图的含义,经过灰度变换后对应的小面积元相等:Ho(三)ds=Hi(r)dr四功能实现4.1 摄像功能4.1.1classVideoDeviceipublicQObjectQjDBJECTpublic:VideoDevice(QStringdev_name);初始化视频设备intOPen_device();打开设备intCIOSe_device();关闭设备intinit_device();载入设备的参数信息int3tart_capturing();开始捕获图像intStOP_capturing();停止捕获intUninit_device();/卸载设备intget_frame(void*,size*);/获取帧intUnge1.frame();停止获取private:intinitjnmap();将信息写入内存空间structbuffer/定义缓存空间(void*start;size_tlength;);QStringdev_name;intfd;buffer*buffers;unsignedintn_buffers;intindex;signals:voiddisplay_error(QString);4.1.2函数定义#include<QtGui>#include,processlmage.h,'#include,videodevice.h11#include"ui_processlmage.h"extem"CnIinclude<stdio.h>#include<stdlib.h>Processimage:ProcessImage(QWidget*parent):QWidget(parent)加载驱动Pp(unsignedChar*)malloc(320240/*QWidget:width()*QWidget:height()*/*3*sizeof(char);painter=newQPainter(this);/捕捉视频画面frame=newQImage(pp,320,240,QImage:Format_RGB888)/frame=newQPixmap(320,320);connect(vd,SIGNA1.(display-error(QString),this,S1.OT(display_error(QString);/将信号与S1.OT连接rs=vd->open-device();if(-l=rs)tQMessageBox:warning(this,tr(',error,'),tr(11opendevdsperror"),QMessageBox:Yes);vd->close_device();)rs=vd->init-device();if(-l=rs)(QMessageBox:warning(this,tr("error"),tr("initfailed,1),QMessageBox:Yes);/显示提示错误信息框vd->close-device();rs=vd->start-capturing();if(-l=rs)(QMessageBox:waming(this,tr("error"),tr("startcapturefailed"),QMessageBox:Yes);vd->close-device();8if(-l=rs)QMessageBoxwaming(this,tr(',error',),tr(',getftamefailed"),QMessageBox:Yes);vd->stop_capturing();timer=newQTimer(this);connect(timer,SIGNA1.(timeout(),this,S1.OT(update()window->show();Processimage:ProcessImageO/析构函数(rs=vd->stop_capturing();rs=vd->uninit_device();rs=vd->close_device();4.2 图片处理(1)拍照voidProcessimage:paizhao()beishu=1.0;seita=O;rs=vd->get_frame(void*)&p,&len);convertyuvtorgbbuffer(p,pp,320,240);/从视频的缓存区中提取一帧frame->loadFromData(uchar*)pp*len*320*240*3*sizeof(char);/将提取的帧提取为Qimage形式并放在指定的空间中frame->save("123.jpg");/保存所拍的照片img->load123.jpg");/将图片保存为*.jp

    注意事项

    本文(嵌入式课设报告w.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开