「javaocr识别」javaocr识别工具
今天给各位分享javaocr识别的知识,其中也会对javaocr识别工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、tesseract ocr java 识别验证吗
- 2、python和java哪个编写OCR最好?
- 3、阿里云Ocr识别封装
- 4、java怎么自己做一个orc身份证识别
- 5、java根据ocr识别名片,谁有java处理图片的代码,要效果好一点、识别效率高的、
- 6、OCR文字识别API支持Java语言调用吗?
tesseract ocr java 识别验证吗
按照说明,送入tesseract的图片的质量直接影响识别的效果,因此,简单的预处理是不可或缺的
1.首先灰度化,灰度值=0.3R+0.59G+0.11B:
Java代码
for (int y = minY; y height; y++) {
for (int x = minX; x width; x++) {
int rgb = srcImg.getRGB(x, y);
Color color = new Color(rgb); // 根据rgb的int值分别取得r,g,b颜色。
int gray = (int) (0.3 * color.getRed() + 0.59
* color.getGreen() + 0.11 * color.getBlue());
Color newColor = new Color(gray, gray, gray);
srcImg.setRGB(x, y, newColor.getRGB());
}
}
结果如图:
2.其次是灰度反转:
Java代码
for (int y = minY; y height; y++) {
for (int x = minX; x width; x++) {
int rgb = buffImg.getRGB(x, y);
Color color = new Color(rgb); // 根据rgb的int值分别取得r,g,b颜色。
Color newColor = new Color(255 - color.getRed(), 255 - color
.getGreen(), 255 - color.getBlue());
buffImg.setRGB(x, y, newColor.getRGB());
}
}
结果如图:
3.再次是二值化,取图片的平均灰度作为阈值,低于该值的全都为0,高于该值的全都为255:
Java代码
for (int y = minY; y height; y++) {
for (int x = minX; x width; x++) {
int rgb = buffImg.getRGB(x, y);
Color color = new Color(rgb); // 根据rgb的int值分别取得r,g,b颜色。
int value = 255 - color.getBlue();
if (value average) {
Color newColor = new Color(0, 0, 0);
buffImg.setRGB(x, y, newColor.getRGB());
} else {
Color newColor = new Color(255, 255, 255);
buffImg.setRGB(x, y, newColor.getRGB());
}
}
}
结果如图:
看看效果还凑合,就省却尺寸调整、中值滤波以及噪点去除等步骤了。
以上完成图片预处理工作;Tesseract没有开放api,纯命令行调用:
Java代码
ListString cmd = new ArrayListString(); // 存放命令行参数的数组
cmd.add(tessPath + "\\tesseract");
cmd.add("");
cmd.add(outputFile.getName()); // 输出文件位置
cmd.add(LANG_OPTION); // 字符类别
cmd.add("eng"); // 英文,找到tessdata里对应的字典文件。
ProcessBuilder pb = new ProcessBuilder();
pb.directory(imageFile.getParentFile());
cmd.set(1, tempImage.getName()); // 把图片文件位置放在第一个位置
pb.command(cmd); // 执行命令行
pb.redirectErrorStream(true); // 通知进程生成器是否合并标准错误和标准输出,把进程错误保存起来。
Process process = pb.start(); // 开始执行进程
int w = process.waitFor(); // 当前进程停止,直到process停止执行,返回执行结果.
结果输出表示一切正常
当然,真正要用好tesseract-ocr,还需用到其强大地训练工具,就是后话了……
python和java哪个编写OCR最好?
还是python更好因为库比较多,能够直接调用,java的库不多,写起来比较麻烦,语法也复杂一些。
阿里云Ocr识别封装
关于调用第三方接口,进行封装,例如阿里云的ocr识别
原图所示
1.分析原始的第三方接口,构成 url+鉴权标识+传递参数
通过分析可以获取出红线框重要信息
2.使用Java语言转换实现
3.最后来看下效果图
java怎么自己做一个orc身份证识别
是OCR文字识别技术来识别身份证吧。OCR识别身份证的话,会涉及到数字识别,中文识别,英文识别的。数字和英文相对比较好识别。中文麻烦一些。目前市场上有一个开源的,tesseract识别效果稍微比较好。楼主可以试一试。tesseract是C++做的,java可以使用JNI调用C语言的。如果楼主不差钱,并且识别效果要求高的话,建议使用第三方的识别软件。楼主可以和取得联系。希望帮助到楼主,希望采纳,谢谢!
java根据ocr识别名片,谁有java处理图片的代码,要效果好一点、识别效率高的、
云脉OCR SDK开发者平台上有提供名片识别API接口,支持Java、C++、C、object pascal及objective-C等多种语言,识别速度快,平均识别时间少于0.6秒,识别率高,字符识别率97.37%,用户登录后即可自主下载接口.....
OCR文字识别API支持Java语言调用吗?
比如云脉OCR文档识别API接口,开发支持Java、C++、C、 object pascal及objective-C等多种语言,用户在云脉OCR SDK开发者平台上注册并登录即可自主调用..
关于javaocr识别和javaocr识别工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-19,除非注明,否则均为
原创文章,转载请注明出处。