精华内容
下载资源
问答
  • 识别文字与网页

    千次阅读 2018-02-24 10:55:29
    一个二维码被扫描后会有一些信息,但是这些信息会不一样,比如有的是文字,有的是图片,有的是网页之类的,今天,我做的是一个文字与网页的判断,其它的判断各位大佬要是想加也可以自己加,好了,上代码:首先权限...

    一个二维码被扫描后会有一些信息,但是这些信息会不一样,比如有的是文字,有的是图片,有的是网页之类的,今天,我做的是一个文字与网页的判断,其它的判断各位大佬要是想加也可以自己加,好了,上代码:

    首先权限少不了

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />

    然后就是一个zxing的依赖包

    compile 'cn.yipianfengye.android:zxing-library:2.1'

    最后就是一些逻辑操作,

    首先看一下MainActivity,

    package com.example.dell.myapplication1;
    
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.os.Build;
    import android.support.v4.app.ActivityCompat;
    import android.support.v4.content.ContextCompat;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.util.Patterns;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import com.uuzuche.lib_zxing.activity.CaptureActivity;
    import com.uuzuche.lib_zxing.activity.CodeUtils;
    import com.uuzuche.lib_zxing.activity.ZXingLibrary;
    
    public class MainActivity extends AppCompatActivity {
        String TAG = "MainActivity";
        int REQUEST_CODE = 1;
    
        TextView textView;
        private String result;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //获取摄像头权限
            getCameraPermission();
            //ZXingLibrary初始化
            ZXingLibrary.initDisplayOpinion(this);
            //控件初始化
            textView = (TextView)findViewById(R.id.text);
            Button qrButton = (Button)findViewById(R.id.qrcode);
            qrButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
                    startActivityForResult(intent, REQUEST_CODE);
                }
            });
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (requestCode == REQUEST_CODE) {
                //处理扫描结果(在界面上显示)
                if (null != data) {
                    Bundle bundle = data.getExtras();
                    if (bundle == null) {
                        return;
                    }
                    if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
                        result = bundle.getString(CodeUtils.RESULT_STRING);
                        Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();
                        //判断解析的结果是什么类型的
                        if ( Patterns.WEB_URL.matcher(result).matches()) {
                            //符合标准
                            //解析扫到的二维码后就跳转页面
                            Intent intent = new Intent(MainActivity.this, WebviewActivity.class);
                            //把扫到并解析到的信息(既:字符串)带到详情页面
                            intent.putExtra("path", result);
                            startActivity(intent);
                        } else{
                            //不符合标准
                            //显示文字,并赋值
                            Log.e(TAG,"解析结果:" + result);
                            textView.setText(result);//解析结果显示在TextView
                        }
                    } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
                        Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
                    }
                }
            }
        }
    
        public void getCameraPermission()
        {
            if (Build.VERSION.SDK_INT>22){
                if (ContextCompat.checkSelfPermission(MainActivity.this,
                        android.Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED){
                    //先判断有没有权限 ,没有就在这里进行权限的申请
                    ActivityCompat.requestPermissions(MainActivity.this,
                            new String[]{android.Manifest.permission.CAMERA},2);
                }else {
                    //说明已经获取到摄像头权限了 想干嘛干嘛
    
                }
            }else {
                //这个说明系统版本在6.0之下,不需要动态获取权限。
            }
        }
    }

    过程不多说了,毕竟注释写的很清楚了,这个xml就不复制了,里面就是一个按钮和一个TextView而已,主要就是这个网页与文字的判断,

    //判断解析的结果是什么类型的
    if ( Patterns.WEB_URL.matcher(result).matches()) {
        //符合标准
        //解析扫到的二维码后就跳转页面
        Intent intent = new Intent(MainActivity.this, WebviewActivity.class);
        //把扫到并解析到的信息(既:字符串)带到详情页面
        intent.putExtra("path", result);
        startActivity(intent);
    } else{
        //不符合标准
        //显示文字,并赋值
        Log.e(TAG,"解析结果:" + result);
        textView.setText(result);//解析结果显示在TextView
    }

    判断是不是符合标准的,是的话就跳转网页,不符合就是文字,当然,这个判断你也可以自己做,也就是判断解析的数据是不是HTTPS,或者其它有关网页的东西,判断就行,

    接下来就是网页的类了,这个就比较简单了,

    package com.example.dell.myapplication1;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.webkit.WebView;
    import android.webkit.WebViewClient;
    
    public class WebviewActivity extends AppCompatActivity {
    
        private WebView wb;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_webview);
            wb = findViewById(R.id.wb);
            //支持js语言
            wb.getSettings().setJavaScriptEnabled(true);
            // 缩放至屏幕的大小
            wb.getSettings().setLoadWithOverviewMode(true);
            //支持缩放
            wb.getSettings().setSupportZoom(true);
            //声明一个Intent意图,用来接受MainActivity传过来的值
            Intent intent = getIntent();
            //拿到MainActivity传过来的值并返回一个字符串,
            //口令要一致
            String jxString = intent.getStringExtra("path");
            //webVew去加载网页
            wb.loadUrl(jxString);
        }
    
    
    }

    这个xml也就不复制了,只有一个webview控件,用来显示网页的,

    这样的话,也就搞定了,

    写的不好,希望各位大佬多多指教!

    展开全文
  • 2、其它软件,尽管自称能识别多种图像格式、多种字体,但使用时你会发现,它们能识别的范围非常有限:基本只对扫描仪出的图像有效,图像里的文字必须很工整、必须很清晰、字体和背景的对比度必须足够高才能进行...
  • ##完整的一个图片OCR微信小程序项目,采用了百度OCR的API和百度翻译API,实现了拍照,选,批量图片识别提取文字,表格识别,图片剪裁,支持分享,翻译,校对,记录识别历史等功能,还使用了微信小程序云函数进行...
  • C++扫雷源代码有以下功能: 1、识别文字和图片并将其转换成雷区 2、能够根据当前盘面自动(将低级逻辑的情况全去掉) 3、操作与windows自带的扫雷相同 4、能够计算出3BV、RPQ、click等数据
  • 目前大部分的手机都带有扫描识别功能,帮助我们识别图片中的文字内容,像华为手机自带的扫描文稿功能,小米手机自带的等,都是很不错的扫描功能,那么OPPO手机呢? 小酱刚刚才知道,原来OPPO也能识别图片中的...

    目前大部分的手机都带有扫描识别功能,帮助我们识别图片中的文字内容,像华为手机自带的扫描文稿功能,小米手机自带的扫一扫等,都是很不错的扫描功能,那么OPPO手机呢?
    null

    小酱刚刚才知道,原来OPPO也能识别图片中的文字,这真的是太神奇了。

    如果想使用OPPO手机的智能识别功能,我们需要开启智能助手Breeno,进行扫描识别,那么我们就来详细的看下吧!
    null

    1、 智能识题

    如果你是一位学生党,那么此功能绝对是你的福音,我们的OPPO手机自带智能识题功能,能够帮助我们迅速解决不会的题目,只需轻轻一扫,解题步骤,答案以及思路就全部出来了。
    null

    2、 识图翻译

    英语水平差是大多数朋友都面临的一个问题,英文文本看着无比的头痛,那么我们才能把英语翻译成中文呢?我们只需使用OPPO的翻译功能,对带有英文的图片扫一扫,就能够直接翻译成中文,是不是特别方便。
    null

    3、 文字识别

    文字识别是不少职场人士都能够运用到的功能之一,熟练的使用文字识别功能可以迅速的把图中的文字提取成电子档,那么我们使用OPPO手机怎么才能识别图中的文字呢?

    一样使用Breeno的扫描功能,就可以成功的把图片中的文字提取出来,识别成电子裆的类型,此操作是不是相当的方便。
    null

    4、 扫描翻译

    除了Breeno能够使OPPO手机进行扫描识别以外,应用市场内的迅捷文字识别,同样能够提取图片中的文字并进行翻译,除此之外,这种专业的OCR工具还能够识别身份证、驾驶证、银行卡等,我们常用的票证等。
    null

    5、 识图查物

    除了扫描识别,扫描翻译以外,Breeno话能够进行识图查物的操作,我们只需对着我们所要识别的物品图片轻轻一扫,就能够得到他们的具体信息,还能够弹出相关的内容资讯,完全告别度娘的搜索。
    null

    大家觉得怎么样?以上操作全部都能够通过我们的OPPO手机完成,再也不用羡慕别人的手机能够扫描识图了,关键时刻还能取代扫描仪,真的是太强大了!

    小酱今天与大家分享的内容就到这里了,感谢大家的阅读,喜欢记得关注我哦!

    【小酱话题】:除了扫描识图以外,大家还对OPPO手机中哪些功能感兴趣呢?欢迎在下方留言,小酱会一一浏览的哦!

    展开全文
  • 安卓车牌OCR技术识别车牌

    千次阅读 2018-06-19 17:23:33
    OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷...
    OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并通过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也因此而产生。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
          安卓扫一扫车牌,识别出车牌号的技术是我公司开发的基于移动平台的车牌识别软件开发包,支持android、ios等多种主流移动操作系统。该产品采用手机、平板电脑摄像头拍摄汽车牌照图像,然后通过OCR软件对车牌颜色、车牌号进行识别。

     

    安卓扫一扫车牌,识别出车牌号的技术功能
    1. 整牌识别率高达99.7%,尤其汉字识别遥遥领先同类产品;
    2. 识别速度快,极致优化的车牌定位和识别算法;
    3. 支持牌照全,包括蓝牌、黄牌(双)、军牌(双)、武警牌(双)、警牌、农用车牌、教练车牌、大使馆等各种规格牌照;

    4. 车牌宽度要求低,车牌宽度≥70个像素,都不影响识别;
    5. 纯C代码编写,可以跨平台应用。
    安卓扫一扫车牌,识别出车牌号的技术配置要求
    1. 操作系统:支持android 4.0版本及以上;支持ios7.0及以上
    2. 摄像头:支持自动对焦,200万像素以上。
    3. 安装程序占用空间,3MBytes
    安卓扫一扫车牌,识别出车牌号的技术拍摄规范
    规范的拍摄有助于提高识别率
    1. 保持水平,尽量使车牌在画面中保持水平;
    2. 合理光照,拍摄时注意光照的影响,尽量避免反光和黑影;
    3. 避免倾斜,不要使拍摄角度倾斜过大,以免造成车牌严重变型;
    4. 聚焦清晰,避免图像模糊不清楚。
    安卓扫一扫车牌,识别出车牌号的技术典型应用
    智慧停车:互联网停车
    警务通:巡逻执勤、交警执法
    车辆保险:车险移动查勘,
    占道停车管理:占道停车收费
    展开全文
  • AI派在读学生小姐姐BeyonceJava实战项目练习群长按识别下方二维码,按需求添加码添加Beyonce小姐姐码关注进Java学习大礼包今天给大家介绍一个超级简单且强大的OCR文本...

    AI派在读学生小姐姐Beyonce

    Java实战项目练习群

    长按识别下方二维码,按需求添加

    扫码添加Beyonce小姐姐

    扫码关注

    进Java学习大礼包



    今天给大家介绍一个超级简单且强大的OCR文本识别工具:easyocr.

    这个模块支持70多种语言的即用型OCR,包括中文,日文,韩文和泰文等。

    下面是使用这个模块的实战教程。

    1.准备

    请选择以下任一种方式输入命令安装依赖
    1. Windows 环境 打开 Cmd (开始-运行-CMD)。
    2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。
    3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

    pip install easyocr

    它会安装除了模型文件之外的所有依赖,模型文件则会在运行代码的时候下载。

    对于Windows,如果在安装Torch或Torchvision时报错了,请先按照https://pytorch.org 的官方说明安装Torch和Torchvision 。

    在pytorch网站上,请确保选择正确的CUDA版本。如果仅打算在CPU模式下运行,请选择CUDA = None。

    2.实战教程

    这个模块用起来真的非常简单,三行代码完事了:

    import easyocr
    reader = easyocr.Reader(['ch_sim','en'])
    result = reader.readtext('test.png')

    运行的过程中会安装所需要的模型文件,像下面这样:



    不过它的下载速度非常慢,而且经常会失败,因此这里给出第二个解决方案:先下载好模型文件,再将其放置到所需要的位置:

    上滑查看更多

    文字检测模型(CRAFT)(必须)

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/craft_mlt_25k.zip

    中文(简体)模型(识别中文必须)

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/chinese_sim.zip

    中国(传统)模型

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/chinese.zip

    拉丁模型

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/latin.zip

    日本模型

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/japanese.zip

    韩文模型

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/korean.zip

    泰文模型

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/thai.zip

    阿拉伯文模型

    https://pythondict.com/go/?url=https://github.com/JaidedAI/EasyOCR/releases/download/pre-v1.1.6/arabic.zip

    下载完模型后,将文件放到下面这个位置。

    Windows:C:\Users\用户名.EasyOCR\model
    Linux:~/ .EasyOCR / model

    如下图所示:


    重新执行脚本不会再提醒下载模型了:

    import easyocr
    reader = easyocr.Reader(['ch_sim'])
    result = reader.readtext('test.png')
    print(result)

    我随便截了一个直播弹幕的图片保存在脚本所在的文件夹下,命名为test.png:


    结果如下:

    基本上所有应该识别的文字都识别出来了,效果非常不错。

    另外也可以看到,输出采用列表格式,每个item分别表示对应文字的边界框,识别文本结果和置信度。

    这个模块还能识别多语种的情况:

    我将这张图片命名为test2.jpg,修改代码中对应的图片名称:

    import easyocr
    reader = easyocr.Reader(['ch_sim','en'])
    result = reader.readtext('test2.jpg')
    print(result)

    效果如下:

    这张图片很复杂,而且是中英文混杂在一起的情况,但是可以看到模型除了左上角的水印,图片中的文字基本都是识别出来了,尽管有部分文字识别错误,但还在可以接受的范围之内。

    不过需要注意的是,虽然可以一次性识别许多种语言,但并非所有语言都可以一起用,通常是公共语言和一个特殊语种可以一起识别,相互兼容,比如英语和日语。

    如果你的电脑没有GPU或者显存不足,可以加一个gpu=false的参数仅使用CPU运行:

    reader = easyocr.Reader(['ch_sim','en'], gpu = False)

    另外,这个模块还支持直接使用命令行运行,相当方便,大家可以试试:

    easyocr -l ch_sim en -f test.png --detail=1 --gpu=True

    我们的文章到此就结束啦,如果你喜欢今天的Python 实战教程,请持续关注AI派~

    原创不易,希望你能在下面点个赞和在看支持我继续创作,谢谢!

    点击下方阅读原文可获得更好的阅读体验

    Python实用宝典 (pythondict.com)
    不只是一个宝典
    欢迎关注公众号:Python实用宝典

    展开全文
  • 微信小程序开发交流qq群 173683895 ...需求:识别文字内的手机号码或者电话号码然后拨打电话 <!--pages/detail/detail.wxml--> <view bindtap='click'> <text>{{data}}</text></view&g...
  • 汉王ocr文字识别软件

    2013-11-15 19:24:57
    速度快效率高~本产品集成了汉王科技顶尖的文字识别技术,对印刷文稿录入的识别率高达99.5%,能够识别百余种印刷字体和各种中英繁表混排格式的文本,。是理想的文字、表格、图像录入系统。 使用汉王ocr文字识别软件...
  • min orc文字识别

    热门讨论 2009-02-05 00:03:48
    本产品集成了汉王科技顶尖的文字识别技术,对印刷文稿录入的识别率高达99.5%,能够识别百余种印刷字体和各种中英繁表混排格式的文本,。是理想的文字、表格、图像录入系统。 这样一来,就不用再手工输入大量的资料...
  • 图片文字识别这种情况在办公学习时候中经常...大家应该都知道QQ可以,然后将图片进行识别文字。   2.迅捷PDF阅读器 这款软件之前跟大家介绍过,是一款PDF阅读器,可以将PDF文件压缩,图片转换PDF,也可...
  • OCR文字识别技术实际上是一种高效的输入方式,所谓OCR也就是图像文字识别技术,利用计算机将扫描仪... 使用汉王ocr文字识别软件后 就可以告别以往繁琐而低效率的手工录入模式了~只用扫描仪一,轻轻松松搞定一本书!
  • Mini Ocr图片文字识别

    2012-08-23 12:05:39
    识别对象是屏幕出现的“显示汉字”,而不是针对扫描仪出来的“打印汉字”。二者有什 么不同呢?最重要的一点: 扫描出来的打印汉字的高度和宽度一般都在30多个像素点之 上,这是我用画图软件,打开某个商业Ocr的...
  • 不同于商业Ocr软件,本软件是免费的,可以...识别对象是屏幕出现的“显示汉字”,而不是针对扫描仪出来的“打印汉字.是小巧的OCR中文文字识别软件(英语识别效果不好)。可识别图片中的文字并转成可编辑的Word文件。
  • Mini0cr文字识别软件

    热门讨论 2010-08-23 14:22:26
    识别对象是屏幕出现的“显示汉字“而不是针对扫描仪出来的“打印汉字”。二者有什 么不同呢?最重要的一点: 扫描出来的打印汉字的高度和宽度一般都在30多个像素点之 I 上,这是我用画图软件,打开某个商业0cr的...
  • 濠通屏幕识文是一款非常简单易用的OCR文字识别软件,濠通屏幕文字识别软件可以帮助我们面各种图片中的文字,将图片中的文字智能提取出来,这样你就不用一个字一个字的记录了,濠通屏幕识文还可以识别身份证、驾驶...
  • 我们以前做题的时候,过后会...然后是拍的图片上的文字,前提是图片尽量要清晰因为是怕有些工具无法识别。虽然可以敲字一键录入图片上的文字,但是能基本保证正确率。 像有些正规文件,扫描和截图的效果是完全不一样的
  • 1.登录百度智能云网站 打开百度图文识别网站:https://console.bce.baidu.com/ai/#/ai/ocr/overview/index,输入账号...4.进入文字识别页面 点击应用中的创建应用按钮,开始创建应用,之后才会生成key。 5.开始创
  • 若要识别文字是简体汉字,则在最下的语言列表框中选择[Chinese_simplified]; 若要识别文字是繁体汉字,则在最下的语言列表框中选择[Chinese_traditional]; 第三步,识别 选择文字所属语系后,按下「...
  • OCR中文文字识别软件

    千次阅读 2010-03-20 17:06:00
    http://www.verycd.com/topics/2763110/ 首先你得先把这些打印稿或文件通过扫描仪到电脑上去,一般单位都有扫描仪,如果没有也没关系,用数码相机拍也行,拍成图片放到WORD里面去,不过在些 之前,你还得装一下...
  • 一、背景 随着智能手机的广泛普及和移动互联网的迅速发展,通过手机等移动终端的摄像头获取、检索和分享资讯已经逐步成为一种生活方式。基于摄像头的(Camera-based)的...一般意义上,基于图像的文字识别包括基于...
  • 摘要: 百度AI主页:http://ai.baidu.com/百度AI论坛主页:... 中国AI有小帅 哈哈 有兴趣的可以码体验一下个人小程序 ... 领先的AI服务分类 ...图像技术下的文字识别的IOS示例工程的运行 如何快速拥有AI
  • 这是基于原理的,在kernel的时候,膨胀是将锚点替换为区域内最大值,腐蚀是将锚点替换为区域内最小值 最大值255是白色,最小值0是黑色 开操作:先腐蚀后膨胀 闭操作:先膨胀后腐蚀 开操作先腐蚀,将黑色的杂点...
  • 二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形...本资源是PB 11.5开发的文字转为二维码图片实例源码,经微信和360安全码测试通过。
  • 在浏览器搜索微信公众平台,微信码登录小程序。点击设置->第三方设置->插件管理->添加插件。 添加成功后如: 2.小程序端开发 截止到5月16日,微信同声传译版本是0.3.4。 2.1在小程序文件app....
  • 汉王ocr识别软件

    2016-04-21 20:02:42
    本产品集成了汉王科技顶尖的文字识别技术,对印刷文稿录入的识别率高达99.5%,能够识别百余种印刷字体和各种中英繁表混排格式的文本,。是理想的文字、表格、图像录入系统。 这样一来,就不用再手工输入大量的资料...
  • 纸质发票、会议资料、合同文本、手写文稿、名片档案、证件卡片……不论印刷中文、英文、手写字体,还是各类图片资料,现在用手机摄像头就能识别提取字段信息。 ​ 随着人工智能科技的发展,OCR识别技术广泛...
  • 项目要求加入一个功能:打开摄像头进行实时显示,后台静默拍照, 传图片给服务器,服务器发送识别结果给Android端,摄像头再实时显示文字。 这整个过程要如何实现,要用什么工具吗?

空空如也

空空如也

1 2 3 4 5
收藏数 100
精华内容 40
关键字:

扫图识别文字