Hình ảnh thành văn bản Java

Cho dù đó là nhận dạng văn bản từ tài liệu được quét hay trích xuất dữ liệu từ hình ảnh, khả năng chuyển đổi hình ảnh thành văn bản đã mở ra những khả năng mới. Trong bài đăng trên blog này, chúng ta sẽ tìm hiểu cách chuyển đổi hình ảnh thành văn bản trong Java, khám phá cách sử dụng Nhận dạng ký tự quang học (OCR) để nhận dạng và trích xuất văn bản từ hình ảnh.

OCR là gì?

Nhận dạng ký tự quang học (OCR) là công nghệ chuyển đổi các loại tài liệu khác nhau, chẳng hạn như tài liệu giấy được quét, PDF hoặc hình ảnh, thành dữ liệu có thể chỉnh sửa và tìm kiếm được. Trong trường hợp của chúng tôi, chúng tôi sẽ tập trung vào việc sử dụng OCR để nhận dạng văn bản từ hình ảnh trong Java.

Tại sao chuyển đổi hình ảnh thành văn bản?

Chuyển đổi hình ảnh thành văn bản có thể hợp lý hóa quy trình nhập dữ liệu, cho phép tìm kiếm dựa trên văn bản trong hình ảnh và tạo điều kiện tích hợp dữ liệu hình ảnh vào các ứng dụng khác nhau. Cho dù bạn đang xử lý các tài liệu được quét, ảnh chụp hoặc ảnh chụp màn hình, khả năng đọc văn bản từ hình ảnh có thể là yếu tố thay đổi cuộc chơi.

Chuyển đổi hình ảnh thành văn bản bằng OCR trong Java

Bạn cần làm theo các bước dưới đây để chuyển đổi hình ảnh thành văn bản bằng OCR trong Java:

  • Cài đặt Conholdate.Total for Java trong hệ thống của bạn.
  • Tạo một phiên bản API OCR với lớp AsposeOCR.
  • Chỉ định cài đặt với lớp Cài đặt nhận dạng.
  • Đặt các bộ lọc xử lý bằng cách sử dụng đối tượng lớp PreprocessingFilter.
  • Chuẩn bị hình ảnh với phiên bản lớp OcrInput.
  • Nhận dạng hình ảnh bằng phương pháp Nhận dạng.

Đoạn mã bên dưới cho thấy cách chuyển đổi hình ảnh thành văn bản trong Java:

// Tạo phiên bản API OCR
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Chỉ định cài đặt nhận dạng
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);

// Đặt bộ lọc xử lý
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());

// Chuẩn bị hình ảnh
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");

// Nhận dạng hình ảnh
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Chuyển đổi hình ảnh thành văn bản bằng cách xử lý vùng cụ thể bằng Java

Trong một số trường hợp nhất định, bạn cần nhận dạng văn bản từ một vùng cụ thể của hình ảnh. Theo đó, bạn có thể đặt một hoặc nhiều tọa độ hình chữ nhật để nhận dạng văn bản bằng OCR trong Java. Các bước bên dưới trình bày chi tiết về quy trình chuyển đổi hình ảnh JPG hoặc PNG thành văn bản bằng Java:

  • Hãy thiết lập Conholdate.Total for Java từ phía bạn.
  • Chuẩn bị danh sách các hình chữ nhật chứa văn bản bằng lớp ArrayList.
  • Chuẩn bị hình ảnh đầu vào với lớp OcrInput.
  • Tạo phiên bản API với lớp AsposeOCR.
  • Nhận dạng văn bản và nhận kết quả đầu ra với lớp CertificationResult.

Mã mẫu sau đây giải thích cách chuyển đổi hình ảnh thành văn bản trong khi nhận dạng các vùng cụ thể bằng Java:

// chuẩn bị hình chữ nhật với văn bản
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));

// Đặt cài đặt để nhận dạng
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);

// Chuẩn bị hình ảnh
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");

// tạo phiên bản API
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();

// Nhận dạng hình ảnh
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
	System.out.println(result.recognitionText);
});

Giấy phép đánh giá miễn phí

Bạn có thể nhận được giấy phép tạm thời miễn phí để chuyển đổi hình ảnh thành văn bản bằng OCR bằng Java mà không có bất kỳ hạn chế đánh giá nào.

Kết thúc

Trong bài đăng trên blog này, chúng tôi đã khám phá việc chuyển đổi hình ảnh thành văn bản trong Java bằng OCR. Bạn có thể tích hợp liền mạch tính năng chuyển đổi hình ảnh thành văn bản vào ứng dụng của mình. Cho dù bạn đang làm việc với JPG, PNG hay các định dạng hình ảnh khác, khả năng đọc văn bản từ hình ảnh sẽ mở ra vô số khả năng xử lý và phân tích dữ liệu. Tuy nhiên, nếu bạn muốn điều chỉnh mã để đáp ứng yêu cầu của mình hoặc thảo luận các câu hỏi của mình thì vui lòng viết thư cho chúng tôi tại diễn đàn.

Xem thêm