Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

เมื่อเร็วๆ นี้ การหาซอฟต์แวร์ Linux ที่เยี่ยม ใหม่ และเฉพาะตัว กลายเป็นงานยาก งานหนัก และเมื่อพูดถึง "เมื่อเร็วๆ นี้" ผมหมายถึง 4-5 ปีที่ผ่านมา ตั้งแต่ความกระตือรือร้นและนวัตกรรมในพื้นที่เดสก์ท็อปเริ่มลดลง สุดท้ายมีขีดจำกัดว่าจะมีสิ่งดีๆ อยู่ได้เท่าไหร่ในปริมาณสติปัญญาที่จำกัด แต่别忘了การเปลี่ยนโฟกัสผิดไปที่มือถือ และการพังทลายของฝัน "ปีของ Linux"

สิ่งนี้ทำให้การทดสอบซอฟต์แวร์อายุ 4 ปีชื่อ OCRFeeder น่าสนใจ คิดว่ามีเหตุผล 2 ข้อ ถ้ามันดี มันก็ดี สอง ผมสนใจความก้าวหน้าของการจดจำตัวอักษรด้วยแสง (OCR) และว่าเครื่องมือของเรา (อ่านว่า AI) ทำได้สมควรหรือไม่ ผมเขียนเรื่องนี้โดยละเอียดไปแล้ว และรีวิว YAGF ในปี 2015 ตอนนี้มาดู OCRFeeder และว่ามันทำอะไรได้บ้าง ตามมา นักรบ Linux กล้าหาญ

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

คำไม่ได้มาง่ายกับ jpg

ติดตั้งโปรแกรม มีไลบรารีที่ต้องดึงมาค่อนข้างเยอะ ใน Ubuntu 18.04 รายการยาวหลายบรรทัด คุณได้เครื่องยนต์ OCR Tesseract เป็นชุดเริ่มต้นสำหรับโปรแกรมนี้

The following additional packages will be installed:
blt gir1.2-goocanvas-2.0 gir1.2-gtkspell3-3.0 libgoocanvas-2.0-9 libgoocanvas-2.0-common libgtkspell3-3-0 liblept5 libtesseract4 libyelp0 python-bs4 python-chardet python-enchant python-html5lib python-lxml python-numpy python-olefile python-pil python-renderpm python-reportlab python-reportlab-accel python-sane python-tk python-webencodings tesseract-ocr tesseract-ocr-eng tesseract-ocr-osd tk8.6-blt2.5 unpaper yelp yelp-xsl

Suggested packages:
blt-demo python-gobject python-wxgtk3.0 python-genshi python-lxml-dbg python-lxml-doc gfortran python-dev python-nose python-numpy-dbg python-numpy-doc python-pil-doc python-pil-dbg python-renderpm-dbg python-egenix-mxtexttools python-reportlab-doc python-sane-dbg tix python-tk-dbg

เปิดโปรแกรม อินเทอร์เฟซค่อนข้าง utilitarian คุณต้องโหลดภาพขึ้นมาหนึ่งหรือหลายภาพ ก่อนจะนำไปให้เครื่องยนต์ OCR ประมวลผล และหวังว่าจะได้ข้อความที่แม่นยำทางด้านอื่น เมื่อเสร็จแล้ว คุณสามารถส่งออกข้อความไปยัง LibreOffice ได้

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

เครื่องยนต์ OCR

какกล่าวไว้ โดยค่าเริ่มต้น OCRFeeder จะใช้ Tesseract แต่คุณสามารถเพิ่มเครื่องยนต์อื่นๆ ได้ ผมลอง CuneiForm, GOCR และ Ocrad โปรแกรมตรวจจับและโหลดทั้งหมดได้ถูกต้อง น่าสนใจมาก ให้คุณลองเอกสารหลายวิธี เพราะอาจโชคดีกับเครื่องยนต์บางตัว

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
sudo apt-get install cuneiform gocr ocrad
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

