Android实现OCR扫描识别数字图片之图片扫描识别
[Android实例] Android实现OCR扫描识别数字图片之图片扫描识别
Android可以识别和扫描二维码,但是识别字符串呢?
google提供了以下解决方案用的是原来HP的相关资料。
可以吧,这个迁移到Android上。
工程导入成功是可以正常运行的,我是专门换了个电脑重新验证了下。
如果有不能运行的问题,应该是其他方面的问题,不然我的截图如何截 啊?
关于识别汉字,理论上可以识别,但是要是实现,并且很实用要做的东西更多。
兄弟不才啊,这2个简单的工程,仅仅识别数字,也是我鼓捣了半个多月才获得成果。
apk有时间再发。
http://code.google.com/p/tesseract-ocr/
实现图像识别的主要方法。
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.init(TESSBASE_PATH, DEFAULT_LANGUAGE);
Bitmap mp = BitmapFactory.decodeResource(getResources(),
R.drawable.number1);
mp = mp.copy(Bitmap.Config.ARGB_8888, false);
baseApi.setImage(mp);
String value = baseApi.getUTF8Text();
需要,实现一个Camera,不停得扫描图像的,当得出扫描结果的时候就通知用户。
实现了识别数字 的判断,不过也可以识别其他字符,需要做的处理就更多了。
附件里有2个工程一个是 OcrLib是android lib工程
一个OcrSearch是个android工程,这2个工程需要都导入eclipse才可以运行起来。
最后先导入 OcrLib,然后再是 OcrSearch
回头大家可以实现下,识别简体中文的尝试
兄弟不是我要分啊,是论坛上传文件大小有限制啊,
郁闷啊,有不要积分的下载你也可以试试啊。发布到网盘地址大家可以尝试下啊:
推荐 aiyuaichou
导入后OcrSearch 有错, CameraManager里, 我注释掉了
/*@TargetApi(Build.VERSION_CODES.GINGERBREAD)
private void open(Camera theCamera) {
int numCameras = Camera.getNumberOfCameras();
if (numCameras == 0) {
Log.w(TAG, "No cameras!");
theCamera = null;
return;
}
int index = 0;
while (index < numCameras) {
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
Camera.getCameraInfo(index, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK) {
break;
}
index++;
}
if (index < numCameras) {
Log.i(TAG, "Opening camera #" + index);
theCamera = Camera.open(index);
} else {
Log.i(TAG, "No camera facing back; returning camera #0");
theCamera = Camera.open(0);
}
}*/
获取相机数..? Camera.getNumberOfCameras() 没有这个方法, 我就注释掉了这段
同样注释掉了
/*@TargetApi(Build.VERSION_CODES.GINGERBREAD)
private static void getResult(Activity activity, int cameraId, Camera camera) {
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
Camera.getCameraInfo(cameraId, cameraInfo);
int degrees = getDisplayRotation(activity);
int result;
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
result = (cameraInfo.orientation + degrees) % 360;
result = (360 - result) % 360; // compensate the mirror
} else { // back-facing
result = (cameraInfo.orientation - degrees + 360) % 360;
}
camera.setDisplayOrientation(result);
}*/
Camera.CameraInfo 没有这个类, 注释掉上面2段代码就能运行了, 貌似只能截取数字, 最近要做这个,楼主能给点学习的步骤么, 感谢, 方便的话61565021@qq.com
Android实现OCR扫描识别数字图片之图片扫描识别的更多相关文章
- QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式
目录 功能介绍 常见问题 效果图与示例 apk Gradle 依赖 布局文件 自定义属性说明 接口说明 关于我 功能介绍 根据之前公司的产品需求,参考 barcodescanner 改的,希望能帮助到 ...
- tesseract-ocr识别英文和中文图片文字以及扫描图片实例讲解
本文来源:http://blog.csdn.net/wanghui2008123/article/details/37694307 本文参考http://blog.sina.com.cn/s/blog ...
- android 图片二维码识别和保存(二)
续上一篇,开发图片二维码识别功能后,我们对功能进行性能分析内存占用显著提高了,不使用该功能内存占用大约是147M,使用这个功能多次以后,高达203M. 因此对功能进行研究,发现每次生成的图片没有即时的 ...
- android 图片二维码识别和保存(一)
最新业务开发二维码识别的功能,这个功能,在很多应用上都有,比如微信长按图片识别二维码,如果图片中存在可以识别的二维码时,可以增加一个选项 识别二维码.那么如何去实现这个功能呢.这里其实也非常简单,首先 ...
- Android 扫描Scard卡全部的图片
这几天为了扫描Scard卡全部的图片的事非常纠结,我原本以为这是一件非常easy的事.可是我发现我错了.网上也没有完整的代码.仅仅是零零碎碎的能扫描单个文件的代码.在今天代码调试通过之后,我认为我有必 ...
- Android | 教你如何在安卓上实现通用卡证识别,一键各种卡绑定
目录 前言 通用卡证识别的应用场景 如何使用通用卡证识别服务 集成通用卡证识别服务的关键流程 开发实战 1 开发准备 1.1 在项目级gradle里添加华为maven仓 1.2 在应用级的build. ...
- 身份证识别OCR,开启视频模式扫一扫即可识别身份证信息
文章摘要:身份证识别等证件识别OCR技术在各个行业得到广泛应用,例如:车险移动查勘会用到身份证识别.行驶证识别.车架号识别: 寿险移动展业会用到名片识别.银行卡识别:电信实名制代理网点采集身份证信息会 ...
- Android studio ocr初级app开发问题汇总(含工程代码)
博客第一篇文章,稍作修改,增加文字介绍 开发目的 最近由于某些需求,需要在Android手机端实现OCR功能,大致为通过手机照相,识别出相片中的中文信息字段.但是由于新手光环+流程不熟悉,遇到了各种各 ...
- 深入Android媒体存储服务(二):磁盘扫描流程
简介: 本文是<深入Android媒体存储服务>系列第二篇,简要介绍媒体存储服务扫描文件的流程.文中介绍的是 Android 4.2. Android 有一套媒体存储服务,进程名是 and ...
随机推荐
- Java集群之session共享解决方案
随着互联网的日益壮大,网站的pv和uv成线性或者指数倍的增加.单服务器单数据库早已经不能满足实际需求.比如像盛大,淘宝这样的大型网络公司,更是如此. 集群,也就是让一组计算机服务器协同工作,达 ...
- 怎么捕获和记录SQL Server中发生的死锁
我们知道,可以使用SQL Server自带的Profiler工具来跟踪死锁信息.但这种方式有一个很大的敝端,就是消耗很大.据国外某大神测试,profiler甚至可以占到服 务器总带宽的35%,所以,在 ...
- 谈谈oracle中的临时表
--------------------创建临时表 临时保存从xml字符串解析来的数据--------------------------- 会话级别临时表SQL> create global ...
- ReactiveCocoa入门教程——第一部分
ReactiveCocoa iOS 翻译 2015-01-22 02:33:37 11471 6 15 本文翻译自RayWenderlich ReactiveCocoa ...
- 谈一下关于C++函数包装问题
在C++中,我们经常遇到在某个特定的时刻,需要将函数进行包装调用,尤其是当我们需要将不同签名的函数放到同一个集合时,由于函数签名不一致导致我们不能直接将各式各样的函数指针放到诸如list这样的集合中, ...
- 【POJ1195】【二维树状数组】Mobile phones
Description Suppose that the fourth generation mobile phone base stations in the Tampere area operat ...
- C#DateTimePicker设置自定义格式
摘自Microsoft TechNet DateTimePicker.CustomFormat 属性 包含日期和时间分隔符的显示字符串文字或格式字符串,必须在子字符串中使用转义符. 例如,若要显示将日 ...
- AJAX编程模板
AJAX一直以来没怎么接触,主要是做JSON数据在服务器和客户端之间传递的时候,被玩坏了,对它莫名的不可爱,最近心理阴影小了,于是又来看看它....... AJAX即“Asynchronous Jav ...
- wechat-php-sdk
wechat-php-sdk 微信公众平台php版开发包 支持消息加解密方式的明文模式.兼容模式.安全模式 支持自动接入微信公众平台(步骤) 功能模块 Wechat (处理自动接入.获取与回复微信消息 ...
- jQuery幻灯片skitter-slider插件学习总结
@(关键词)[skitter|jquery|网页幻灯片|slider] Skitter 是一个非常酷炫的jQuery网页幻灯片插件,支持非常多种酷炫幻灯片切换方式,下载前往官网,另有参考文档 下面简单 ...