แปลงรูปภาพเป็นข้อความใน C#

แปลงรูปภาพเป็นข้อความใน C#

แปลงภาพที่สแกนของคุณเป็นสตริงโดยทางโปรแกรมโดยใช้ .NET OCR Library ไลบรารีนี้ให้คุณดำเนินการ OCR (Optical Character Recognition) โดยแยกตัวอักษรบนภาพแล้วจัดระเบียบให้บันทึกเป็นรูปแบบไฟล์ใดก็ได้ โพสต์ในบล็อกนี้จะสำรวจไลบรารีนี้และเขียนโค้ดเพื่อแปลงรูปภาพเป็นข้อความใน C# อย่างไรก็ตาม ไลบรารีนี้มีวิธีการที่หลากหลายในการสแกนและแปลงรูปภาพเป็นรูปแบบข้อความโดยทางโปรแกรม

เราจะครอบคลุมประเด็นต่อไปนี้:

การติดตั้งไลบรารี .NET OCR

เราจะใช้ไลบรารีนี้ที่คุ้มค่าและมีประสิทธิภาพสำหรับ OCR ติดตั้งง่ายและมีฟิลเตอร์ประมวลผลล่วงหน้าที่ช่วยในการจดจำภาพที่หมุน อย่างไรก็ตาม คุณสามารถ ดาวน์โหลดไฟล์ ไฟล์ DLL หรือเรียกใช้คำสั่งต่อไปนี้ในตัวจัดการแพ็คเกจ NuGet เพื่อติดตั้ง API นี้ในโครงการ .NET ของคุณ

Install-Package Aspose.OCR

แปลงรูปภาพเป็นข้อความใน C#

คุณสามารถแยกข้อความจากรูปภาพที่สแกนและบันทึกเป็นรูปแบบไฟล์อื่นๆ ได้โดยการเขียนซอร์สโค้ดสองสามบรรทัด

ทำตามขั้นตอนต่อไปนี้และข้อมูลโค้ดเพื่อแปลงรูปภาพเป็นข้อความใน C# โดยทางโปรแกรม:

  1. เริ่มต้นอินสแตนซ์ของ AsposeOcr
  2. โหลดไฟล์รูปภาพต้นฉบับโดยเรียกใช้เมธอด RecognizeImage ที่จดจำข้อความบนรูปภาพ
  3. แสดงข้อความ
// เริ่มต้นอินสแตนซ์ของ AsposeOcr 
AsposeOcr api = new AsposeOcr();
// โหลดไฟล์รูปภาพต้นฉบับโดยการเรียกใช้เมธอด RecognizeImage ที่จดจำข้อความบนรูปภาพ 
string result = api.RecognizeImage("sample.png");
// แสดงข้อความที่รู้จัก
Console.WriteLine(result);

การดำเนินการ OCR บนรูปภาพที่มีบรรทัดเดียว

ไลบรารีนี้ช่วยให้คุณสามารถดำเนินการ OCR กับภาพที่มีเพียงบรรทัดเดียวได้ คุณสามารถทำตามขั้นตอนต่อไปนี้ตามที่ระบุไว้ด้านล่าง:

  1. สร้างวัตถุของคลาส AsposeOcr
  2. เรียกเมธอด RecognizeLine ที่จดจำรูปภาพที่มีข้อความบรรทัดเดียว
  3. แสดงข้อความที่รู้จัก
// สร้างวัตถุของคลาส AsposeOcr 
AsposeOcr api = new AsposeOcr();
// เรียกเมธอด RecognizeLine ที่จดจำรูปภาพที่มีข้อความบรรทัดเดียว 
string result = api.RecognizeLine("sample.png");
// แสดงข้อความที่รู้จัก
Console.WriteLine(result);

การทำ OCR บนภาพจากสตรีม

คุณยังอาจทำการรู้จำอักขระด้วยแสงกับรูปภาพในสตรีมได้ด้วย วิธีการเดียวกันนี้จะถูกเรียกตามที่ใช้ในหัวข้อแรกข้างต้น

ต่อไปนี้เป็นขั้นตอน:

  1. สร้างอินสแตนซ์ของคลาส AsposeOcr
  2. เริ่มต้น Constructor ของคลาส MemoryStream เพื่อสร้างสตรีม
  3. โหลดไฟล์อิมเมจต้นฉบับโดยการกำหนดค่าเริ่มต้นให้กับคอนสตรัคเตอร์ FileStream
  4. เรียกใช้เมธอด CopyTo เพื่อเขียนไบต์ของสตรีมปัจจุบันไปยังสตรีมหน่วยความจำ
  5. เรียกใช้เมธอด RecognizeImage เพื่ออ่านข้อความจากรูปภาพ
string result = "";
// สร้างอินสแตนซ์ของคลาส AsposeOcr 
AsposeOcr api = new AsposeOcr();
// เริ่มต้นตัวสร้างของคลาส MemoryStream เพื่อสร้างสตรีม 
using (MemoryStream ms = new MemoryStream())
// โหลดไฟล์อิมเมจต้นฉบับโดยเตรียมใช้งานตัวสร้าง FileStream  
using (FileStream file = new FileStream(  "sample.png", FileMode.Open, FileAccess.Read))
{
    // เรียกวิธีการCopyToเพื่อเขียนไบต์ของกระแสข้อมูลปัจจุบันไปยังกระแสข้อมูลหน่วยความจำ 
    file.CopyTo(ms);
    // เรียกใช้เมธอด RecognizeImage เพื่ออ่านข้อความจากรูปภาพ  
    result = api.RecognizeImage(ms);
}
// แสดงข้อความที่รู้จัก
Console.WriteLine(result);

รับใบอนุญาตฟรี

คุณอาจได้รับ ใบอนุญาตชั่วคราวฟรี เพื่อลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน

สรุป

สิ่งนี้นำเราไปสู่จุดสิ้นสุดของโพสต์บล็อกนี้ เราได้ศึกษาวิธีการแปลงรูปภาพเป็นข้อความใน C# โดยทางโปรแกรมแล้ว นอกจากนี้เรายังได้ลองใช้วิธีการขั้นสูงบางอย่างที่ไลบรารี .NET OCR มีให้อีกด้วย นอกจากนี้ คุณยังอาจไปที่ เอกสารประกอบ เพื่อทราบคุณสมบัติอื่นๆ นอกจากนี้ คุณอาจพบตัวอย่างโค้ดพร้อมกับคำอธิบายวิธีการ ที่นี่ เราจะเผยแพร่บทความที่น่าสนใจอื่น ๆ ในอนาคตอันใกล้นี้ ดังนั้นโปรดติดต่อ conholdate.com เพื่อรับทราบข้อมูลอัปเดตเป็นประจำ

ถามคำถาม

คุณสามารถแจ้งให้เราทราบเกี่ยวกับคำถามหรือข้อสงสัยของคุณได้ใน ฟอรั่ม ของเรา

คำถามที่พบบ่อย

OCR C# คืออะไร

การรู้จำอักขระด้วยแสงเป็นเทคนิคในการอ่านข้อความจากภาพที่สแกนโดยทางโปรแกรม คุณสามารถไปที่ link นี้เพื่อทราบรายละเอียดเพิ่มเติม

ฉันจะอ่านข้อความจากรูปภาพได้อย่างไร

คุณสามารถใช้วิธี RecognizeImage ของ .NET OCR library นี้เพื่อแปลงรูปภาพเป็นข้อความ

ดูสิ่งนี้ด้วย