การแปลงภาพเป็นข้อความ

ตอนนี้ส่วนสำคัญ ผมติดปัญหานิดหน่อย ให้โปรแกรมตรวจจับข้อความอัตโนมัติ (recognize all pages) ในภาพที่มีทั้งหมด และได้เอาต์พุตที่มีสีแปลกๆ เรื่องนี้ใช้เวลาประมาณ 3 นาทีสำหรับไฟล์ PNG 3 ไฟล์ และในช่วงนั้น CPU ของ OCRFeeder ประมาณ 17% และ Tesseract ประมาณ 4-5% เวลาสามารถลดลงได้ถ้าแอปพลิเคชันใช้งานโปรเซสเซอร์ทุกโคร์ได้ดีกว่านี้ แล้วเอาต์พุตแปลกๆ ผมไม่แน่ใจว่าทำต่อยังไง แปลกมาก ดูเหมือนไม่ได้ก้าวหน้าเลย

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

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

โดยไม่มีการฝึกหรือเปลี่ยนค่าเริ่มต้น ผลลัพธ์ที่แตกต่างกันระหว่างเครื่องยนต์ 4 ตัวมีความแตกต่างมาก Tesseract ให้ผลดีที่สุด - และเป็นตัวเดียวที่ยอมรับได้ ส่วนอื่นๆ ไม่พอใช้เลย ไม่แน่ใจว่าทำไม แค่เป็นแบบนั้น

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

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

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

การแก้ไขภาพเอียงและเอากระดาษออก

OCRFeeder มาพร้อม 2 ฟังก์ชันน่าสนใจ - ความพยายามหมุนข้อความในภาพสแกนที่เอียงอัตโนมัติ และความสามารถในการเอาพื้นหลังกระดาษออกเพื่อลด noise และให้การแปลงแม่นยำขึ้น ผมลองทั้งสอง Deskew ทำงานได้ดี Unpaper พอใช้ แต่หลังจากหมุนข้อความแล้ว (ซึ่งผมทำใน GIMP ในภาพควบคุมเมื่อก่อน) ผลการแปลงดีขึ้นอีก

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

ส่งออกเป็น ODT

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

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น
OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

การตั้งค่า

สุดท้าย คุณมีตัวเลือกเปลี่ยนพฤติกรรมของโปรแกรม ไม่มีอะไรใหญ่โต แต่ช่วยได้กับการตรวจจับและความแม่นยำ ส่วนใหญ่เกี่ยวกับการตรวจจับความกว้างคอลัมน์ข้อความ ขอบเขต การเลือกภาษา และคล้ายๆ กัน สำหรับคนส่วนใหญ่ ค่าเริ่มต้นจะเป็นจุดเริ่มต้นที่สมเหตุสมผล

OCRFeeder: แปลงภาพเป็นข้อความที่แก้ไขได้อย่างราบรื่น

สรุป

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

เรื่องอายุและอัปเดตไปก่อน สำหรับส่วนใหญ่ OCRFeeder ส่งมอบ คุณภาพการแปลงไม่แย่ คุณไม่สูญเสียอะไรจากการใช้ UI ทำงาน และฟังก์ชันส่งออกให้สร้างเอกสารที่ดีสำหรับการแก้ไขต่อไป ผมยินดีกับการปรับปรุงของ Tesseract ดังนั้นถ้าคุณมีภาพที่มีข้อความเยอะ และอยากลองแปลงข้อความมือเขียนบนแบบฟอร์มโบราณให้กลายเป็นสิ่งทันสมัยและใช้งานได้ คุณสามารถทำได้ OCRFeeder รองรับ PDF และอ่านจากสแกนเนอร์โดยตรง คุ้มค่าที่จะทดลอง ตอนนี้ไปต่อแล้ว ลาก่อน

ขอให้สนุกกับการทำงาน!