「javaocr识别」javaocr识别工具

博主:adminadmin 2022-12-19 12:57:08 71

今天给各位分享javaocr识别的知识,其中也会对javaocr识别工具进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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识别工具的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-19,除非注明,否则均为首码项目网原创文章,转载请注明出处。