由于研究生毕业项目需要完成一个基于移动终端的场景文字识别系统,虽然离毕业尚早,但出于兴趣的缘故,近一段抽时间完成了这样一套系统。基本的架构如下:
客户端:Android应用实现拍摄场景图片,大致划出感兴趣文字区域,通过socket通信上传服务器端识别;
服务器端:Python server进行socket通信监听,连通后调用文字识别引擎(exe可执行程序),将识别结果返回;
下面是系统运行示例图:
1. 客户端
包含两个Activity,: MainActivity主界面如上图左1,选择拍摄后调用系统内部的拍照服务如上图左2;拍照完成进入KernelActivity如上图左3,大致划出感兴趣文字区域后上传服务器端,获取识别结果如上图左4。
客户端拍照和建立网络通信需要注意在AndroidManifestxml文件中声明权限
<!-- 授权使用相机 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 在SD卡中创建与删除文件的权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<!--