java实现 手写体识别_java手写体英文数字识别系统 识别预处理如何实现 采用什么语言比较好...

2023-11-15

展开全部

转载 1 引言

手写体数字识别是文字识别中的一个研究课题,是多年来的研究热点,也是模62616964757a686964616fe4b893e5b19e31333337373638式识别领域中最成功的应用之一。由于识别类型较少,在实际生活中有深远的应用需求,一直得到广泛的重视。近年来随着计算机技术和数字图像处理技术的飞速发展,数字识别在电子商务、机器自动输入等场合已经获得成功的实际应用。尽管人们对手写数字的研究己从事了很长时间的研究,并己取得了很多成果,但到目前为止,机器的识别本领还无法与人的认知能力相比,这仍是一个有难度的开放问题,所以对手写数字识别的进一步研究,寻求如何更高效更准确更节能地实现手写数字的自动录入和识别的解决方案对提高经济效益、推动社会发展都有深远的意义。

近年来, 人工神经网技术发展十分迅速, 它具有模拟人类部分形象思维的能力, 为模式识别开辟了新的途径, 成了模拟人工智能的一种重要方法,特别是它的信息并行分布式处理能力和自学习功能等显著优点, 更是激起了人们对它的极大的兴趣。BP(Back Propagation)网络是神经网络中一种,是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,可以很好地解决非线性问题,在函数逼近、模式识别和数据压缩等方面都有很广泛的应用。我们在认真地研究了神经网络的基本原理和机制的基础上, 结合手写体数字识别这一具体课题, 提出了用BP神经网络方法来实现手写体数字识别的方案。

2 手写体数字识别概述

2.1 手写数字识别简述

模式识别是六十年代初迅速发展起来的一门学科。由于它研究的是如何用机器来实现人及某些动物对事物的学习、识别和判断能力,因而受到了很多科技领域研究人员的注意,成为人工智能研究的一个重要方面。

字符识别是模式识别的一个传统研究领域。从50年代开始,许多的研究者就在这一研究领域开展了广泛的探索,并为模式识别的发展产生了积极的影响。

手写体数字识别是多年来的研究热点也是字符识别中的一个特别问题。手写体数字识别在特定的环境下,如邮政编码自动识别系统,税表和银行支票自动处理系统等一般情况。当涉及到数字识别时,人们往往要求识别器有很高的识别可靠性,特别是有关金额的数字识别时,如支票中填写的金额部分,更是如此。因此针对这类问题的处理系统设计的关键环节之一就是设计出高可靠性和高识别率的手写体数字识别方法。这个领域取得了飞速的发展,部分是由于更好的学习算法,部分是由于更优良的训练集。美国国家科学学会(NIST)建立了

一个包含60000个经过标注的数字的数据库,它已经成为对新的学习算法进行比较的性能测试标准。然而可以说还没有哪个手写体数字识别器达到完美的识别效果。

在过去的数十年中,研究者们提出了许许多多的识别方法,按使用的特征不同,这些方法可以分为两类:基于结构特征的方法和基于统计特征的方法。统计特征通常包括点密度的测量、矩、特征区域等。结构特征通常包括园、端点、交叉点、笔划、轮廓等,一般来说,两类特征各有优势。例如,使用统计特征的分类器易于训练,而且对于使用统计特征的分类器,在给定的训练集上能够得到相对较高的识别率;而结构特征的主要优点之一是能描述字符的结构,在识别过程中能有效地结合几何和结构的知识,因此能够得到可靠性较高的识别结果。本文针对手写数字识别选用BP神经网络这种基于传统统计学基础上的分类方法,用于分割和识别,并取得了较好的识别效果。

2.2 手写数字识别的一般过程

手写体数字识别的过程如图2-1所示,一般分为预处理、特征提取、数字串的分割、分类器、等模块。原始图像是通过光电扫描仪,CCD器件或电子传真机等获得的二维图像信号。预处理包括对原始图像的去噪、倾斜校正或各种滤波处理。手写体数字具有随意性,其字符大小、字间距、字内距变化很大,分割难度较大。手写数字串的分割是其中最重要的环节,是制约识别率的瓶颈所在。去噪是预处理中极重要的环节。系统面对的是从实际环境中切分出的字符图像,可能有粘连的边框、随机的墨点、切分不正确引入的其他字符笔划等使前景点增加的噪声,还可能有断线等使背景增加的噪声,目前适应各种环境的通用去噪算法还不成熟。预处理中的规格化也不仅仅是同比例的放缩,它不仅要保持拓扑不变,更要最大限度地突出所取特征。在众多应用环境中,特征提取、分类器、多分类器集成是整个识别系统的核心。大体上来说特征可以分为结构特征和统计特征两类。由于分类器的选择取决于所提取的特征,因此相应的识别方法便有结构方法和统计方法。

