OCR บนระบบ Linux [ปิด]


14

ฉันพบเทคโนโลยี OCRอยู่เสมอในระบบโอเพ่นซอร์ส ฉันเคยดูโครงการ Ocropusมาตั้งแต่เด็กแล้ว ฉันได้ลองสิ่งที่ฉันได้ยินมาแล้วว่าเป็นโปรแกรม OCR ที่ดีที่สุดสำหรับ Linux, Tesseractและพบว่ามันไม่มีเอกสารทางธุรกิจ มีการใช้งาน OCR ที่มีแนวโน้มอื่น ๆ อีกหรือไม่? สิ่งที่เกี่ยวกับเป้าหมายที่มีความหวังมากขึ้นสำหรับการตีความลายมือ? สิ่งที่เป็นไปได้ในระบบ * nix ในสาขานี้?


1
ควรย้ายข้อมูลนี้ไปยัง softwarerecs หรือไม่
Jeff Schaller

@ เจฟฟ์อาจไม่ได้เพราะมันอายุเกือบเจ็ดปีแล้ว เกิดขึ้นมากมายตั้งแต่นั้นมา บางส่วนอยู่ใน OCR ... ;-)
roaima

คำตอบ:


4

Tesseract

ในฐานะของปี 2018 มาเปิดใช้ได้ซอฟต์แวร์ที่ดีที่สุดคือ OCR Tesseract 4 (เบต้า)กับใหม่LSTM เครือข่ายประสาทรุ่น ประสิทธิภาพ OCR นั้นดีกว่ารุ่น OCR รุ่นก่อน ๆ ที่ใช้ในเวอร์ชัน 3

ตัวอย่าง (สร้างไฟล์ PDF output.pdfพร้อมชั้นข้อความสำหรับเอกสารภาษาเยอรมันที่สแกน):

$ echo page-*.png > input.list
$ tesseract --oem 1 -l deu input.list output pdf

พิมพ์ข้อความที่รู้จักไปยัง stdout:

$ tesseract --oem 1 -l deu page page-0001.png stdout

รายการภาษาที่ติดตั้ง:

$ tesseract --list-langs

การสนับสนุนหลายภาษา / สคริปต์มีให้ในชุดข้อมูลที่ผ่านการฝึกอบรมที่ดาวน์โหลดได้เช่นมีชุดข้อมูลสำหรับ Fraktur

ด้วยโมเดล LSTM ใหม่ Tesseract ได้รับแรงบันดาลใจจากโครงการวิจัยOCRopus

Tesseract เวอร์ชั่น 3 ทำงานได้ค่อนข้างแย่แม้จะเป็นภาพอินพุตคุณภาพดีเช่นบ่อยครั้งที่มันตรวจจับตัวอักษรเท็จในพิกเซลฝุ่น (นอกบริบทข้อความ) และแนะนำข้อผิดพลาดของตัวอักษรเดี่ยวในคำที่รู้จักกันดี

ฟอร์ม

ประสิทธิภาพOUN แบบ Cuneiformนั้นไม่ได้แย่ขนาดนั้น แต่ก็ไม่ได้รับการบำรุงรักษาอย่างแข็งขัน (รุ่นล่าสุดในปี 2011 รุ่น 1.1) และขัดข้องได้ง่ายและมีปัญหาอื่น ๆ :

คุณสามารถปิดการใช้งานอัลกอริทึมเค้าโครงเช่นนี้:

$ cuneiform --singlecolumn -l ger -f text -o foo.txt image-0001

( -lระบุภาษาของเอกสารต้นฉบับ)

ocrad

$ ocrad -F utf8 image-0001

ข้อความถูกพิมพ์โดยค่าเริ่มต้นเป็น stdout

ในเอกสารทางธุรกิจมันพลาดคำที่ขีดเส้นใต้ซึ่งไม่ได้มีรูปแบบ / tesseract / gocr

gocr

$ gocr image-0001

ข้อความถูกพิมพ์โดยค่าเริ่มต้นเป็น stdout

ฮาร์ดแวร์

มีสติมีการสนับสนุนที่ดีมากสำหรับฟีดอัตโนมัติเอกสาร (ADF) สแกนเนอร์เช่นการที่Avisionและฟูจิตสึคน

รวมอยู่ใน Sane เป็นscanimageโปรแกรมบรรทัดคำสั่งที่คุณสามารถใช้เพื่อสร้างไพพ์ไลน์การสแกนที่มีสคริปต์ (เช่นadf2pdf.pyสคริปต์ของฉัน)


ฉันลอง Cuneiform มันทำงานได้ดีถ้าคุณจำเป็นต้องรู้จักรูปภาพที่สแกน ฉันใช้ Yagf เป็น GUI
Sergei

3

ฉันพบคำถามที่คล้ายกันเกี่ยวกับ StackOverflowและAsprise OCR SDKซึ่งเป็นหนึ่งในผลิตภัณฑ์เชิงพาณิชย์ที่เชื่อมโยงมีเวอร์ชั่น Linux


แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงค์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง - จากการทบทวน
โทมัส

1
@Thomas ลิงก์เป็นคำตอบเดียวที่เป็นไปได้เนื่องจากลิงก์ชี้ไปที่เครื่องมือเฉพาะตามที่ร้องขอโดย OP คำตอบสำหรับลิงค์เท่านั้นไม่ใช่ทั้งหมด นี่เป็นชื่อของซอฟต์แวร์เฉพาะและลิงค์ไปยังเว็บเพจ แม้ว่าลิงก์จะแตกคุณควรจะสามารถค้นหาได้จากชื่อ
terdon

