Closed flycumt closed 4 years ago
你给出的信息太少了。你是在点下屏幕拍照之前还是之后崩溃的?要是能给出具体的抛出的异常信息就更好了。
对准线框以后,手指点击屏幕崩溃的,不知道是什么原因,等下我找找日志。。目前我试过所有tess_two这个库的使用chi_sim.traineddata这个文件的没有一个成功的
因为是点击屏幕后崩溃的并且这份代码设定是点击屏幕拍照,那么问题很有可能出在调用tess_two库的时候崩溃的。 你是否下载了训练好的数据文件并将其放在名为'tessdata'的文件夹下?
因为是点击屏幕后崩溃的并且这份代码设定是点击屏幕拍照,那么问题很有可能出在调用tess_two库的时候崩溃的。 你是否下载了训练好的数据文件并将其放在名为'tessdata'的文件夹下?
放了
你找一下具体的异常信息吧。可能的原因还是有很多,有具体的异常信息才方便定位这个bug。 或者你也可以多找几个安卓手机试一下。
12-13 11:06:57.192 999-1287/? E/InputDispatcher: channel 'd047c24 com.sc.idcardrecognition/com.sc.idcardrecognition.ResultActivity (server)' ~ Channel is unrecoverably broken and will be disposed! 没有有用的日志信息,崩溃的时候只有这一行与代码有关
我debug跟踪发现是在TessBaseAPI.java第355行: boolean success = nativeInitOem(mNativeData, datapath, language, ocrEngineMode); 经过这句代码之后,App就一闪而过退出了,并没有留下任何崩溃信息
所以原因应该就是你的设备无法调用这个tess-two库了。 你可以单独写几行代码测试一下找到无法调用的原因,可能的原因有:app读不了文件,tess-two版本不匹配,你的系统不支持等,找到原因后修复即可。 或者你干脆换一台设备试一下。
所以原因应该就是你的设备无法调用这个tess-two库了。 你可以单独写几行代码测试一下找到无法调用的原因,可能的原因有:app读不了文件,tess-two版本不匹配,你的系统不支持等,找到原因后修复即可。 或者你干脆换一台设备试一下。
怎么测试,有测试代码吗,我看崩溃的这个方法是tess-two的native方法,它这个库还有设备兼容性吗,这样的话这个方案我感觉要放弃了。。
具体怎么测试可以向tess-two社区求助,我也不太了解。 如果你的设备确实不兼容这个库,换一个设备也是解决方案。
我换了个设备依然崩溃。。感觉不是设备的问题,会不会是这个训练数据的问题,你给出的链接里chi_sim.traineddata是2.35M,我看其他人有的是40多M,有的是7M多,这个训练数据跟版本号有匹配关系吗
@flycumt 模型有很多个版本,不同版本大小确实不同,但是应该都是可以用的。我用我的手机测试了一下,也崩溃了,但是在我上传这份代码时测试过不会崩溃,这确实很奇怪。等我有时间了我也来测试一下。
是的,我用了Github上另一个人的,他用的只有eng.traineddata, 然后我改成了chi_sim.traineddata也崩了。。
我检查了一下tessdata文件夹,发现图片是切出来了,但是还是崩溃了,应该就是tess-two库的问题了。
果然,我也不崩了,你太棒啦!
你给出的信息太少了。你是在点下屏幕拍照之前还是之后崩溃的?要是能给出具体的抛出的异常信息就更好了。