总之,从手写体数字识别原理可见,手写体数字识别技术主要包括以下几点:

1)图像预处理,包括彩色图像转成灰度图像、二值化,归一化,滤除干扰噪声等;

2)基于数字图像的特征选择和提取;

3)数字串的分割;

4)模式分类识别。

其中,第二和第四部分是手写数字识别的重点,直接关系到识别的准确率和效率,也是本论文研究的重点所在。

结果图2-1 识别流程

2.3 手写数字识别的一般方法及比较

手写数字识别在学科上属于模式识别和人工智能的范畴。在过去的四十年中,人们提出了很多办法获取手写字符的关键特征,提出了许多识别方法和识别技术。这些手段分两大类:

全局分析和结构分析。

多年的研究实践表明,对于完全没有限制的手写数字,几乎可以肯定:没有一种简单的方案能达到很高的识别率和识别精度,因此,最近这方面的努力向着更为成熟、复杂、综合的方向发展。研究工作者努力把新的知识运用到预处理,特征提取,分类当中。近年来,人工智能中专家系统方法、人工神经网络方法已应用于手写数字识别。在手写数字识别的研究中,神经网络技术和多种方法的综合是值得重视的方向。

针对模式特征的不同选择及其判别决策方法的不同,可将模式识别方法大致分为5大类这5种识别方法均可实现手写数字识别,但它们特点不同,必须根据条件进行选择。

(1)统计模式法

这是以同类模式具有相同属性为基础的识别方法。用来描述事物属性的参量叫做待征,它可以通过模式的多个样本的测量值统计分析后按一定准则来提取。例如:在手写数字识别系统中,我们可以把每个数字的图形分为若干个小方块(图),然后统计每一小方块中的黑像素构成一个多维特征矢量,作为该数字的特征。必须注意的是:在选择特征时,用于各类模式的特征应该把同类模式的各个样本聚集在一起,而使不同类模式的样本尽量分开,以保证识别系统能具有足够高的识别率。

(2)句法结构方法

在形式语言和自动机的基础上产生了句法结构这一方法。其基本原理是:对每一个模式都用一个句法来表示,而对一个待识别的未知样本,通过抽取该样本的基元来构造该样本的句子,然后分析此句子满足什么样的句法,从而推断出他该属于哪个模式类。这种方法的优点是它能反映模式的结构特征,而且对模式的结构特征变换不敏感,因此比较适合联机识别。但是由于抽取字符的基元比较困难,因而不是特别适合用于脱机识别,同时这一方法的理论基础还不可靠,抗干扰能力比较弱。

(3)逻辑特征法

就是其特征的选择对一类模式识别问题来说是独一无二的,即在一类问题中只有1个模式具有某1种(或某1组合的)逻辑特征,此方法律立了关于知识表示及组织,目标搜索及匹配的完整体系;对需通过众多规则的推理达到识别目标的问题,有很好的效果,但当样品有缺损,背景不清晰,规则不明确甚至有歧义时,效果不好。

(4)模糊模式方法

就是在模式识别过程中引入了模糊集的概念,由于隶属度函数作为样品与模板相似程度的量度,故能反映整体的、主要的特性,模糊模式有相当不匀称的抗干扰与畸变,从而允许样品有相当程度的干扰与畸变,但准确合理的隶属度函数往往难以建立。目前有学者在研究,并将其引入神经网络方法形成模糊神经网络识别系统。

(5)神经网络方法

就是使用人工神经网络方法实现模式识别。可处理某些环境信息十分复杂,背景知识不清楚,推理规则不明确的问题,允许样品有较大的缺损、畸变。神经网络方法的缺点是其模型在不断丰富完善中,目前能识别的模式类不够多,神经网络方法允许样品有较大的缺损和畸变,其运行速度快,自适应性能好,具有较高的分辨率。