1

มีเครื่องมือบรรทัดคำสั่ง OCR ยอดนิยมบางอย่าง:

  • Tesseract ( ReadMe , คำถามที่พบบ่อย ) (Python)

    มีให้สำหรับ: Tesseract .NET , Tesseract iOS

    OCR Engine ที่พัฒนาขึ้นที่ HP Labs ระหว่างปี 1985 และ 1995 ... และตอนนี้ที่ Google Tesseract น่าจะเป็นโปรแกรมโอเพ่นซอร์ส OCR ที่แม่นยำที่สุด

    การใช้งาน:

    tesseract [inputFile] [outputFile] [-l optionalLanguageFile] [PathTohOCRConfigFile]
    

    ตัวอย่าง: ทำให้การค้นหา PDF ที่มีอยู่ (OCR) ผ่านบรรทัดคำสั่ง / สคริปต์

  • GOCR

    การรับรู้อักขระโอเพนซอร์ซ มันจะแปลงรูปภาพที่สแกนของข้อความกลับเป็นไฟล์ข้อความ GOCR สามารถใช้กับ front-end ที่แตกต่างกันซึ่งทำให้ง่ายต่อการพอร์ตไปยัง OS และสถาปัตยกรรมที่แตกต่างกัน สามารถเปิดรูปแบบภาพต่าง ๆ มากมายและคุณภาพได้รับการปรับปรุงในชีวิตประจำวัน

  • OCRopus ™ ( คำถามที่พบบ่อย ) (เขียนเป็น Python, NumPy และ SciPy)

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

    เอ็นจิ้น OCRopus นั้นใช้สองโครงการวิจัย: ตัวจำแนกลายมือประสิทธิภาพสูงที่พัฒนาขึ้นในช่วงกลางยุค 90 และได้รับการปรับใช้โดยสำนักสำรวจสำมะโนประชากรของสหรัฐและวิธีการวิเคราะห์เลย์เอาต์ประสิทธิภาพสูงใหม่

    OCRopus ได้รับการพัฒนาโดย Google และมีจุดประสงค์เพื่อการแปลงเอกสารจำนวนมากในปริมาณสูง เราคาดหวังว่ามันจะเป็นระบบ OCR ที่ยอดเยี่ยมสำหรับแอพพลิเคชั่นอื่น ๆ อีกมากมาย

  • Tessnet2 (โอเพนซอร์ส, OCR, Tesseract, .NET, DOTNET, C #, VB.NET, C ++ / CLI)

    Tesseract เป็นโปรแกรมโอเพ่นซอร์ส C ++ Tessnet2 เป็น. NET แอสเซมบลีที่เปิดเผยวิธีการง่าย ๆ ในการทำ OCR Tessnet2 อยู่ภายใต้ใบอนุญาต Apache 2 (เช่น tesseract) ซึ่งหมายความว่าคุณสามารถใช้งานได้ตามที่คุณต้องการรวมอยู่ในผลิตภัณฑ์เชิงพาณิชย์

อื่น ๆ แนะนำแล้ว: ABBYY OCR CLI สำหรับ Linux , Asprise OCR

อ่านเพิ่มเติม:

สำหรับรายการที่สมบูรณ์ยิ่งขึ้นให้ตรวจสอบ: รายการซอฟต์แวร์รู้จำอักขระด้วยแสงที่ Wikipedia


0

... OCR เป็นมากกว่า "การจดจำตัวอักษรเท่านั้น" การจัดการรูปภาพการประมวลผลล่วงหน้า - การวิเคราะห์หน้า / เค้าโครงเพื่อค้นหาข้อความรูปภาพตารางหรือบาร์โค้ด สำหรับการรับรู้คุณต้องจัดการกับแบบอักษรขนาดและภาษาที่แตกต่างกัน สิ่งนี้สำคัญมากเพราะเพื่อให้ได้ผลลัพธ์ที่ดีคุณต้องใช้พจนานุกรมและคำจำกัดความภาษา ในที่สุดคนก็คาดหวังว่าจะมีตัวเลือกในการส่งออกมากกว่าข้อความ (เช่น XML, RTF หรือ PDF ที่ค้นหาได้) มีตัวเลือกเชิงพาณิชย์สำหรับ SDK บางตัว แต่ไม่ถูกและฟรี

เมื่อเร็ว ๆ นี้ผมพบว่าCLI OCR สำหรับลินุกซ์จาก ABBYY มีการทดลองใช้ฟรี 100 หน้า


0

ถ้าคุณมีงบประมาณที่ผมขอแนะนำเครื่องยนต์ CLI ABBYY FineReader สำหรับลินุกซ์ บริษัท ของเราใช้มันในเว็บแอปพลิเคชันของเราเป็นเวลาหนึ่งปีและเราวางแผนที่จะต่ออายุใบอนุญาต คุณภาพการจดจำดีมากอินเตอร์เฟสบรรทัดคำสั่งการจดจำในหลายภาษา


2
สินค้านี้ถูกกล่าวถึงอยู่แล้วในคำตอบก่อนหน้านี้ กรุณาอย่าซ้ำคำตอบ!
David Foerster
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.