百度文字识别具体处理

本文主要写百度文字识别中的常用的银行卡识别和身份证识别

1.在百度AI官网创建一个应用,记得把包名写对,以获取对应的API Key和Secret Key

2.下载识别sdk,根据开发文档中的要求放入所需内容

3.初始化(Applistion)

public class MyApplition extends Application {

    private Context context;
    @Override
    public void onCreate() {
        super.onCreate();

        this.context=getApplicationContext();

        OCR.getInstance(context).initAccessTokenWithAkSk(new OnResultListener<AccessToken>() {
            @Override
            public void onResult(AccessToken result) {
                // 调用成功,返回AccessToken对象
                String token = result.getAccessToken();
            }
            @Override
            public void onError(OCRError error) {
                // 调用失败,返回OCRError子类SDKError对象
            }
        }, getApplicationContext(), "你的AK", "你的SK");

    }
}

银行卡识别

bankcard.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        intent = new Intent(MainActivity.this, CameraActivity.class);
        intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH,
                social.milin.tech.photocard.FileUtil.getGivFile(getApplication()).getAbsolutePath());
        intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_BANK_CARD);
        startActivityForResult(intent, REQUEST_CODE_CAMERB);

    }
});

身份证识别(分为正面和反面)  //下面只是识别正面

mancard.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        Intent intent = new Intent(MainActivity.this, CameraActivity.class);
        intent.putExtra(CameraActivity.KEY_OUTPUT_FILE_PATH,
                social.milin.tech.photocard.FileUtil.getSaveFile(getApplication()).getAbsolutePath());
        intent.putExtra(CameraActivity.KEY_CONTENT_TYPE, CameraActivity.CONTENT_TYPE_ID_CARD_FRONT);
        startActivityForResult(intent, REQUEST_CODE_CAMERA);
    }
});

//获取返回结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE_CAMERA && resultCode == Activity.RESULT_OK) {
        if (data != null) {
            String contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE);
            String filePath = FileUtil.getSaveFile(getApplicationContext()).getAbsolutePath();
            if (!TextUtils.isEmpty(contentType)) {
                if (CameraActivity.CONTENT_TYPE_ID_CARD_FRONT.equals(contentType)) {
                    recIDCard(IDCardParams.ID_CARD_SIDE_FRONT, filePath);
                } else if (CameraActivity.CONTENT_TYPE_ID_CARD_BACK.equals(contentType)) {
                    recIDCard(IDCardParams.ID_CARD_SIDE_BACK, filePath);
                }
            }
        }
    }else if(requestCode == REQUEST_CODE_CAMERB && resultCode == Activity.RESULT_OK){
        if (data != null) {
            String contentType = data.getStringExtra(CameraActivity.KEY_CONTENT_TYPE);
            String filePath = FileUtil.getGivFile(getApplicationContext()).getAbsolutePath();
            if (!TextUtils.isEmpty(contentType)) {
                if (CameraActivity.CONTENT_TYPE_BANK_CARD.equals(contentType)) {
                    recIDCard2(filePath);
                } else if (CameraActivity.CONTENT_TYPE_BANK_CARD.equals(contentType)) {
                    recIDCard2(filePath);
                }
            }
        }
    }
}

身份证

private void recIDCard(String idCardSide, String filePath) {
    IDCardParams param = new IDCardParams();
    param.setImageFile(new File(filePath));
    // 设置身份证正反面
    param.setIdCardSide(idCardSide);
    // 设置方向检测
    param.setDetectDirection(true);
    // 设置图像参数压缩质量0-100, 越大图像质量越好但是请求时间越长。 不设置则默认值为20
    param.setImageQuality(20);
    //获取图片的结果
    OCR.getInstance(MainActivity.this).recognizeIDCard(param, new OnResultListener<IDCardResult>() {
        @Override
        public void onResult(IDCardResult result) {
            if (result != null) {
                name.setText("姓名:"+result.getName());
                mycard.setText("身份证号:"+result.getIdNumber());
                
            }
        }

        @Override
        public void onError(OCRError error) {
            
        }
    });
}

//银行卡

