android 扫描识别边框
2016-07-23 17:18:43 a315823806 阅读数 6025
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

工程下载地址:http://www.eoeandroid.com/thread-265064-1-1.html 

2018-08-30 18:23:12 ZsHua_18519103264 阅读数 2010

随着智能手机的硬件不断优化,移动互联网及应用大范围普及,互联网+各行各业,跨界、融合、创新,市场瞬息万变,有野心的企业和人、技术都在拼命的赶这趟快车,希望能在这个似乎“一切皆有可能”的互联网黄金时代分一杯羹。

出于对业务模式创新,以及用户体验优化的追求,以前很多依托特定仪器才能实现的技术和操作开始适配到移动端,催生了更多移动端的创新和优化,OCR技术就是这股移动化浪潮中相当受到企业用户青睐的技术之一。

OCR受到青睐的原因?

OCR(OpticalCharacterRecognition),是一种通过对文本的图像文件通过一系列分解处理,获取文字及版面信息的过程。具体到场景,就是通过扫描,将你你手中的名片、身份证件、驾驶证,银行卡等自动识别录入电脑或手机等终端,省去了手动输入的过程。

消费市场向移动端转移,未来超过60%的数据将来源于手机、平板等智能移动终端。智能机摄像头已经成为数据采集最主要的入口,更多的非结构化数据需要转化为前后台可检索的数据,这个转化的过程就需要OCR技术大显身手。

目前市场上,移动终端常见的OCR识别产品包括:名片识别、安卓Android扫描拍照身份证自动识别软件、银行卡/信用卡识别,驾驶证/行驶证识别,等常用证件的识别。

这些识别技术为需绑定银行卡的第三方支付,证券公司的自助开户业务,保险理赔业务,打车及租车行业车辆和驾驶员信息的录入,政府机关移动办公电子政务、智慧社区信息化,以及警务助手等,提供完善的解决方案。以下让我们了简单了解安卓Android扫描拍照身份证自动识别软件

安卓Android扫描拍照身份证自动识别软件产品简介

安卓Android扫描拍照身份证自动识别软件SDK可支持Android、iOS主流移动操作系统,APP集成安卓Android扫描拍照身份证自动识别软件SDK后,用户采用手机、平板电脑对身份证进行拍摄即可自动识别身份证信息(如图-1所示);

安卓Android扫描拍照身份证自动识别软件演示图-1)

安卓Android扫描拍照身份证自动识别软件也可以部署在识别服务器上,可支持Linux 32/64位操作系统、Windows 32位/64位操作系统。用户可部署到自有服务器上,APP可直接调用安卓Android扫描拍照身份证自动识别软件服务识别身份证信息。

安卓Android扫描拍照身份证自动识别软件功能特点

1、识别汉字多、支持复杂背景(如将证件拿在手中)裁边;

2、识别速度快:单张识别速度小于1 秒;

3、自动裁切旋转:支持自动裁切,支持180°、90°旋转。

4、采用文字识别(OCR)技术,自动提取证件信息(如姓名、证件号码、地址等)及头像。

5、通过调用识别功能Activity,实现APP应用程序接口调用,支持JAVA、Object-C等多种语言开发调用。

安卓Android扫描拍照身份证自动识别软件应用领域

6、银行APP:远程开户时录入开卡人身份证信息;

7、证券APP:远程开户时录入开卡人身份证信息;

8、第三方支付:注册账号需实名验证;

9、互联网金融、理财、P2P网贷、征信等。

2017-06-15 18:05:49 Pusherson 阅读数 1812
  1. android二维码、条形码生成与扫描识别点击打开链接
  2. android利用ZXing生成、识别二维码点击打开链接
  3. android利用ZXing生成、识别二维码,条形码点击打开链接
2016-04-15 16:54:31 liqingmiao123 阅读数 6153

用card.io 实现的银行卡扫描,免费 

Card.io是让手机摄像头获取信用卡的信息,中间利用了OCR(光学字符识别)的扫描技术返回结果,它还推出了SDK(软件开发包),让开发者们可以把card.io添加到自己的应用当中。

主要类:

public class MyScanActivity extends Activity
{
final String TAG = getClass().getName();
private Button scanButton;
private TextView resultTextView;
private int MY_SCAN_REQUEST_CODE = 100; 
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
resultTextView = (TextView)findViewById(R.id.resultTextView);
scanButton = (Button)findViewById(R.id.scanButton);
resultTextView.setText("扫描银行卡: " + CardIOActivity.sdkVersion() + "\nBuilt: " + CardIOActivity.sdkBuildDate());
}


@Override
protected void onResume() {
super.onResume();
if (CardIOActivity.canReadCardWithCamera(this)) {
scanButton.setText("Scan a credit card with card.io");
}
else {
scanButton.setText("Enter credit card information");
}
}


public void onScanPress(View v) {
Intent scanIntent = new Intent(this, CardIOActivity.class);
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_EXPIRY, true); 
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_CVV, false); 
scanIntent.putExtra(CardIOActivity.EXTRA_REQUIRE_POSTAL_CODE, false); 
// scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, false); 
scanIntent.putExtra(CardIOActivity.EXTRA_SUPPRESS_MANUAL_ENTRY, true);//是否显示右下角键盘输入,为不显示
startActivityForResult(scanIntent, MY_SCAN_REQUEST_CODE);
}


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
String resultStr;
if (data != null && data.hasExtra(CardIOActivity.EXTRA_SCAN_RESULT)) {
CreditCard scanResult = data.getParcelableExtra(CardIOActivity.EXTRA_SCAN_RESULT);
resultStr = "Card Number: " + scanResult.getRedactedCardNumber() + "\n";
if (scanResult.isExpiryValid()) {
resultStr += "Expiration Date: " + scanResult.expiryMonth + "/" + scanResult.expiryYear + "\n"; 
}
if (scanResult.cvv != null) { 
resultStr += "CVV has " + scanResult.cvv.length() + " digits.\n";
}
if (scanResult.postalCode != null) {
resultStr += "Postal Code: " + scanResult.postalCode + "\n";
}
}
else {
resultStr = "Scan was canceled.";
}
resultTextView.setText(resultStr);


}



