Java调用RapidOCR跨平台实现指南

2 下载量 8 浏览量 更新于2024-10-27 1 收藏 106.61MB ZIP 举报
资源摘要信息:"Java代码实现调用RapidOCR(基于PaddleOCR),适配Mac、Win、Linux,支持最新PP-OCRv4" 知识点: 1. Java代码调用OCR技术:OCR(光学字符识别)技术是一种将图片中的文字信息识别并转换为机器编码文本的技术。Java代码调用OCR技术,意味着可以通过编写Java代码,实现将图片中的文字信息识别并转换为机器编码文本的功能。 2. RapidOCR:RapidOCR是一个基于PaddleOCR的OCR技术实现。PaddleOCR是百度开源的一个高效的OCR框架,支持多种语言的文字识别,包括中文、英文、数字等。 3. ncnn和onnx推理引擎:ncnn是腾讯开源的一个轻量级深度学习推理框架,专门针对移动端进行了优化。onnx是一个开放的深度学习模型格式,用于存储训练好的模型。在这里,ncnn和onnx作为推理引擎,用于执行OCR识别。 4. CPU版本与GPU版本:CPU版本指的是只使用CPU进行计算的版本,GPU版本指的是可以利用GPU进行计算加速的版本。在这个项目中,提供了CPU版本的代码,如果需要使用GPU版本,需要自行编译。 5. 多平台支持:项目支持Mac、Windows、Linux等多平台,这意味着你可以在这些平台上使用这个项目进行OCR识别。 6. PP-OCRv4:PP-OCRv4是PaddleOCR的一个版本,是最新的版本,包含了更多的优化和改进,使得OCR识别的准确度和效率更高。 7. Java技术栈:项目使用纯Java代码实现,这意味着你需要有Java开发的基础,才能理解和使用这个项目。 8. 开源项目:这是一个开源项目,你可以自由地查看和修改源代码,也可以贡献自己的代码。
2017-04-08 上传
Java OCR Framework An Optical Character Recognition Framework written purely in Java. Installation Build the project and add the jar for the project along with all the jars in the jar directory to your compile-time libraries. Usage There are 4 main parts to OCR: Normalization Segmentation Feature Extraction Classification Feature Extraction and Classification are the only required parts. For Feature Extraction there are 5 algorithms at your disposal Horizontal Celled Projection Vertical Celled Projection Horizontal Projection Histogram Vertical Projection Histogram Local Line Fitting This framework loosely uses a Fluent Interface Builder syntax. Example: OCR ocr = OCRBuilder .create() .normalization(new Normalization()) .segmentation(new Segmentation()) .featureExtraction( FeatureExtractionBuilder .create() .children( new HorizontalCelledProjection(5), new VerticalCelledProjection(5), new HorizontalProjectionHistogram(), new VerticalProjectionHistogram(), new LocalLineFitting(49)) .build()) .neuralNetwork( NeuralNetworkBuilder .create() .fromFile("neural_network.eg") .build()) .build(); Contributing Want to help out? Feel free to share your ideas. Fork it. Create a branch (git checkout -b my_fancy_feature) Commit your changes (git commit -am "Added amazing feature") Push to the branch (git push origin my_fancy_feature) Open a Pull Request References Arora, Sandhya (2008). “Combining Multiple Feature Extraction Techniques for Handwritten Devnagari Character Recognition”, IEEE Region 10 Colloquium. pp. 342-348 Haykin, Simon (1999). “Neural Networks A Comprehensive Foundation”, 2nd Edition. Pearson Education. Perez, Juan-Carlos ; Vidal, Enrique ; Sanchez, Lourdes (1994). “Simple and Effective Feature Extraction for Optical Character Recognition”, Selected Paper From the 5th Spanish Symposium on Pattern Recognition and Image Analysis. Zahid Hossain, M. ; Ashraful Amin, M. ; Yan, Hong (2012). “Rapid Feature Extraction for Optical Character Recognition”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 24, No. 6. pp. 801-813 Thanks Thanks to Heaton Research for providing an amazing Neural Network framework. Also thanks to Apache Math Commons for doing all the math without the mess.