A. 用java编写一个程序识别图片上的文字
这种想法太疯狂了。。目前能实现辨别图片里的数字是正常的,辨别英文也有点难度,中文就更难了。。辨别图像里面的文字数字,不是想象的那么简单的,要从像素着手的,比较特定区域的像素,然后程序做出判断,程序实现起来还是比较复杂的
B. 怎么用java实现图片里面的数字识别
图片是由点组成(或者是别的方法),记录点的位置、颜色,控制点就行了。至于ocr,有难度,首先要制作文字的变化范围及整个字各部分的联系,这还是简单的。然后,图像分解就行了。额,我不会编程,稍微会点c++,所以这个回答就是假设如果我做这种程序的思路。
C. Java 图像识别 数字图像处理 从一张JPG图片中识别出若干黑色小方块
你需要关注的主要是这个类:java.awt.image.BufferedImage
可以查阅相关的API。
java图像处理技术在《java核心技术8 下卷》中有比较详细的介绍。
相关技术要求和注意事项:RGB标准、ICC配置特性、
建议如果进行像素识别的话可以选取关键点的识别方式、而且确认像素是否符合要求使用RGB的范围识别而非精确识别。
至于具体的识别操作过程,需要你详细定义开始识别的位置标准(规定的或者识别图像获取)、边界标准、大小(识别块得SIZE)、分组(给识别块确定属性)等
D. java怎么实现验证码识别
图片验证码是什么
图片验证码,这个大家应该都见过。最普遍的图片验证码就是一张图片上面有4-6个歪歪扭扭的数字字母,图片还有点看不清楚,但是基本可以肉眼识别出上面的数字字母。那为什么要有这个东东呢?
其实验证码的出现为了区分人与机器。对于歪歪妞妞还有点看不清的数字字母图片,由于人脑的特殊构造,是可以完全无障碍识别的,但是想让奇迹识别出这些字母数字,就会出现识别错误。那为什么要区别人与机器呢?假如一个一个系统没有验证码,我知道了你的用户名,并且知道你的登录密码是8位的数字,那我完全可以写个脚本程序穷举出所有的8位数组合,挨个去尝试登录,这个过程对于人来说可能耗时耗力,但是对于程序来说,so easy。所以验证码的出现就会阻止程序进行这样的穷举登录。
随着技术的发展,现在很多的验证码系统都可以通过图像处理、机器学习深度学习等方式进行攻破,图片验证码已经不再安全,即使是非常有名的12306验证码,也已经被利用深度学习达到了很高的识别精度。所以也出现了手机验证码、拖动滑块图片到指定位置的验证码等各种验证码。
E. 求一个实现java图片数字识别并储存在一个数组里的的代码
//byte数组到图片到硬盘上
public void byte2image(byte[] data,String path){
if(data.length<3||path.equals("")) return;//判断输入的byte是否为空
try{
FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));//打开输入流
imageOutput.write(data, 0, data.length);//将byte写入硬盘
imageOutput.close();
System.out.println("Make Picture success,Please find image in " + path);
} catch(Exception ex) {
System.out.println("Exception: " + ex);
ex.printStackTrace();
}
}
F. 用Java做一个验证码识别的程序,要识别的验证码:http://group.bj.chinamobi
验证码识别,费力效果差,除非非常简单的图片,否则极难识别,而且验证码图片的代码,人家只需要稍微弄复杂点,识别的复杂度直线上升,成功率直线下降。像hotmail, google, yahoo那种就直接放弃, 不过像这种简单的,你可以试试,用模式匹配: 例如单个数字大小是16 * 16像素, 那就划分成16*16块,每个块1个像素,编号,特征就是a[0][0] - 白, a[0][1] - 白, a[0][2]黑……这种,存下来,把要识别的图片上的数字,也这样处理,然后跟保存下来的特征码进行匹配就行了,看看有多少是一样的,超过50%就可以认为找到了,或者把阈值设更低点 难点在于要识别的图片上面有干扰点,要排除,以你给出的图片来说,可以这样: 1. 先统一黑白:如果一个像素跟白色很接近,就认为是白色,否则认为是黑色。(如果底色是随机的,那就把区域色块最大的认为是白色,其他的黑色) 2. 每个像素周围有8个像素,计算出这个区域内的平均灰度,例如这9个点中超过4个是黑色,那就认为这个像素是黑色
G. java如何识别图片里的数字
这是深度学习领域了,三两句话讲不完,我就讲个方向
做个卷积神经网络训练模型
用训练好的模型做预测
用java的话你研究下deeplearn4j
H. java怎么识别图片里的数字
工程比较大,要做图片处理,处理成黑白,还要识别数字区,取出数字区还要做数字识别,工程浩大
I. 图像数字识别java与c++谁快
c++快,这是笼统地说
排除c++编程很烂的情况
c++更靠近系统核心,容易优化编程,而java是依赖许多编号的c/c++库程序工作的。