摘要:
目前,硬币是世界上流通频率最高的货币之一。所以,如果能设计一款可以自动计算硬币总金额的APP,将会给硬币计数带来很大的方便,节省很多时间和人力。本文对硬币自动清算的方法进行了深入研究。提出了一种硬币自动清算的方法。本论文将硬币自动清算系统的研究分为三个部分来进行。第一部分,编写图像识别程序。由于硬币材质的特殊性,手机在拍摄时硬币容易反光,这会使硬币的识别率降低,在此次研究的过程里面,为了降低硬币反光对识别率的影响,因为HSV颜色空间对指定颜色进行分割时有很大的作用,所以将RGB颜色空间转换成为HSV颜色空间之后再进行颜色分割。首先根据颜色特征分割开5毛钱硬币与1毛和1元钱硬币,然后根据大小特征分割开1毛与1元钱硬币,对硬币进行大小特征提取分割时,采用的是随机画圆的方法。第二部分,设计Android APP。在系统中,Android界面按钮的功能与图像识别的程序实现功能交互,手机拍摄的一张图片,经过图像处理的程序进行处理后,由于光线等干扰,图像处理程序不能识别所有的硬币或者会出现识别错误,在Android界面中可以实现手动修改,从而使最终的结果没有偏差,提高识别率。第三部分,调节图像识别程序与APP之间的接口。图像识别程序和Android APP都设计好以后,需要使Java程序能够调用图像识别程序,这时采用的是JNI协议,该协议用来沟通Java代码和本地C/C++代码,通过该协议,Java代码可以调用图像识别代码,最终将图像识别程序导入到Java代码中。最后用NDK技术将.so文件和Java程序一起打包成apk安装包。本文在以下三个方面进行了创新设计:(1)设计出一套独立的硬币自动计数系统;(2)设计特征提取算法对硬币进行分割;(3)将图像识别程序与APP相结合,在功能上实现交互,提高整套系统的识别率。最后,对所研究内容欠缺的地方以及以后如何发展做了总结和展望。
展开