上述几种识别方法各有特点。结构法比较直观,能较好反映事物的结构特性:问题是基元的提取很不容易,各基元的关系也比较复杂,抗干扰性能也较差。统计法用计算机来抽取特征,比较方便,抗干扰性能强;缺点是没有充分利用模式的结构特性。神经网络方法由于处理的并行性,可以快速同时处理大容量的数据,工作时具有高速度和潜在超高速,并且,网络的最终输出是由所有神经元共同作用的结果,一个神经元的错误对整体的影响很小,所以其容错性也非常的好。基于以上的考虑,本文的手写数字识别采用了神经网络的方法。

3 图像预处理与特征提取

手写体图像数据在没有进行一定的图像预处理和特征提取之前,不能立即应用到程序中进行神经网络训练和字符识别工作。从图像处理角度来说,手写体的字符识别对字符是不是有颜色是不关心的,而对此图像的清晰度是很关心的。所以在图像进行一系列的图像处理工作是很有必要的。图像的预处理是正确、有效提取图像特征的基础,有效的图像特征作为网络的输入值才能进行正确的神经网络训练和最终得到正确、有效的网络权重。

3.1 数字图像预处理

3.1.1 灰度化处理

彩色图像包含了大量的颜色信息,不但在存储上开销很大,在处理上也会降低系统的执行速度,因此在对图像进行识别等处理中经常将彩色图像转变为灰度图像,以加快处理速度。由彩色转换为灰度的过程称为灰度化处理。灰度图像就是只有强度信息而没有颜色信息的图像,存储灰度图像只需要一个数据矩阵,矩阵每个元素表示对应位置像素的灰度值。彩色图像的像素色为RGB(R,G,B),灰度图像的像素色为RGB(r,r,r) ,R,G,B可由彩色图像的颜色分解获得。而R,G,B的取值范围是0-255,所以灰度的级别只有256级。灰度化的处理方法主要有如下三种:最大值法、平均值法和加权平均值法。本文用到的加权平均值法来处理,即更换每个像素的颜色索引(即按照灰度映射表换成灰度值)。 权重选择参数为:

红:0.299

绿:0.587

蓝:0.114

例如某像素点颜色对应的灰度值计算公式为:

NewPixColor?(BYTE)(0299*Red?0.587*Green?0.114*Blue) 系统输入的源图像支持3通道或者4通道图像,支持Format24bppRgb, format32bppRgb, Format32bppArgb和Format8bppIndex这4种像素格式。

3.1.2 二值化处理

二值图像是指整幅图像画面内仅黑、白二值的图像。在数字图像处理中,二值图像占有非常重要的地位。在实际的识别系统中,进行图像二值变换的关键是要确定合适的阈值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。采用二值图像进行处理,能大大地提高处理效率。 二值化的关键在于阈值的选取,阈值的选取方法主要有三类:全局阈值法、局部阈值法、动态阈值法。全局阀值二值化方法是根据图像的直方图或灰度的空间分布确定一个阀值,并根据该阀值实现灰度图像到二值化图像的转化。全局阀值方法的优点在于算法简单,对于目标和背景明显分离、直方图分布呈双峰的图像效果良好,但对输入图像量化噪声或不均匀光照等情况抵抗能力差,应用受到极大限制。局部阀值法则是由像素灰度值和像素周围点局部

灰度特性来确定像素的阀值的。Bernsen算法是典型的局部阀值方法,非均匀光照条件等情况虽然影响整体图像的灰度分布却不影响局部的图像性质,局部阀值法也存在缺点和问题,如实现速度慢、不能保证字符笔划连通性、以及容易出现伪影现象等。动态阀值法的阀值选择不仅取决于该像素灰度值以及它周围像素的灰度值,而且还和该像素的坐标位置有关,由于充分考虑了每个像素邻域的特征,能更好的突出背景和目标的边界,使相距很近的两条线不会产生粘连现象。在图像分割二值化中,自动闽值选取问题是图像分割的关键所在。事实证明,闽值的选择的恰当与否对分割的效果起着决定性的作用。

本文采用全局阈值的方法,实现将图像二值化的功能。如果某个像素的值大于等于阈值,该像素置为白色;否则置为黑色。系统程序目前仅支持8bpp灰度图像的转换,阈值介于0~255之间,程序中取220。

3.1.3 去离散噪声

原始图像可能夹带了噪声,去噪声是图像处理中常用的手法。通常去噪用滤波的方法,比如中值滤波、均值滤波,本文中去除离散噪声点采用中值滤波的方法。中值滤波法是一种非线性平滑技术,它将每一象素点的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值,让周围的像素值接近的真实值,从而消除孤立的噪声点。

3.1.4 字符分割

