เทคโนโลยี Optical Character Recognition (OCR) ทำให้สามารถจดจำและอ่านข้อความภายในเอกสารและรูปภาพที่สแกนได้ OCR ให้คุณแปลงข้อความแบบอ่านอย่างเดียวเป็นรูปแบบที่สามารถแก้ไขได้ ข้อความที่แปลงแล้วสามารถนำไปประมวลผลเพิ่มเติมได้ เช่น การวิเคราะห์ข้อความ ในบทความนี้ ฉันจะแสดงวิธี OCR บนรูปภาพ (PNG, JPG, BMP และ GIF) และแปลงรูปภาพเป็นข้อความ ใช้ Java OCR API - Aspose.OCR for Java
- Java OCR API - การติดตั้ง
- แปลงรูปภาพเป็นข้อความโดยใช้ Java
- แปลงรูปภาพที่มีข้อความบรรทัดเดียวโดยใช้ Java
เคล็ดลับ: คุณอาจสนใจ Text to GIF Converter ฟรีที่ให้คุณสร้างภาพเคลื่อนไหวจากข้อความ
Java OCR API - การติดตั้ง
Aspose.OCR for Java สามารถดาวน์โหลดเป็น JAR หรือติดตั้งภายในแอปพลิเคชันที่ใช้ Maven โดยใช้การกำหนดค่าต่อไปนี้
พื้นที่เก็บข้อมูล:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
การพึ่งพา:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>20.5</version>
</dependency>
แปลงรูปภาพเป็นข้อความโดยใช้ Java
ส่วนใหญ่แล้ว รูปภาพสำหรับ OCR คือหน้าของเอกสารที่สแกน ใบแจ้งหนี้ ใบเสร็จ ใบเรียกเก็บเงิน และอื่นๆ ซึ่งข้อความประกอบด้วยหลายบรรทัด ในสถานการณ์ดังกล่าว คุณต้องดึงข้อความทั้งหมดจากรูปภาพ ต่อไปนี้เป็นขั้นตอนในการดำเนินการ OCR บนรูปภาพที่มีข้อความหลายบรรทัดโดยใช้ Aspose.OCR for Java
- สร้างอินสแตนซ์ของคลาส AsposeOcr
- แปลงรูปภาพเป็นข้อความโดยใช้เมธอด AsposeOcr.recognizePage(String fullPath) โดยผ่านเส้นทางของรูปภาพ
- รับข้อความที่แปลงเป็นวัตถุสตริง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดำเนินการ OCR บนรูปภาพและแปลงรูปภาพเป็นข้อความโดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-ocr/Aspose.OCR-for-Java
// เส้นทางไปยังไดเร็กทอรีเอกสาร
String dataDir = Utils.getSharedDataDir(PerformOCROnPage.class);
// เส้นทางภาพ
String imagePath = dataDir + "p3.png";
//สร้างอินสแตนซ์ API
AsposeOCR api = new AsposeOCR();
// จดจำหน้าตามเส้นทางแบบเต็มไปยังไฟล์
try {
String result = api.RecognizePage(imagePath);
System.out.println("Result: " + result);
} catch (IOException e) {
e.printStackTrace();
}
แปลงรูปภาพที่มีข้อความบรรทัดเดียว
ในตัวอย่างก่อนหน้านี้ เราได้ทำการ OCR บนรูปภาพที่มีข้อความหลายบรรทัด อย่างไรก็ตาม อาจมีบางกรณีที่รูปภาพมีข้อความบรรทัดเดียว ในกรณีเช่นนี้ คุณสามารถกำหนดค่า API ได้ตามนั้น ต่อไปนี้เป็นขั้นตอนในการแปลงรูปภาพที่มีข้อความบรรทัดเดียว
- สร้างวัตถุของคลาส AsposeOcr
- แปลงรูปภาพเป็นข้อความโดยใช้เมธอด AsposeOcr.recognizeLine(String fullPath)
- รับผลลัพธ์เป็นวัตถุสตริง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดำเนินการ OCR บนรูปภาพที่มีข้อความบรรทัดเดียวโดยใช้ Java
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-ocr/Aspose.OCR-for-Java
// เส้นทางไปยังไดเร็กทอรีเอกสาร
String dataDir = Utils.getSharedDataDir(RecognizeLine.class);
// เส้นทางภาพ
String imagePath = dataDir + "0001460985.Jpeg";
//สร้างอินสแตนซ์ API
AsposeOCR api = new AsposeOCR();
try {
String result = api.RecognizeLine(imagePath);
System.out.println("File: " + imagePath);
System.out.println("Result line: " + result);
} catch (IOException e) {
e.printStackTrace();
}
บทสรุป
ในบทความนี้ คุณได้เห็นวิธีการแปลงรูปภาพ PNG, JPG, BMP และ GIF เป็นข้อความโดยใช้ Java OCR API ตัวอย่างโค้ดแสดงวิธีดำเนินการ OCR กับรูปภาพที่มีข้อความบรรทัดเดียวหรือหลายบรรทัดภายในแอปพลิเคชัน Java คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Java OCR API ของ Aspose ได้โดยใช้ เอกสารประกอบ