Android tessdata识别本地图片

tessdata(github语言包下载有问题,页面打不开,估计文件过大的原因)
参考:https://github.com/alexcohn/tess-two
tessdata语言包下载

tessdata 语言包百度云盘下载
demo
提取码:5m92

1·添加远程依赖
build.gradle文件 中将tess-two添加为外部依赖项

dependencies {
    implementation 'com.rmtheis:tess-two:9.1.0'
}

2·功能代码

public class MainActivity extends AppCompatActivity {
    static final String TAG="图片识别";
    private TessBaseAPI tessBaseAPI;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tessBaseAPI= new TessBaseAPI();
        /*
        参数一:路径下 需要有tessdata 语言包
        (例如:/sdcard/Download/tessdata/eng.traineddata)
        参数二: 设置识别语言包
        chi_sim:简体中文
        eng:英文
        * */
        boolean bl=tessBaseAPI.init("/sdcard/Download/", "eng");
        if(!bl){
            Toast.makeText(this,"初始化失败",Toast.LENGTH_LONG).show();
            return;
        }
        findViewById(R.id.ts).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String url = "/sdcard/Pictures/test.png";
                Bitmap bitmap = BitmapUtil.uriToBitmap(url);//获取 本地图片

//                bitmap=BitmapUtil.lineGrey(bitmap);//
//                String url3 = "/sdcard/Download/线性灰度化.png";//
//                BitmapUtil.bitmapToUri(bitmap,url3);//保存图片

                bitmap = BitmapUtil.getGrayBitmap(bitmap);//灰度化图片 ,提高 识别准确率
                String url1 = "/sdcard/Download/灰度化图片.png";
                BitmapUtil.bitmapToUri(bitmap,url1);//保存图片

//                    bitmap = BitmapUtil.bitmapTwoValue(bitmap); //二值化 后 识别 效果 不好
//                    String url2 = "/sdcard/Download/二值化处理.png";
//                    BitmapUtil.bitmapToUri(bitmap,url2);//保存图片
                /*设置模式 提高 识别率:
                    PSM_SINGLE_BLOCK:垂直对齐
                    PSM_AUTO:全自动页面分割,但没有OSD。
                    PSM_SINGLE_COLUMN:大小可变的文本
                    PSM_SINGLE_BLOCK:假设一个统一的文本块。(默认设置)
                * */
                tessBaseAPI.setPageSegMode(TessBaseAPI.PageSegMode.PSM_SINGLE_COLUMN);
                //传入等待识别的图片
                tessBaseAPI.setImage(new File(url1));

                //识别结果
                String utf8Text = tessBaseAPI.getUTF8Text();
                Log.i(TAG, "识别结果:" + utf8Text);

                //释放识别结果
                tessBaseAPI.clear();
            }
        });

    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        //释放tessBaseApi
        tessBaseAPI.end();
    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值