APP下载

触屏交互的图像处理实验平台设计

2018-04-11越,

实验室研究与探索 2018年2期
关键词:触屏图像处理串口

周 越, 李 响

(上海交通大学 计算机视觉与模式识别研究所, 上海 200240)

0 引 言

现有的数字图像处理课程实验大多是在计算机上运行的程序示例[1-3],虽然学生可以自由进行代码编写、调试,利用互联网获取丰富资源,但是实验设计往往都以单纯掌握一个算法为目的,而且只是注重算法结果,并不能培养学生应用算法解决问题的能力。在这种模式下,很难实现图像处理课程对学生解决问题、获取资源、合作沟通等多种能力培养的支撑[4]。因此有必要开发一款图像处理的实验平台,配合以成果为导向的课程设计,将图像处理算法应用到实际工程中,增加学生对图像处理算法的直观认识,培养学生使用算法解决复杂系统问题的能力,增强学生对图像处理的兴趣与好奇心[5-7]。

1 实验平台整体设计

随着搭载触摸屏的智能设备逐渐普及,运行的软件、游戏也日渐丰富、广为流传。其中一些游戏不仅本身具有很强的趣味性,也非常适合应用图像处理等技术,实现计算机自动攻略游戏。本平台便以此目的设计,提供从图像处理到触屏操作的一整套实验平台,实验平台的结构如图 1所示。

图1 实验平台结构框图

在本实验平台中,使用一台PC作为上位机,目的为攻略一台触屏设备(Android或iOS系统)上的游戏。上位机通过局域网、USB等方式连接到触屏设备,获取设备显示的实时影像,通过图像处理等相关算法生成对设备的操作指令,发送到通过USB连接的实验平台执行机构,执行机构将按照指令点击、拖动触屏设备,完成一个周期的操作。

在该实验平台中,学生只需关注图像处理算法,即可快速搭建可用的系统,非常适合作为图像处理课程的课程设计开展。结合硬件,特别是自动攻略手机、平板电脑上的游戏,相对于传统的图像处理实验,对学生有较大的吸引力。

2 触屏交互部分硬件设计

为了模拟人与触屏设备的交互,本平台设计了如图 2的执行机构。该机构使用12 V直流电源(配置220 V电源转换器),通过通用串行总线(USB)与上位计算机通信,可以模拟人单指对触屏的点击、拖动等操作。

图2 触屏操作设备的设计渲染图

机构框架由2020与2040铝合金型材组合而成,配合厚亚克力板组成可以在平面两个方向的滑动的行走机构。行走机构由共计3台42步进电机驱动,最高速达到80 mm/s,使用同步轮与同步带定位,往复精度优于0.2 mm。行走机构最末端配置执行器滑块,承载触摸器。触摸器由直线往复式电磁铁与触摸笔组合而成,电磁铁通电时带动触摸笔降下,实现对触屏的点击等操作。

机构底层控制使用开源硬件Arduino CNC控制板[8],该控制板配合搭载ATMega328芯片的ArduinoNano开发板,可以将通过USB传输的上位机指令转化为运动控制信号。通过A4983驱动芯片开发板输出调制好的步进电机驱动信号,控制3台步进电机与电磁铁执行相应操作。ArduinoNano开发板上搭载了开源嵌入式运动控制软件Grbl,将USB传输的符合G-code标准的上位机指令解析为各个引脚上的PWM信号,再通过驱动电路解析为步进电机的脉冲信号。整个机构的底层控制结构如图 3所示。

图3触屏操作设备各部件连接图

机构运作时,将含触屏的智能设备放在上层面板上,调整设备与触笔之间的高度并对齐坐标系原点,将机构打开接入上位机之后,即可通过上位机对机构发出指令,实现对触屏的点击、拖动等操作。

整套机构设计时使用开源硬件与软件,使用的各零件绝大部分为符合行业标准的通用件,结构简单,成本低廉,易于使用和维护,同时达到了可观的性能,适合大量采购,满足大规模课堂教学的需求,该执行机构已获国家实用新型专利授权(专利号2016201772460)。

3 实验平台软件设计

为了配合实验平台的执行机构运作,维持整个实验平台发挥作用,上位机运行实验平台软件。该软件按照C++11标准编写,使用开源版QT组成图形显示界面及辅助功能。软件主体包括三部分:串口通信模块,图像输入模块和图像处理模块。

串口通信模块负责上位机与前文介绍的执行机构的通讯,通过USB连接之后建立虚拟串口,通过不断发送符合G-code的串口指令,即可实现对机构的控制。该模块包含串口驱动与G-code翻译模块,可以将使用者对机构的运动意图翻译为设备可理解的协议代码并发送。其他模块也可以通过此模块使得机构作出相应运动。本模块的配套界面如图 4所示,左侧为日志窗口,便于开发者了解程序运行状态与执行机构状态;右侧除了基本的连接/断开按钮之外,还集成了简单的运动控制界面,方便使用者对执行机构状态进行调试。

图4串口通信模块界面

图像输入模块负责将智能设备上的图像输入程序,便于图像处理模块进行判读操作。软件设计兼容Android与iOS双平台:在第三方软件、服务的配合下,这两个系统的设备屏幕上的视频影像都可以输入到本程序中。图 5演示了图像输入模块的软件界面,在本界面使用者可以方便选择输入影像的设备,并对影像参数进行调整。同时软件还支持将当前系统中的窗口作为视频源输入,提高了软件使用的自由度。

在使用沼肥时,尤其要注意肥分损失的问题。据测定,沼液肥施于地表,不覆土,2 d后铵态氮损失达50%以上。沼渣肥在露天堆放晒干,全氮损失65%左右,氨态氮损失87%[3]。所以,在施用沼肥后,应作覆土处理或加入过磷酸钙,以减少肥分的损失。取出的沼渣最好用草皮泥进行堆制,以减少肥分散失。

