OCR入门教程系列(一):OCR基础导论_ocr文字识别-程序员宅基地

技术标签: 计算机视觉  深度学习  人工智能  深入浅出OCR  文字识别  计算机视觉CV  OCR  

在这里插入图片描述

作者简介: CSDN、阿里云人工智能领域博客专家,新星计划计算机视觉导师,百度飞桨PPDE,专注大数据与AI知识分享。公众号:GoAI的学习小屋 ,免费分享书籍、简历、导图等,更有交流群分享宝藏资料,关注公众号回复“加群”或️点击链接 加群。
AI学习星球推荐: GoAI的学习社区 知识星球是一个致力于提供《机器学习 | 深度学习 | CV | NLP | 大模型 | 多模态 | AIGC 》各个最新AI方向综述、论文等成体系的学习资料,配有全面而有深度的专栏内容,包括不限于 前沿论文解读、资料共享、行业最新动态以、实践教程、求职相关(简历撰写技巧、面经资料与心得)多方面综合学习平台,强烈推荐AI小白及AI爱好者学习,性价比非常高!加入星球点击链接


OCR专栏导读:

导读:恭喜你发现宝藏!本专栏系列主要介绍计算机视觉OCR文字识别领域,每章将分别从OCR技术发展、方向、概念、算法、论文、数据集、对现有平台及未来发展方向等各种角度展开详细介绍,综合基础与实战知识。以下是本系列目录,分为前置篇、基础篇与进阶篇,进阶篇在基础篇基础上进行全面总结,会针对最经典论文及最新算法展开讲解,内容目前包括不限于文字检测、识别、表格分析等方向。 未来看情况更新NLP方向知识,本专栏目前主要面向深度学习及CV的同学学习,希望大家能够多多交流,欢迎订阅本专栏,如有错误请大家在评论区指正,如有侵权联系删除。

欢迎大家加入文章最上方交流群,群内将分享更多大数据与人工智能方向知识资料,会有一些学习及其他福利!

前置:深度学习基础系列

1️⃣深入浅出OCR前置篇 【机器学习概念总结】
2️⃣深入浅出OCR前置篇 【深度学习概念总结】
3️⃣深入浅出OCR前置篇 【卷积神经网络总结】
4️⃣深入浅出OCR前置篇 【循环神经网络总结】
5️⃣深入浅出OCR前置篇 【注意力机制系列总结】
6️⃣深入浅出OCR前置篇 【OpenCV系列总结】

基础:OCR入门教程系列目录

1️⃣OCR系列第一章 【OCR技术导论】:OCR文字识别技术总结(一) [试读]
2️⃣OCR系列第二章 【OCR基础介绍】:OCR文字识别技术总结(二)
3️⃣OCR系列第三章 【文字检测技术】:OCR文字识别技术总结(三)
4️⃣OCR系列第四章 【文字识别技术】:OCR文字识别技术总结(四)
5️⃣OCR系列第五章 【实战代码解析】:OCR文字识别技术总结(五)

进阶:深入浅出OCR系列目录

目录导图版本:
在这里插入图片描述

注:以上系列将继续更新及完善,非最终版本!后续更新内容包括不限于文字检测、文件识别、表格识别、版面分析、纠错及结构化、部署及实战等方面内容,欢迎大家订阅该专栏! [ 欢迎入群交流,群内将分享更多大数据与人工智能方向知识。]

OCR领域经典论文汇总:

1️⃣OCR文字识别经典论文详解 [试读]
2️⃣OCR文字识别方法综述
3️⃣场景识别文字识别综述(待更新)
4️⃣文字检测方法综述(待更新)

OCR领域论文详解系列:

1️⃣CRNN:CRNN文字识别 [试读]
2️⃣ASTER:ASTER文本识别详解

目前在整理阶段,后续会更新其他文字检测与识别方向论文解读。

OCR项目实战系列:

参考《深入浅出OCR》目录
在这里插入图片描述

注:更多实战项目敬请期待,详细介绍可以参考本系列其他文章,每个系列对应部分会陆续更新,欢迎大家交流订阅!!