private void recIDCard2(String filePath) {
    BankCardParams param = new BankCardParams();
    param.setImageFile(new File(filePath));

    //获取图片的结果
    OCR.getInstance(MainActivity.this).recognizeBankCard(param, new OnResultListener<BankCardResult>() {
        @Override
        public void onResult(BankCardResult bankCardResult) {
            if (bankCardResult != null) {

                System.out.println("银行"+bankCardResult.getBankName());
                System.out.println("卡号"+bankCardResult.getBankCardNumber());

            }
        }

        @Override
        public void onError(OCRError ocrError) {

        }
    });

}

 

//上面所用到的FileUtil

public class FileUtil {
    public static File getSaveFile(Context context) {
        File file = new File(context.getFilesDir(), "pic.jpg");
        return file;
    }
    public static File getGivFile(Context context) {
        File file = new File(context.getFilesDir(), "conf.jpg");
        return file;
    }
}

就可以获取到相应信息了

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 百度文字识别.qmle是百度公司提供的一款文字识别工具,可以帮助用户轻松进行文字识别,并将识别结果以文本形式输出。要下载百度文字识别.qmle,首先需要打开百度官方网站,在搜索框中输入"百度文字识别.qmle下载",点击搜索按钮。在搜索结果页面中,会有多个下载来源,一般来说,官方来源是比较可信的。点击选择一个官方来源进行下载。下载过程中需要注意网络连接的稳定性,确保能够顺利完成下载。下载完成后,打开下载文件夹,找到.qmle文件,双击打开即可开始使用。百度文字识别.qmle具有良好的操作界面和易于使用的功能,用户可以选择图片、PDF等文件,进行文字识别,并可进行识别结果的编辑和保存等操作。无论是对于个人用户还是商业用户,百度文字识别.qmle都是一款非常实用的工具,能够帮助处理大量文本信息,提高工作效率。同时,百度也会不断地更新和升级这款工具,以提供更好的使用体验和更精准的文字识别功能。 ### 回答2: 百度文字识别.qmle是一种文本识别模型,可以通过百度开放平台进行下载和使用。 百度文字识别.qmle可以应用于文字识别场景,比如扫描文档、图片中的文字信息提取等。该模型基于深度学习技术,经过大量的数据训练和优化,能够在准确性和效率方面达到较高的水平。 要下载百度文字识别.qmle,首先需要在百度开放平台进行注册和登录。然后,在开放平台的“文本识别”功能模块中,可以找到相关的下载链接和文档说明。用户可以根据自己的需求选择合适的版本进行下载,一般来说,最新版本会包含更多的功能和优化。 下载完成后,可以根据官方提供的使用文档进行模型的加载和调用。一般来说,用户需要在自己的开发环境中配置好相应的开发工具和编程语言,比如Python。通过调用相应的API接口,用户可以将文本识别.qmle模型应用于自己的项目中,实现文字信息的提取和处理。 需要注意的是,在使用百度文字识别.qmle模型时,可能需要一定的调试和参数配置,以适应不同的应用场景和要求。用户可以根据具体的需求,通过调整模型的参数,来达到更好的效果。 总之,百度文字识别.qmle通过其准确性和高效性,在文字识别领域具有广泛的应用价值。用户可以通过百度开放平台下载和使用该模型,为自己的项目提供强大的文字识别功能。 ### 回答3: 百度文字识别.qmle是一个提供文字识别服务的软件,可以帮助用户将图片上的文字提取并转换成可编辑的文字文档。用户可以通过百度搜索或百度AI开放平台等渠道找到并下载这个软件。 百度文字识别.qmle具有快速、准确的文字识别能力。只需要将需要识别的图片通过该软件进行上传,它就能将图片中的文字进行识别并转换成可编辑的文字文档,非常方便。 该软件还具有较高的兼容性,支持识别多种图片格式,包括常见的JPG、PNG等格式,用户只需选择合适的图片格式进行上传即可。 除了文字识别功能,百度文字识别.qmle还提供了其他实用的功能,例如对OCR结果进行校正、文字矫正等,能够提高识别准确度和用户体验。 百度文字识别.qmle还提供了丰富的API接口,开发人员可以集成该功能到自己的应用中,实现自动化的文字识别处理,有助于提高工作效率和节省时间。 总之,百度文字识别.qmle是一款功能强大、易于使用的文字识别软件,通过它可以方便地将图片中的文字提取出来,帮助用户节省时间和精力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值