首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
基于Linux的虚拟试妆系统设计
来源:本站整理  作者:佚名  2011-09-03 08:00:32



    默认的内核开发包并不能直接使用,需针对本系统进行移植修改,主要内容如下:
    (1)custom_FPGA.h中的串口宏定义和config.c中使用的宏定义不同,将config.c中关于串口0的宏定义UART0_*改为UART_0_*。
    (2)/dev/mmcblk* 系列设备的主设备号与注册时不一致,导致挂载操作失败,解决办法是将"nios2-linuxuClinux-dist/vendor/ALTEra/nios2/devICe-table.txt"中关于mmcblk*的主设备号修改为179。
    图4所示为本系统进行的内核配置。

    在所有配置中,需要特别注意以下几点:
    (1)内核配置菜单中,需将默认的“Nios II Configuration--->Nios II FPGA Configuration(MMU DEFAULT)”修改为“Nios II FPGA Configuration(CUSTOM_FPGA)”。
    (2)为防止内核解压缩内容覆盖内核压缩文件,设置“Nios II Configuration--->Link address offset for booting”为0x00F00000。
3.2 应用程序开发
3.2.1 图形库移植

    FTK是Funny Tool Kit的缩写,是一个专门为嵌入式系统开发的图形库,其核心代码只有几百KB,在传统控件基础上可开发自定义控件,具有主题设置功能[3]。FTK支持Linux系统,因此在发行版Linux操作系统上安装FTK函数库只需下载相应代码,编译安装即可。而Nios II平台移植FTK需解决以下几个问题:
    (1)Nios II平台下png和jpeg编解码函数库无法使用,同时FTK的bmp解码函数采用定义整形指针的方式,如“(*(unsigned int*)0x01000000)”对内存进行访问会触发异常中断。解决方法为移除FTK对png和jpeg格式的支持并修改ftk_image_bmp_decoder.c代码,将4字节指针访问修改为4个单字节指针访问。
    (2)Nios II平台通过触摸屏设备进行人机交互。解决办法:内核开发包中开启tslib函数库而FTK源代码进行configure配置时添加“--enable-tslib”参数。
3.2.2 交互界面设计
    虚拟试妆系统包含唇彩试妆和自由试妆两大功能。在唇彩试妆功能中,用户首先要选择进行试妆所需的唇部影像,然后用户需手动确定唇部区域,接着进入商品挑选环节。自由试妆同样也要经历以上步骤。图5所示为试妆软件功能界面划分的思路及程序流程图。

    FTK界面开发包含以下几部分工作:
    (1)调用ftk_init进行初始化。调用ftk_app_window_create函数创建窗口,设置控件的大小及位置;
    (2)使用类似ftk_XXX_set_clicked_listener函数关联控件和响应函数。试妆系统每个功能下均有多个界面通过按钮进入,因此在响应函数中需通过调用ftk_app_window_create或ftk_dialog_create创建新的界面;
    (3)设计自定义控件,包括用户浏览图片控件、描唇控件等。
    FTK应用程序要在系统硬件平台上运行,RAM文件系统中至少需要具备四部分内容:FTK动态函数库、tslib函数库、FTK配置文件(字体、主题、输入法)以及应用程序。动态函数库在编译后会出现在RAM文件系统的lib目录中,而FTK配置文件需通过修改rc脚本使Linux内核初始化完毕后从SD卡中拷贝到内存中。图6总结了FTK应用程序在Nios II平台上运行必备条件及设置方法。


    详细介绍了本系统的硬件架构和Linux开发方法,侧重阐述了Linux系统运行的最小SoPC系统搭建,利用Altera大学计划IP构建触摸屏显示子系统、摄像头影像采集和存储模块的实现以及Linux内核配置和应用程序开发的重要细节。采用移植的FTK图形库完成虚拟试妆软件编写。实践表明,该系统运行稳定流畅,效果良好。
参考文献
[1] 祝秀萍,刘文峰,张海峰.人脸虚拟化妆系统的研究[J].计算机与信息技术,2008(8):38-42.
[2] KyLEDunn.Creating a Nios II design with an MMU[EB/OL].http://www.alterawiki.com/wiki/Creating_a_Nios_II_Design_with_an_MMU,2011.
[3] 李先静.FTK开发者邮件列表[EB/OL].https://groups.google.com/group/funnytoolkit,2011.

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:94,117.19000 毫秒