资源下载:

eclipse上面运行的Demo:

http://download.csdn.net/detail/liqingmiao123/9492343     

AndroidStudio上运行的Demo:

http://download.csdn.net/detail/rjliulei/8766921


2016-12-20 15:32:49 u011803341 阅读数 5451

由于项目中用到了车牌识别的功能,就研究下了扫描的一些逻辑。
1. 图片识别
刚才的时候,我们识别车牌是用户拍一张带有车牌号的照片,然后我们传到服务端去,服务端去进行图片识别,然后把结果返回来。这样有一些明显的缺点,就是需要进行网络传输,会比较耗时。然后每次只传输一张图片,样本数量少,识别的错误会很大。
2. 扫描识别
然后参考了二维码扫描的逻辑,感觉它的效率很高,速度快,成功率又高。就朝这个方向进发了。这里写图片描述
首先就是把二维码扫描的页面搬过来了,看起来有点样子了,上面两个圈的是用来对焦的,有一个矩形框,可以让用户把车牌放到框里面。
既然要提高传输速率,就必须把图片识别的算法搬到客户端来,(这里非常感谢飞雪大神,提供了车牌识别的C++算法。)所以必须先搭建NDK环境,编译C++代码,生成so文件,再进过JNI调用。这样就可以在安卓手机本地去实现车牌的识别了。
第二步,获取图片,既然是扫描,那当然是没有拍照按钮的,预览页面显示的内容就是我所需要去识别的目标。幸运的是自定义相机提供了一个回调方法Camera.setPreviewCallback(byte[] data, Camera camera),只要一打开预览
,这个回调就会一直进行,所以必须每个一段时间去取样本,这里暂定200ms取一次预览。
第三步,拿着预览照片转成Bitmap类型,使用JNI调用C++算法,这样就会给我返回车牌号了。
第四步,到上面为止,已经可以拿到车牌号了,但是尽然是扫描,一次结果不足以让人信服,所以每个200ms返回的结果我们都进行保存,知道有一个结果重复3次,我们才认定为这个结果是可信的,这样就大大提高了准确性。
最后再讲讲做个车牌识别遇到的坑,以及一些优化
1. OOM
只要是涉及到图片有关功能的必须要解决的问题,我们每个200ms获取一张图片,那产生的图片数量是很大的,所以必须要优化好。这里做的就是,每次识别完一张图片就把bitmap回收掉。这样有时候还是会OOM,之后就尝试了降低预览图片的质量,因为我们只需要识别出车牌就好了,图片质量低,是没有影响的。这样一来大部分手机就可以正常识别了。
2. 提高识别速度
抠出车牌区域,因为C++算法里面,需要先确定车牌位置,我只把车牌号所在的区域传给C++算法,这样将会大大提高算法识别的效率,既可以提高速度,又提高正确率,因为去掉了大部分无关部分。
其实还有很大可以优化的地方,比如预览画面可能会扭曲,倾斜扫描效率不高等问题,这些都需要算法和调用方一起优化,车牌扫描识别还有很长的路要走。

Android车牌号自动扫描识别的算法

阅读数 272

车牌扫一扫识别、Android手机扫一扫识别车牌、iOS扫一扫车牌识别、扫一扫识别车牌功能Android车牌号自动扫描识别的功能描述车牌识别就是依次实现汽车图像的车牌定位、车牌字符分割、车牌字符识别算法的过程。车牌定位就是把车牌图像从含有汽车和背景的图像中提取出来,其输入的是原始的汽车图像,输出是车牌图像。车牌的字符分割就是通过对车牌图像的预处理、几何校正等把字符从车牌图像中分割出来,...

博文 来自: GKQ670623743

android 二维码,条形码生成与扫描识别

阅读数 4542

二维码,条形码现在大街小巷都有。以防哪天有需要,所以先学习一下。在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发。我是在网上找到的案例,把它调通修改了一下。1、首先,它需要两个JAR包core-3.1.0.jarjavase-3.1.0.jar,把jar包先导入到程序。2、activity_main.xml布局文件

博文 来自: chexitianxia

Android实现银行卡号扫描识别

阅读数 3530

现在有好多扫描识别银行卡号的SDK都是收费的,但是也有不收费的,但是有一定的问题,就是那种印刷的银行卡号扫描不出来,希望哪位大神指导原因给解释下,这个不收费的SDK就是card.io-Android-SDK,githubdi地址:https://github.com/card-io/card.io-Android-SDK使用方式很简单,更多介绍可以看GitHub使用文档:

博文 来自: Jersey_me

card.io for Android 银行卡号扫描识别

阅读数 44

在您的手机应用程序中扫描信用卡card.io官网1.添加依赖compile'io.card:android-sdk:5.5.1'2.简单布局<Buttonandroid:id="@+id/button"android:layout_width="match_parent"andr...

博文 来自: weixin_33770878

Android 边框,只有底部边框

阅读数 916

底部边框<?xmlversion="1.0"encoding="utf-8"?><layer-listxmlns:android="http://schemas.android.com/apk/res/android"><item><shape><--边框颜色

博文 来自: ch847808805
没有更多推荐了,返回首页