基于Android平台的身份证识别技术

基于Android平台的身份证识别技术

最近公司提出了一个要求通过摄像头扫描身份证实现读取身份证号码的需求,看了一下网上的SDK大多都是收费的,也看了好几篇博客决定使用tess-two来做

  • 1.去下载tess-two库文件
    个人不会C++有会的可以自己下载源文件编译,我是使用的是已经编译好的aar
    compile 'com.rmtheis:tess-two:7.0.0'
  • 2.获取摄像头返回的数据
    这里有两种思路,要么写一个定时器比如一秒抓拍一张,或者把相机返回的YUV数据转换成bitmap,看需求吧
  • 3.图像处理
    首先把彩图转换成灰度图,然后二值化,调用。

    if (bitmap==null) {
    Log.e("MainActivity","bitmap为空");
    return;
    }
    bitmap= ImageFilter.bitmap2Gray(bitmap);
    bitmap=ImageFilter.grayScaleImage(bitmap);
    File root =new File( Environment.getExternalStorageDirectory(),"tessdata");
    File f = new File(root,"chi_sim.traineddata");
    String path=f.getAbsolutePath();
    api.init( Environment.getExternalStorageDirectory().getAbsolutePath(),"chi_sim");
    api.setDebug(true);
    api.setImage(bitmap);
    String text = api.getUTF8Text();
    Log.e("TAG",text);
    bitmap.recycle();
    api.end();

    结论
    毕竟不是专业做图像识别的,识别效率略低,并且识别不一定准确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值