图5图像输入模块界面

图像处理模块是本平台的核心模块,也是参与课程的学生唯一需要重点关注的软件模块。该模块承接图像输入模块导入的图像,通过学生自行设计的图像处理算法,得到对当前图像的判读、处理结果,继而向串口通信模块发送指令,指挥执行机构进行期望的操作。

软件使用C++开发,便于调用OpenCV等图像处理类库[9-11],方便学生不失效率地进行图像处理操作;使用如QT[12]、FFMPEG[13]等广为人知的开源类库,方便学生查找相关资源;同时各个模块各自独立,编码风格统一,学生仅需关注图像处理模块即可实现整个系统功能,适合学生快速实现自己的想法,开发可以达到课程设计要求的项目。

实验平台软件依照GPL3.0协议开源,项目地址https://github.com/LostXine/qtCyberDIP。

4 应用成果

依托本文介绍的实验平台开展数字图像处理课程设计,伴随图像处理课程教学改革并作为成果导向教育的中最为重要的环节,已经投入了两个学年的教学使用。在实际应用过程中,该平台以优秀的性能,丰富的拓展性和极高的自由度,获得了绝大多数参与课程学生的认同与积极参与。学生基于该平台,应用课堂上学到的甚至自学的图像处理知识,开发出了丰富多彩的游戏攻略软件,实现了一批如色彩数独、拼图、植物大战僵尸等游戏的自动攻略项目。与此同时,学生切实感受到了图像处理技术的神奇,加深了对课程的理解,培养了自己的动手能力与解决复杂系统问题的能力,在OBE理念[14-15]的指导下践行了图像处理课程对毕业能力的支撑。在平台实际使用过程中,学生总结并分享了很多设备运用的小技巧,也提出了一些设备改进的意见与建议,这些不仅将作为实验课程持续改进的重要来源,也从侧面体现出学生对课程设计的积极参与,体现出本实验平台对课程建设的价值。

5 结 语

针对传统图像处理实验形式单一、内容抽象、不注重应用等问题,本文从软硬件两个方向共同开发了基于触屏交互的图像处理实验平台。通过该平台学生可以实现对手机、平板电脑等触屏设备的可控操作,整套平台成本低廉,使用维护方便,可靠性高,依托该平台开展的图像处理游戏自动攻略课程设计,既提供了应用图像处理技术的契机,使学生可以切实体会到图像处理技术在实际工程中的应用;又不失趣味性,不断引导、激励学生自主学习、合作沟通,在实验进行中达到培养能力的目的。本实验平台支撑图像处理课程教学改革两年时间,涌现出很多优秀的学生作品,受到了学生广泛认可,很好地服务了教学改革的课程设计环节,为今后课程教法的持续升级奠定了坚实的基础。

参考文献(References):

[1]袁小平, 王艳芬, 史良. 基于 Matlab 的《数字信号处理》 课程的实验教学[J]. 实验室研究与探索, 2002, 21(1): 58-60.

[2]肖龙飞, 李金龙, 杨凯, 等. 基于 MATLAB 的数字图像处理教学软件的设计[J]. 信息技术, 2014, 38(12): 185-187.

[3]杨顺辽, 李泽军. 基于Visual C++的数字图像处理实验软件开发[J]. 国土资源高等职业教育研究, 2007(2):25-28.

[4]柏均, 闫红梅, 张鸣. Matlab 在 “数字图像处理” 课程教学中的利弊分析[J]. 电气电子教学学报, 2010, 32(2): 82-83.

[5]王汉萍, 于海生, 王英, 等. “数字图像处理” 实验体系模块化的研究[J]. 实验室研究与探索, 2008, 27(12): 31-33.

[6]韩智, 张振虹. “数字图像处理” 实验课教学改革与实践[J]. 实验室研究与探索, 2008, 27(9): 102-104.

[7]蒋伟, 官礼和, 刘亚威. 数字图像处理创新实验的研究与实践[J]. 实验室研究与探索, 2011, 30(7): 236-238.

[8]D'Ausilio A. Arduino: a low-cost multipurpose lab equipment[J]. Behavior Research Methods, 2012, 44(2):305-313.

[9]Bradski G. The opencv library[J]. Doctor Dobbs Journal, 2000, 25(11): 120-126.

[10]Bradski G, Kaehler A. Learning OpenCV: Computer vision with the OpenCV library[M]. O'Reilly Media, Inc., 2008.

[11]Baggio D L. Mastering OpenCV with practical computer vision projects[M]. Packt Publishing Ltd, 2012.

[12]Blanchette J, Summerfield M. C++ GUI Programming with Qt 4[M]. Prentice Hall PTR, 2008.

[13]Bellard F, Niedermayer M. FFmpeg[J]. Availabel from: http://ffmpeg. org, 2012.

[14]柏晶, 谢幼如, 李伟,等. “互联网+”时代基于OBE理念的在线开放课程资源结构模型研究[J]. 中国电化教育, 2017(1):64-70.

[15]程超, 刘诗琼, 刘红岐,等. 基于OBE理念修订人才培养方案——以西南石油大学勘查技术与工程专业为例[J]. 中国地质教育, 2016(1):41-44.

猜你喜欢

触屏图像处理串口
浅谈AB PLC串口跟RFID传感器的通讯应用
触屏玻璃的数控成型磨削工艺研究与设计
触屏学习是孩子的生活常态
基于ARM嵌入式的关于图像处理的交通信号灯识别
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
触屏
基于图像处理的定位器坡度计算
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索