一、OCR概念及发展

OCR (Optical Character Recognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,经过检测暗、亮的模式肯定其形状,而后用字符识别方法将形状翻译成计算机文字的过程;即,针对印刷体字符,采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,并经过识别软件将图像中的文字转换成文本格式,供文字处理软件进一步编辑加工的技术。如何除错或利用辅助信息提升识别正确率,是OCR最重要的课题,ICR(Intelligent Character Recognition)的名词也随之产生。

简单来说,OCR识别就是光学文字识别,是指通过图像处理和模式识别技术对光学的字符进行识别。**它是计算机视觉研究领域的分支之一,是计算机科学的重要组成部分。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。

二、OCR发展

image.png
OCR的概念是在1929年由德国科学家Tausheck最早提出来的,后来美国科学家Handel也提出了利用技术对文字进行识别的想法。而最先对印刷体汉字识别进行研究的是IBM公司的Casey和Nagy,1966年他们发表了第一篇关于汉字识别的文章,采用了模板匹配法识别了1000个印刷体汉字。
早在60、70年代,世界各国就开始有OCR的研究,而研究的初期,多以文字的识别方法研究为主,且识别的文字仅为0至9的数字。以一样拥有方块文字的日本为例,1960年左右开始研究OCR的基本识别理论,初期以数字为对象,直至1965至1970年之间开始有一些简单的产品,如印刷文字的邮政编码识别系统,识别邮件上的邮政编码,帮助邮局做区域分信的做业;也所以至今邮政编码一直是各国所倡导的地址书写方式。
20世纪70年代初,日本的学者开始研究汉字识别,并作了大量的工做。中国在OCR技术方面的研究工做起步较晚,在70年代才开始对数字、英文字母及符号的识别进行研究,70年代末开始进行汉字识别的研究,到1986年,我国提出“863”高新科技研究计划,汉字识别的研究进入一个实质性的阶段,清华大学的丁晓青教授和中科院分别开发研究,相继推出了中文OCR产品,现为中国最领先汉字OCR技术。早期的OCR软件,因为识别率及产品化等多方面的因素,未能达到实际要求。同时,因为硬件设备成本高,运行速度慢,也没有达到实用的程度。只有个别部门,如信息部门、新闻出版单位等使用OCR软件。进入20世纪90年代之后,随着平台式扫描仪的普遍应用,以及我国信息自动化和办公自动化的普及,大大推进了OCR技术的进一步发展,使OCR的识别正确率、识别速度知足了广大用户的要求。

三、OCR的应用场景

根据OCR的应用场景而言,我们可以大致分成识别特定场景下的专用OCR以及识别多种场景下的通用OCR。就前者而言,证件识别以及车牌识别就是专用OCR的典型案例。针对特定场景进行设计、优化以达到最好的特定场景下的效果展示。那通用的OCR就是使用在更多、更复杂的场景下,拥有比较好的泛性。在这个过程中由于场景的不确定性,比如:图片背景极其丰富、亮度不均衡、光照不均衡、残缺遮挡、文字扭曲、字体多样等等问题,会带来极大的挑战。

在这里插入图片描述

文档文字识别:可以将图书馆、报社、博物馆、档案馆等的纸质版图书、报纸、杂志、历史文献档案资料等进行电子化管理,实现精准地保存文献资料。

自然场景文字识别:识别自然场景图像中的文字信息如车牌、广告干词、路牌等信息。对车辆进行识别可以实现停车场收费管理、交通流量控制指标测量、车辆定位、防盗、高速公路超速自动化监管等功能。

票据文字识别:可以对增值税发票、报销单、车票等不同格式的票据进行文字识别,可以避免财务人员手动输入大量票据信息,如今已广泛应用于财务管理、银行、金融等众多领域。。

证件识别:可以快速识别身份证、银行卡、驾驶证等卡证类信息,将证件文字信息直接转换为可编辑文本,可以大大提高工作效率、减少人工成本、还可以实时进行相关人员的身份核验,以便安全管理。

OCR生态:

在这里插入图片描述

四、OCR的技术路线

典型的OCR技术路线如下图所示:

其中OCR识别的关键路径在于文字检测和文本识别部分,这也是深度学习技术可以充分发挥功效的地方。

1.传统OCR技术流程:

1、水平投影垂直投影
2、模板匹配
3、查找轮廓findcontours

传统的光学字符识别过程为:图像预处理(彩色图像灰度化、二值化处理、图像变化角度检测、矫正处理等)、版面划分(直线检测、倾斜检测)、字符定位切分、字符识别、版面恢复、后处理、校对等。
在这里插入图片描述

2.深度学习OCR技术流程:

深度学习图像文字识别流程包括:输入图像、深度学习文字区域检测、预处理、特征提取、深度学习识别器、深度学习后处理等。
在这里插入图片描述
现有多数深度学习识别算法具体流程包括图像校正、特征提取、序列预测等模块,流程如图所示:
主流深度学习文字识别方法流程

五、场景文字检测与识别方法

注:此篇仅做概括介绍,后续文章会对重点方法进行详细展开介绍!

1.场景文字检测方法:

在这里插入图片描述

2.场景文字识别方法:

在这里插入图片描述

3.端到端自然场景检测和识别方法:

在这里插入图片描述

六、常用文字检测框架介绍:

1、DBNet

官方论文:Real-time Scene Text Detection with Differentiable Binarization
参考代码:DBNet

首先,DB是一种基于分割的文本检测算法。在各种文本检测算法中,基于分割的检测算法可以更好地处理弯曲等不规则形状文本,因此往往能取得更好的检测效果。但分割法后处理步骤中将分割结果转化为检测框的流程复杂,耗时严重。因此作者提出一个可微的二值化模块(Differentiable Binarization,简称DB),将二值化阈值加入训练中学习,可以获得更准确的检测边界,从而简化后处理流程。DB算法最终在5个数据集上达到了state-of-art的效果和性能。

  • 主要思想:先获取图像中的文本区域,再利用opencv、polygon等后处理得到文本区域的最小包围曲线;
  • DB提出可微分阈值,通过一个近似于阶跃函数的二值化函数使得分割网络在训练时学习文本分割的动态阈值,使模型提升精度,简化后处理;
  • DB的backbone时典型的FCN结构,由多层上采样和下采样的特征图concat完成。
    在这里插入图片描述

2、CTPN

官方论文: Detecting Text in Natural Image with Connectionist Text Proposal Network
参考代码:https://github.com/eragonruan/text-detection-ctpn

CTPN模型主要包括三个部分,分别是卷积层、Bi-LSTM层、全连接层,其结构如下图所示。
在这里插入图片描述

  • 在卷积层部分,CTPN选取VGG16模型前5个conv5= stage得到feature maps作为图像最后的特征,假设此时feature maps的尺寸为 W *H * C;
  • 由于文本之间存在序列关系,因此,作者引入了递归神经网络,采用的是一层Bi-LSTM层,作者发现引入了递归神经网络对文本检测的效果有一个很大的提升,如下图所示,第一行是不采用递归神经网络的效果,第二行是采用了Bi-LSTM后的效果。具体的做法是采用一个的滑动窗口,提取feature
    maps上每个点周围的区域作为该点的特征向量表示,此时,图像的尺度变为,然后将每一行作为序列的长度,高度作为batch_size,传入一个128维的Bi-LSTM,得到Bi-LSTM层的输出为;
  • 将Bi-LSTM的输出接入全连接层,在这一部分,作者引入了anchor的机制,即对每一个点用k个anchor进行预测,每个anchor就是一个盒子,其高度由[273,390,…,11]逐渐递减,每次除以0.7,总共有10个。作者采用的是三个全连接层分支。

3、EAST

官方论文: EAST: An Efficient and Accurate Scene Text Detector
参考代码:https://github.com/argman/EAST

论文的思想非常简单,结合了DenseBox和Unet网络中的特性,具体流程如下:

  • 先用一个通用的网络(论文中采用的是Pvanet,实际在使用的时候可以采用VGG16,Resnet等)作为base net ,用于特征提取
  • 基于上述主干特征提取网络,抽取不同level的feature map,它们的尺寸分别是 WHC,这样可以得到不同尺度的特征图.目的是解决文本行尺度变换剧烈的问题,ealy stage可用于预测小的文本行,late-stage可用于预测大的文本行.
  • 特征合并层,将抽取的特征进行merge.这里合并的规则采用了U-net的方法,合并规则:从特征提取网络的顶部特征按照相应的规则向下进行合并,这里描述可能不太好理解,具体参见下述的网络结构图
  • 网络输出层,包含文本得分和文本形状.根据不同文本形状(可分为RBOX和QUAD),输出也各不相同,具体参看网络结构图。

在这里插入图片描述

注:上述仅列举几个简单常见算法简介,文字检测与文字识别详细介绍、其他常见和最新算法见后续系列文章(持续补充)!

七、常用文字识别框架介绍:

常见文本识别的算法可分为基于CTC技术的方法和基于注意力机制的网络模型两大类。

  • CTC技术可以有效地捕获输入序列的上下文依赖关系,同时能够很好地解决图像和文本字符对齐的问题,但在自由度较大的手写场景下仍会出现识别错误。

  • 注意力机制主要应用于卷积神经网络特征权重的分配上,提高强特征权重,降低弱特征的权重,同时在由图像到文字的解码过程中又具有天然的语义捕获能力,因此,在图像特征提取以及语义提取方面都提升了OCR模型的性能。

1.基于CTC文字识别方法

CRNN

官方论文:An End-to-End Trainable Neural Network for Image-Based Sequence Recognition and Its Application to Scene Text Recognition
参考代码:https://github.com/meijieru/crnn.pytorch

简介:基于 CTC 最典型的算法是CRNN (Convolutional Recurrent Neural Network),它的特征提取部分使用主流的卷积结构,常用的有ResNet、MobileNet、VGG等。CRNN文本识别算法引入了双向 LSTM(Long Short-Term Memory) 用来增强上下文建模,通过实验证明双向LSTM模块可以有效的提取出图片中的上下文信息。最终将输出的特征序列输入到CTC模块,直接解码序列结果。

CRNN网络架构:

CRNN网络结构包含三部分,从下到上依次为:
1.卷积层,使用深度CNN,对输入图像提取特征。
2.循环层,使用双向RNN(BLSTM)对特征序列进预测,输出预测标签(真实值)分布。
3.转录层,使用 CTC 损失,把从循环层获取的一系列标签分布转换成最终的标签序列。

2.基于Attention文字识别方法

简介:目前主流的场景文本识别模型都是基于编码器-解码器框架的,而传统的编码器-解码器框架只能将输入序列编码成一个固定长度的向量表示。引入Attention机制的编码器输出的是不定长向量组成的序列,对目标数据以及相关数据赋予更大的权重,使得解码器的“注意力”集中到目标数据,获取到更多的细节,并且可以学到较长输入序列的合理向量表示。注意机制通常与RNN 结合作为预测模块。

ASTER

官方论文:ASTER: An Attentional Scene Text Recognizer with Flexible Rectification
参考代码:https://github.com/ayumiymk/aster.pytorch

以下为基于Attention文字识别方法总结:

在这里插入图片描述

以下是文字识别方法算法分类,具体内容参考文章:OCR文字识别经典论文详解
在这里插入图片描述

八、深度学习文字检测与识别方法发展历程

1.过分割与文本行识别两种方法发展:

在这里插入图片描述

2.深度学习文字检测模型发展:

在这里插入图片描述

3.深度学习文字识别模型发展:

在这里插入图片描述

注:文字检测与文字识别算法部分在后续系列文章中将详细展开介绍,后续参考文章开头目录!

九、OCR常用的数据集

规则数据集
  • IIIT5K-Words (IIIT) 2000 for Train; 3000 for Test
  • Street View Text (SVT) 257 for Train; 647 for Test
  • ICDAR2003 (IC03)
不规则数据集
  • ICDAR2015 (IC15) 4468 for Train; 2077 for Test;
  • SVT Perspective (SP) 645 for Test
  • CUTE80 (CT) 288 for Test
合成数据集
  • MJSynth (MJ) 8.9million个图像
  • SynthText(ST) 5.5million个图像

注:后续文章将对上述重要数据集逐一展开详细介绍!

1.数据集汇总


在这里插入图片描述
在这里插入图片描述

2.数据集下载

数据集 数据介绍 标注格式 下载地址
ICDAR_2013 语言: 英文 train:229 test:233 x1 y1 x2 y2 text 下载链接1
.
ICDAR_2015 语言: 英文 train:1000 test:500 x1,y1,x2,y2,x3,y3,x4,y4,text 下载链接2
.
ICDAR2017-MLT 语言: 混合 train:7200 test:1800 x1,y1,x2,y2,x3,y3,x4,y4,text 下载链接3
. 提取码: z9ey
ICDAR2017-RCTW 语言: 混合 train:8034 test:4229 x1,y1,x2,y2,x3,y3,x4,y4,<识别难易程度>,text 下载链接4
天池比赛2018 语言: 混合 train:10000 test:10000 x1,y1,x2,y2,x3,y3,x4,y4,text 检测5
识别6
ICDAR2019-MLT 语言: 混合 train:10000 test:10000 x1,y1,x2,y2,x3,y3,x4,y4,语言类别,text 下载链接7
. 提取码: xofo
ICDAR2019-LSVT 语言: 混合 train:30000 test:20000 json格式标签 下载链接8
ICDAR2019-ReCTS 语言: 混合 train:20000 test:5000 json格式标签 下载链接9
ICDAR2019-ArT 语言: 混合 train:5603 test:4563 json格式标签 下载链接10
Synth800k 语言: 英文 80k 基于字符标注 下载链接11
360万中文数据集 语言: 中文 360k 每张图片由10个字符构成 下载链接12
. 提取码:lu7m
中文街景数据集CTW 语言:中文 32285 基于字符标注的中文街景图片 下载链接13
百度中文场景文字识别 语言: 混合 29万 下载链接14

十、OCR技术难点:

1.不同拍摄角度:指通过正拍、斜拍和图像反转等不同角度进行拍摄;

2.不同光线:指在亮光(可能会出现反光)、暗光和部分亮光部分暗光的情形 下拍摄;

3.文字不清晰:指存在因污损、遮挡、折痕、印章、背景纹理等造成文字不 清楚的样本;

4.边框不完整:主要指图片样本中物体(证件、票据、车牌等)边框没有完 整出现在画面中;

5.其他特殊情况:主要指卡证类样本需考虑带有少数民族文字、生僻字,同 时考虑到证件等用于高安全场景,对复印、扫描、屏幕翻拍、PS等样本 进行告警;印刷体样本需考虑不同字号、不同排版方向,以及弯曲的文本。

十一、OCR评价指标

OCR评价指标包括字段粒度和字符粒度的识别效果评价指标。

  • 以字段为单位的统计和分析,适用于卡证类、 票据类等结构化程度较高的OCR 应用评测。
  • 以字符 (文字和标点符号) 为单位的统计和分析,适用于通用印刷体、手写体类非结构化数据的OCR应用评测。具体指标包括以下几个:
    在这里插入图片描述
    (上图摘自智能文字识别(OCR)能力评测与应用白皮书)

此外,从服务角度来说,识出率、平均耗时等也是衡量OCR系统好坏的指标之一。

编辑距离:

编辑距离是针对二个字符串(例如英文字)的差异程度的量化量测,量测方式是看至少需要多少次的处理才能将一个字符串变成另一个字符串。在莱文斯坦距离中,可以删除、加入、替换字符串中的任何一个字元,也是较常用的编辑距离定义,常常提到编辑距离时,指的就是莱文斯坦距离。

测试指标说明:

平均识别率:[ 1 - (编辑距离 / max(1, groundtruth字符数, predict字符数) ) ] * 100.0%
的平均值; 平均编辑距离:编辑距离,用来评估整体的检测和识别模型;
平均替换错误:编辑距离计算时的替换操作,用于评估识别模型对相似字符的区分能力;
平均多字错误:编辑距离计算时的删除操作,用来评估检测模型的误检和识别模型的多字错误;
平均漏字错误:编辑距离计算时的插入操作,用来评估检测模型的漏检和识别模型的少字错误;

十二 、OCR资源

1.论文学习资源

  • 顶会:ICDAR、CVPR、ECCV、ICCV等
  • Arxiv搜索引擎:http://www.arxiv-sanity.com/

2.OCR相关比赛:

ICDAR 国际文档分析与识别大会 : https://rrc.cvc.uab.es/?com=introduction

含金量较高,两年一次,目前2023年比赛正在进行,欢迎大家评论区组队参加!

CSIG 中国图象图形学学会

会定期举行OCR方向比赛,含金量可以,值得参加。

3.国内OCR领域优秀学者(不分先后顺序):

白翔黄伟林金连文刘成林殷绪成

4.常见的OCR识别平台:

  • 百度开放平台:PaddleOCR
  • 商汤科技OpenMM : MMOCR
  • 谷歌开源OCR引擎:Tesseract
  • 其余基于深度学习字符识别框架

后续文章将依次继续详细介绍,并包括使用上述框架进行OCR项目实战!

5.优秀OCR资源推荐:

1.OCR合集: handong1587
2. Awesome-Scene-Text-Recognition

后续文章将更新最新OCR优秀资料,欢迎订阅关注!

本文参考资料:
https://aistudio.baidu.com/aistudio/education/group/info/25207

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_36816848/article/details/123908569

智能推荐

1.10 存储器 MEM Memory_hdd和mem-程序员宅基地

文章浏览阅读160次。1.10 存储器 MEM Memory1 存储器是什么?2 有哪些分类3 参考链接1 存储器是什么?存储器单元实际上是时序逻辑电路的一种。按存储器的使用类型可分为只读存储器(ROM)和随机存取存储器(RAM)。只读存储器(ROM):存储的内容是固定不变的,只能读出而不能写入的半导体存储器。随机读写存储器(RAM):既能读出又能写入的半导体存储器。RAM,random access memory,随机存取存储器又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写_hdd和mem

HTML网页制作——用DIV+CSS技术设计的动漫网站——网页设计实例 企业网站制作-程序员宅基地

文章浏览阅读892次,点赞22次,收藏20次。1网页简介:此作品为学生个人主页网页设计题材,HTML+CSS 布局制作,web前端期末大作业,大学生网页设计作业源码,这是一个不错的网页制作,画面精明,代码为简单学生水平, 非常适合初学者学习使用。2.网页编辑等任意html编辑软件进行运行及修改编辑等操作)。3.知识应用:技术方面主要应用了网页知识中的: Div+CSS、鼠标滑过特效、Table、导航栏效果、Banner、表单、二级三级页面等,视频、 音频元素 、Flash,同时设计了Logo(源文件)所需的知识点。