在识别时系统只能根据每个字符的特征来进行判断,为了最终能准确识别手写体数字,必须将单个字符从处理后的图像中逐个提取分离出来。具体做法是将图像中待识别的字符逐个分离出来并返回存放各个字符的位置信息的链表。当把图像分割完成后,从一定意义上来说便是形成了不同的小图,每一张小图就是一个数字,才能对这些小图进行尺寸大小一致的调整。

3.1.5 细化

3.2 图像特征提取

特征提取是字符识别中的一个重要组成部分,是模式识别的核心之一。经过预处理后,根据识别方法的要求抽取图像特征,作为识别的依据。一般而言,选择的特征一方面要求能够足够代表这个图像模式,另一方面要求它们的数量尽可能少,这样能有效地进行分类和较小的计算量。特征提取的好坏会直接影响其识别的分类效果,进而影响识别率,因此特征选择是模式识别的关键。但是,目前还没有一个有效的、一般的抽取、选择特征的方法。抽取、选择特征的方法都是面对问题的,因此针对不同的识别问题往往有不止一种的抽取、选择特征的方法。

本回答由提问者推荐

2Q==

已赞过

已踩过<

你对这个回答的评价是?

评论

收起

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java实现 手写体识别_java手写体英文数字识别系统 识别预处理如何实现 采用什么语言比较好... 的相关文章

  • mysql使用api详解_在MYSQL中如何使用API_MySQL

    5 2 选择API 本节介绍根据各种类型的应用程序选择A P I的方法 比较C DBI 和PHP API 的能力 并给出它们相对的优点和缺点 并指出什么时候应选择哪一个 首先应该指出 笔者不认为任一种语言优于其他语言 尽管笔者的确有自己的喜
  • 解决阿里云(ECS)等云主机服务端口的访问不通问题(安全组的坑)

    一 在现在阿里云 腾讯云 京东云等一系列的云主机的出现 作为开发者 将越来越多的服务搬上云主机上去了 二 但是在将服务 例如mysql redis等放在云主机上部署后 远程无法连接 其实是云主机安全组的坑 今天给忙活了一下午 三 配置安全组
  • 初等数据加密——对称加密算法

    对称加密算法是当今应用范围最广 使用频率最高的加密算法 根据加密方式分为密码和分组密码 分组密码工作模式又可分为ECB CBC CFB OFB和CTR等 密钥长度决定了加密算法的安全性 DES算法的使用 DES Data Encryptio
  • Unity实现鼠标点击指定位置导航角色

    实现目标 使用组件 一个场地 导航代理 摄像机 实现 进入游戏 鼠标左键点击场景的任意位置 导航代理将自动前往指向位置 步骤 首先我们需要一个场景 新建一平面作为场景地面 如果需要额外的障碍物则自己设置 这里不额外添加 然后在平面上放置一胶
  • Kubernetes(k8s)读记(一)

    Kubernetes 概述 Kubernetes 源于希腊语 意为 舵手 或 飞行员 k8s 这个缩写是因为 k 和 s 之间有八个字符的关系 Google 在 2014 年开源了 Kubernetes 项目 开源 用于管理云平台中多个主机
  • RabbitMQ-死信队列

    文章目录 前言 简介 使用Java代码创建和配置死信队列 死信队列的优缺点 总结 前言 当涉及到处理消息队列中无法正常消费的消息时 RabbitMQ的死信队列 Dead Letter Queue DLQ 是一个关键概念 在这篇博客中 我们将
  • 个人买保险扫盲

    1 购买保险原则总结 一般人都是有医保的 小孩也可以去社区买 这个是最基础的保障 一定要买 推荐的商业保险顺序 意外险 医疗险 gt 重疾险 gt 定期寿险 然后再是其他种类的保险等 意外和重大疾病是最有可能突然需要大笔资金花费的 对于普通
  • 图像识别中——目标分割、目标识别、目标检测和目标跟踪的区别

    计算机视觉旨在识别和理解图像 视频中的内容 包含四大基本任务 分类 图a 定位 检测 图b 语义分割 图c 和实例分割 图d 这四个任务需要对图像的理解逐步深入 给定一张输入图像 图像分类任务旨在判断该图像所属类别 目标定位是在图像分类的基
  • WebLogic Server 远程代码执行漏洞复现 (CVE-2023-21839)

    1 产品简介 Oracle WebLogic Server是一个统一的可扩展平台 用于在本地和云端开发 部署和运行企业应用程序 例如 Java WebLogic Server提供了Java Enterprise Edition EE 和Ja
  • Chatgpt介绍及搭建步骤

    ChatGPT是一个基于自然语言处理技术的聊天机器人 它使用了深度学习和语义分析技术 可以与用户进行自然 流畅的对话 ChatGPT可以回答各种问题 包括常见问题 娱乐 健康 技术 旅游 金融等领域 ChatGPT的核心技术是GPT Gen
  • java用正则表达式脱敏手机号

    一种正则形式 在Java开发中有时候需要对敏感字段数据脱敏 废话不多说 直接上代码 脱敏手机号 param str return 脱敏后字符串 public static String maskPhone String str return
  • Java变量的作用域:静态变量、全局变量和局部变量

    变量的作用域规定了变量所能使用的范围 只有在作用域范围内变量才能被使用 根据变量声明地点的不同 变量的作用域也不同 根据作用域的不同 一般将变量分为不同的类型 成员变量和局部变量 下面对这几种变量进行详细说明 成员变量 Java 的成员变量
  • Linux环境下PostgreSQL9.6+PostGIS2.5安装

    空间数据库原理上机实习要用 安了好久终于成功辽 由于在腾讯云上买好了服务器 所以直接远程登录了 一 PostgreSQL安装 1 导入yum源 sudo yum install y https download postgresql org
  • C++实现定时器

    定时器的主要数据 1 一个线程变量 保存定时器线程 2 一个互斥锁 配合条件变量使用 3 一个条件变量 结合互斥锁 可以是线程不执行任务时 睡眠一段时间 在退出调用时 可以唤醒线程完成退出 4 定时执行函数 具体的定时执行业务操作 5 间隔
  • 1核2G/2核4G的服务器centos安装哪个版本

    虽然目前的centos 8系统将会在今年停止更新维护 所以很多人担心和纠结该选择什么系统作为自己的服务器系统呢 不管是服务器是计算型共享型还是通用型服务器配置 都可以选择centos 8 x 具体关于通用型计算型和共享型服务器的介绍可以参考
  • python读取oracle数据库数据报编码错误

    UnicodeDecodeError gbk codec can t decode byte 0xa7 in position 2 illegal multibyte sequence 解决方法 根据数据库不同的编码设定 编写的python
  • webview中h5高德定位没有权限的问题Geolocation permission Denied

    网上都是说添加这两个东西 settings setDatabaseEnabled true settings setDomStorageEnabled true mWebView setWebChromeClient new WebChro
  • 02-工厂模式

    文章目录 1 简单工厂模式 2 工厂方法模式 3 抽象工厂模式 4 模式扩展 5 工厂模式在JDK中的应用 需求 设计一个咖啡店点餐系统 设计一个咖啡类 Coffee 并定义其两个子类 美式咖啡 AmericanCoffee 和拿铁咖啡 L
  • qt5中信号和槽连接,对于多种参数重载的处理

    因为QSpinBox的valueChanged信号有重载 为避免二义性 需要通过声明函数指针方式 来进行信号和槽的连接 void QSpinBox p int QSpinBox valueChanged 函数指针p前要加类名作用域符号 co

