背景:
由于业务要求,需要对图片进行编辑,同时做OCR文字识别并进行保存。在数据库中根据文件路径,MD5值进行唯一性判断,若已存在OCR识别结果则返回不再识别。
一个OCR数据包含两个path,一个为图片源路径(原始图片),一个为识别路径(用于裁剪、旋转、滤镜处理后重新进行识别,初始为原始图片路径)
流程:
从图库选择一张图片,绘制到界面,在裁剪时选择全范围,获取bitmap保存到sd卡。
获取识别结果时,通过文件路径与MD5进行判断,若已存在OCR识别结果则返回不再识别。
问题原因:
裁剪后(文件路径已变,全范围裁剪虽然是不裁剪但也进行了重新保存)再进行OCR识别时,通过MD5查询数据库中存在已有结果(与原图MD5一致),但出于效率而言,仅通过路径查询是否存在,以至于在数据库中无法获取结果。
解决办法:
在查询到具备相同MD5时,如果图片源路径相同,识别路径不同,则进行识别路径更新,下次使用识别路径查询时则可正常获取。
耗时原因:
逻辑复杂,debug 追踪太过于耗时,应精简逻辑,统一规则,少暴露接口。同时对于重新保存时文件MD5相同也是第一次遇到,图片太小了32kb,在绘制到屏幕上时和保存时均不存在损耗,导致MD5依旧一致。
本站由以下主机服务商提供服务支持:
0条评论