Linux进程同步之POSIX信号量_每个进程都要初始化信号量吗-程序员宅基地

文章浏览阅读1k次。部分内容来自:http://blog.csdn.net/anonymalias/article/details/9219945一、概述POSIX信号量有两种:有名信号量和无名信号量,无名信号量也被称作基于内存的信号量。有名信号量通过IPC(Inter-Process Communication,进程间通信)名字进行进程间的同步,而无名信号量如果不是放在进程间的共享内存区中,是不能用来进_每个进程都要初始化信号量吗

Windows 7修改路由表的跃点数_route add 跃点数-程序员宅基地

文章浏览阅读1.8w次。显示当前网关:route printnetstat -r //两个命令都是显示所有的路由表route print -4 //只显示IPV4的网关route print -6 //只显示IPV6的网关添加网关:route add 0.0.0.0 mask 0.0.0.0 192.168.1.1删除网关:route delete 0.0.0.0 mask 0.0.0.0 192.168.1.1修改静态..._route add 跃点数

CCKS2020 任务三 面向中文电子病历的医疗实体及事件抽取_ccks2020数据集医学-程序员宅基地

文章浏览阅读1.9k次。CCKS2020 任务三 本任务是CCKS围绕中文电子病历语义化开展的系列评测的一个延续,在CCKS 2017,2018, 2019相关评测任务的基础上进行了延伸和拓展。 本任务包括两个子任务: (1) 医疗命名实体识别:于给定的一组电子病历纯文本文档,识别并抽取出与医学临床相关的..._ccks2020数据集医学

Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2-程序员宅基地