随机推荐

  • 假设u~N(0, 1), X

    假设 N 0 1 X
  • API HOOK

    本来这个方法是API HOOK中经常用到 但是我想试试在单个程序中实现 为何运行时总是错误 本来是一个函数跳另外一个的 我又后退了一步 只是用一个函数自己的前面8字节修改自己 还是会错误了 void CJmpDlg OnButton1 对应
  • JDBC 连接池配置文件 解决了already close问题

    XML文件 DataSource配置
  • 生命周期BeanPostProcessor(3)---Spring源码从入门到精通(九)

    上篇文章主要介绍了Bean生命周期 bean生命周期 创建bean gt 初始化init gt 销毁destory 而初始化和销毁是可以用 Bean指定的 或者用 PostCoustruct preDestory注解 或者用Initiali
  • 两个多项式相加算法(链表实现)

    来源 数据结构期中考试补充题 注 该代码测试数据较少 吃过晚饭有时间再测试下改改bug QAQ 多项式相加 include
  • Python3运行报错:TypeError: Object of type ‘type‘ is not JSON serializable解决方法(不是针对对象转Json的方法)

    问题描述 Python内置的json模块提供了非常完善的Python对象到JSON格式的转换 json dumps 将Python中的对象转换为JSON中的字符串对象 json loads 将JSON中的字符串对象转换为Python中的对象
  • OpenSystemArchitect从入门到放弃

    原因 pd每次建立外键都自动生成字段 这个设置找不到解决方案 就想着有不有替代pd的工具 结果百度 还真有 用OpenSystemArchitect的原因 开源免费 他的外键直观的展示2个表的关系 逻辑视图的支持 放弃 文档不全 好多问题没
  • YUM仓库及NFS共享服务理论

    文章目录 一 YUM仓库 1 YUM概述 2 准备安装源 3 访问YUM仓库 二 FNS共享存储服务 1 NFS概念 2 NFS使用场景 3 NFS服务 一 YUM仓库 1 YUM概述 YUM Yellow dog Updater Modi
  • Allegro添加相对传输延迟的等长规则设置

    怎么去添加相对传输延迟的等长规则 首先讲述的是通过直接添加法去添加 直接添加法只适用于点对点的传输模式 中间没有任何串阻 串容的情况 具体操作如下所示 01 打开规则管理器 打开规则管理器 执行菜单命令Setup Constraints 在
  • 抖之恒科技python常用库之工具库schema

    在Python编程语言中 有众多的开源库可以帮助程序员更加高效地完成各种任务 其中 Schema就是一款非常实用的工具库之一 本文将为您介绍Schema库的基本概念 使用方法以及它在Python编程中重要性 一 什么是Schema Sche
  • Koin入门使用

    一 简单流程 1 创建Koin容器 startKoin 创建一个Koin容器并注册到GlobalContext中 modules module 配置Koin模块并注入到Koin容器 2 创建Koin模块 class People val k
  • HDU1007(最近点对问题)

    题意不难理解 就是找到最近的两个点 计算其距离 除以2就是所求的圆的半径 思路很简单 运用分治的思想 先划分区间 分别找到左右区间中的最近点对 再合并区间 找到区间间的最近点对 注意如果用qsort 进行排序可能会超时 include
  • Qi v1.2.4 -- WPC官方文档资源下载

    WPC无线充电联盟QI协议1 2 4 zip qi 嵌入式文档类资源 CSDN下载QI协议part1 part2 part3 part4完整版 没有积分可使用链接 链接 httpqi更多下载资源 学习资料请访问CSDN下载频道 https
  • 剑指offer-42翻转单词顺序-左旋转字符串

    先来一道简单题 将字符串左旋 输入abcdefg 输出cdefgab package Leetcode Author YCKJ3803 Date 2021 3 1 16 41 Description public class Zuoxuan
  • Java概述(了解java开发及背景)

    目录 一 java语言背景介绍 Java 语言的三个版本 JavaSE JavaME JavaEE 二 Java跨平台原理 三 JRE和JDK Java 程序开发的三个步骤 编写代码 编译代码 运行代码 JDK JRE 和 JVM 的关系
  • 初学JAVA的变量作用域

    变量的范围是程序中该变量可以被引用的部分 方法内定义的变量被称为局部变量 局部变量的作用范围从声明开始 直到包含它的块结束 局部变量必须声明才可以使用 方法的参数范围涵盖整个方法 参数实际上是一个局部变量 for循环的初始化部分声明的变量
  • 简单springboot及springboot cloud环境搭建

    springboot使用特定的方式 简化了spring的各种xml配置文件 并通过maven或者gradle 完成所需依赖 使用springboot maven插件 可直接输出可运行的jar包 省去了tomcat等容器的部署 使得基于htt
  • 基于Sqli-Labs靶场的SQL注入-29~31关

    目录 Less 29 基于GET 双服务器 单引号 字符型注入 双服务器解析 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less 30 基于GET 双服务器 双引号 字符型注入 Less 31 基于GET 双服务器 双引号加括号 字符型
  • Java Web: JDBC、数据库连接池、Maven

    1 JDBC JDBC 全称Java DataBase Connection Java 数据库连接 在前面我们已经学习过Java和DataBase 数据库 了 JDBC就是使用Java语言操作关系型数据的一套API 本质上就是一个接口 用于
  • java实现 手写体识别_java手写体英文数字识别系统 识别预处理如何实现 采用什么语言比较好...

    展开全部 转载 1 引言 手写体数字识别是文字识别中的一个研究课题 是多年来的研究热点 也是模62616964757a686964616fe4b893e5b19e31333337373638式识别领域中最成功的应用之一 由于识别类型较少 在