Triển khai Java OCR [đã đóng]


160

Điều này chủ yếu chỉ là sự tò mò, nhưng có bất kỳ triển khai OCR nào trong Java thuần túy không? Tôi tò mò làm thế nào điều này sẽ thực hiện hoàn toàn trong Java và OCR nói chung làm tôi quan tâm, vì vậy tôi rất muốn xem cách nó được triển khai theo ngôn ngữ mà tôi hiểu thấu đáo. Đương nhiên, điều này sẽ yêu cầu việc triển khai là nguồn mở, nhưng tôi vẫn quan tâm đến các giải pháp độc quyền, vì ít nhất tôi có thể kiểm tra hiệu suất trong trường hợp đó.

Tôi đã thấy một cặp đôi có thể được sử dụng trong Java (như Asprise ) nhưng dường như đây không phải là những triển khai Java thuần túy ... có gì không?


@Robik Trước hết, trong khi bạn đang ở đó, bạn cũng nên xóa lời cảm ơn không cần thiết, v.v. Và thứ hai, bạn không nên chỉnh sửa theo giả định đó, đặc biệt là nếu OP vẫn hoạt động và bạn có thể bình luận đúng trong trường hợp này ... @ chuột Chỉ cần làm rõ, ý bạn là bất ngờ?
Tobias Kienzler

Nếu bạn không tìm kiếm cách tiếp cận thuần Java, thì có lẽ việc xây dựng một cây cầu JNI (như Tess4J ) có ý nghĩa. Cảm giác của tôi là các thư viện OCR được thể hiện tốt hơn trong thế giới C ++ (OCRAD, GOCR, Cuneiform - xem tất cả ở đây ).
dma_k

@rat - Bạn nói đúng - SDK OCR đáng ngạc nhiên cho Java không dựa trên Java thuần túy. Trong thực tế, đằng sau hậu trường, mã gốc được sử dụng vì OCR là một quá trình rất tốn kém về mặt tính toán.
Hỗ trợ bất ngờ

Câu trả lời:


81

Tôi khuyên bạn nên thử dự án Java OCR trên sourceforge.net. Ban đầu tôi đã phát triển nó và tôi có một bài đăng trên blog .

Kể từ khi tôi đưa nó lên sourceforge, chức năng của nó đã được mở rộng và cải thiện khá nhiều thông qua công việc tuyệt vời của một nhà nghiên cứu / nhà phát triển tình nguyện.

Hãy dùng thử và nếu bạn không thích nó, bạn luôn có thể cải thiện nó!


18
@Ron Tôi cũng đã xem dự án này. Tôi không tìm thấy bản demo và GUI thực hiện các hoạt động đồ họa khác nhau nhưng không có hướng dẫn nào về cách nhận dạng ký tự thực tế.
James P.

1
@Ron khi tôi theo liên kết đến blog của bạn thì tôi thấy một trang trống.
neoneye

3
@Ron nơi tôi có thể lấy tài liệu hoặc blog hoặc hướng dẫn bổ sung.
altsyset

1
Làm thế nào để nhập java ocr trong nhật thực?
Faisal Ashraf

2
Xin chào, có hướng dẫn nào cho việc này không?
Giếng

10

Chúng tôi đã thử nghiệm một vài công cụ OCR với Java như Tesseract, As ngạc nhiên, Abbyy, v.v. Trong phân tích của chúng tôi, Abbyy đã cho kết quả tốt nhất.


1
Java API hoặc triển khai Java ..?
Ewoks

Không có nhưng có một phiên bản dòng lệnh mà bạn có thể nói chuyện bằng cách sử dụng ProcessBuilder.
Aaron Digulla

1
Cả Tesseract và Abbyy đều không dựa trên Java. Họ chỉ đơn giản là có API cho Java.
krispy

10

Nếu bạn đang tìm kiếm một tùy chọn có thể mở rộng hoặc có một miền vấn đề cụ thể, bạn có thể xem xét việc tự lăn bằng cách sử dụng Công cụ thần kinh hướng đối tượng Java . Trò chơi khác tham khảo.

Tôi đã sử dụng nó thành công trong một dự án cá nhân để xác định chữ cái từ một hình ảnh như thế này , bạn có thể tìm thấy tất cả nguồn cho thành phần OCR của ứng dụng của tôi trên github, tại đây .


1
Ồ, cảm ơn vì ví dụ. Tôi đã tải về nó và lên kế hoạch để điều chỉnh nó cho nhu cầu của riêng tôi!
Amanda S

Bạn có thể chỉ cho tôi cách biên dịch?
RadijatoR 20/07/2015

Tôi sợ dự án không còn được duy trì @RadijatoR, vì vậy tôi không thể đưa ra bất kỳ lời khuyên nào.
davetapley

4
Hầu hết các liên kết đã chết.
Erik

5

Có rất nhiều thư viện OCR ngoài kia. Tuy nhiên, kinh nghiệm của tôi là các triển khai thương mại lớn, ABBYY, Omnipage và ReadIris, vượt xa nguồn mở hoặc các triển khai nhỏ khác. Các thư viện thương mại này không được thiết kế chủ yếu để làm việc với Java, mặc dù tất nhiên là có thể.

Tất nhiên, nếu sở thích của bạn là tìm hiểu mã, việc triển khai nguồn mở sẽ thực hiện thủ thuật.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.