文章浏览阅读5.7k次。Failed to resolve: com.android.support.constraint:constraint-layout:1.0.2 Install repository and sync project. Show in file. Show in project structure dialog. 未能解决:com.android.support.const_com.android.support.constraint:constraint-layout:1.0.2 jar

随便推点

网络控制IO模块:WIZ220IO / WIZ220IO-EVB_嵌入式远程io网关-程序员宅基地

文章浏览阅读2.5k次。WIZ220IO是一款嵌入式远程 I/O模块,它能通过因特网在远程控制和监测I/O端口。可以使用Windows应用程序或嵌入式网络服务器检测并控制I/O端口。WIZ220IO支持16个数字I/O端口和4个模拟I/O。另外,固件和嵌入式网页也可以通过以太网进行远程更新。WIZ220IO-EVB 是评估底板,用户可用它迅速地评估WIZ220IO模块。该评估板有8个开关用于数字输入测试,8个LED用_嵌入式远程io网关

PM3嗅探数据采集密码自动提取密码工具_pm3嗅探密码计算器-程序员宅基地

文章浏览阅读3.2k次。PM3嗅探可能大家都玩过,它主要目的就是采集门禁读头和卡片之间的交互数据,从中分析出有用的资料,帮我们读取卡片数据。针对M1卡,如何嗅探采集到卡片资料呢?正常的嗅探流程是这样的1、卡片放PM3上2、PM3连接电脑(或者连接手机)3、运行嗅探命令hf mf sniff4、卡片和PM3一起去读头刷卡,刷个3-5次5、按一下PM3侧面按钮,然后输入命令hf mf list6、如果是新版的软件,比如RDV4GUI(可以配合RDV4/PM3/RDV2全.._pm3嗅探密码计算器

springboot/java/php/node/python微信小程序的外卖点餐系统的设计与实现【计算机毕设】-程序员宅基地

文章浏览阅读395次,点赞4次,收藏3次。设计与实现基于微信小程序的外卖点餐系统,对商家而言,可以拓宽营销渠道,降低获客成本,通过微信庞大的用户基础和社交网络的传播效应,增加曝光率和订单量。对用户来说,这样的系统意味着更加便捷的操作流程和更高效的服务体验,用户可以在聊天、阅读等日常使用微信的过程中,轻松完成点餐,无需额外下载应用程序,节省了手机存储空间。微信小程序的外卖点餐系统的设计与实现,不仅能够推动餐饮行业的数字化转型,也为消费者提供了更为丰富和便捷的餐饮选择,具有重要的社会和经济价值。操作系统:win7以上,最好是win10。

Android横屏竖屏判断--全屏设置--取屏幕宽高_横竖屏切换获取高度-程序员宅基地

文章浏览阅读3.3k次。这些代码都要放在Activity里。横屏竖屏判断方法1:mActivity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;// 横屏方法2:DisplayMetrics dm = new DisplayMetrics();mLauncher.g_横竖屏切换获取高度

IDEA修改Maven全局配置-程序员宅基地

文章浏览阅读893次。在使用过程中发现,IDEA每次新建一个Project ,这个maven配置都会初始化默认的。这里需要设置下全局配置;File -> Other Settings -> Settings for New Projects...这里设置下即可。参考:https://blog.csdn.net/Suyebiubiu/article/details/85..._idea2.1 maven全局设置

mac phpstorm过期_mac. phpstorm怎么看到期时间-程序员宅基地

文章浏览阅读1.2k次。http://idea.lanyus.com/_mac. phpstorm怎么看到期时间

推荐文章

热门文章

相关标签