Giter Club home page Giter Club logo

ocrtable's Introduction

OCR Table

中文文档

Introduction

For scanning copies containing tables or forms, many OCR softwares recognize text in entire page as whole by discarding all tables. Sometimes it is inconvenient for users. This project retains table structures as well and save the recognizing result as a Microsoft Word document.

This project consists of a DLL and an EXE, both of which are 64-bit. The subdirectory corresponding to DLL is tableocr, developed by Visual C++. It implements core functions, including table structure recognition and text recognition. the subdirectory corresponding to EXE is ocrtable, developed by C#, which provides user interface. Below the pictures directory are sample scanning copies.

Suggestions are welcome. In addition to submitting an issue, you can email me as well. My email address is [email protected].

Recognition Performance

[Download pre-compiled components](https://pan.baidu.com/s/1DOST4gu8Gr87McebLEpfgQ 56j9)

English Character Recognition Example

Please do not select "Recognize simplified Chinese characters".

Scanning copy:

Result (Note that tables are not displayed in order):

Chinese Character Recognition Example

You need select "Recognize simplified Chinese characters".

Scanning copy:

Result:

Chinese character recognition relies on Tesseract official pre-training package, which supports only a few fonts. Users can consider training Tesseract mannually or using other OCR technologies instead.

Development Environment

DLL Development environment

Windows 7 SP1 x64

Visual Studio Community 2017

OpenCV 3.4.3

Tesseract 4.0.0-beta.4 (Compiled by Git source. Please search online resources to learn how to setup Chinese character recognition.)

For the convenience of debugging, the DLL module includes Debug EXE configuration, which outputs EXE. The program displays table structures and outputs recognized text by OutputDebugString Windows API. Note that recognition process may take long time, and the popup window needs to be closed by keyboard instead of mouse.

EXE Development environment

Windows 7 SP1 x64

Visual Studio Community 2017

DocX(Xceed.Words.NET.dll)(downloaded by nuget)

Postscript

This project was developed during a gap period when I changed jobs five years ago. At that time, I had ample time and learned some knowledge about machine learning and deep learning. Inspired by Jianlin Su's blog (http://spaces.ac.cn/archives/3856/) , I developed this small tool based on OpenCV. As a personal project of a aged programmer, I am very pleased that it has been recognized by many people, although I do not know how they use this tool.

Initially, I considered improving the tool, including recognizing discontinuous or inclined lines from wrinkled paper, and improving the efficiency of text recognition. However, these problems are difficult for me. Later, I changed jobs severaltimes, none of which is related to AI. It was difficult to have enough time for related research after hard working(996). Therefore, the project was abandoned, and I estimate that the code will not be updated in the future. I am sorry for everybody. I wish you can find other improvements online.

Revision History

2018-09-30

  1. Complete the first edition.

2019-09-14

  1. Fix bugs in DLL.

  2. Add international support in EXE.

  3. Update this document.

2023-06-04

  1. Add postscript.

ocrtable's People

Contributors

bitdata avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ocrtable's Issues

how to realize it using python?

hello, i'm going to do the same project as yours, but i want to use python to realize it. now i am confused, i want to know your implementation procedure.

报毒

readme中两个网盘挂了,
主页提供的网盘下载组件报毒。

Suggest author can put some prebuilt binary there, so ppl can use that directly

Hi buddy,

Good job! And suggest you can put some prebuilt binary files (.exe with necessary DLLs) there as release, so others can directly use it without recompiling themseleves.

Thanks!

建议兄弟把预编译好的二进制包(包含可独立运行的exe及必须的DLL文件)放在releases或者啥地方,方便其他人不用再编译就能直接下载并使用,谢谢!

合作交流

您好,我们是一家央企的人工智能公司(中译语通科技股份有限公司)主要从事大数据、智慧城市、机器翻译、知识图谱、语音识别、ocr识别等技术的研发,我是这边的技术负责人在github上看到您的开源系统很感兴趣,希望和您进一步沟通交流。

您可以加我微信:18611586751

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.