วิธีการใช้งาน Optical Character Recognition ใน Python



บทความนี้จะให้ความรู้โดยละเอียดและครอบคลุมเกี่ยวกับวิธีใช้ Optical Character Recognition ใน Python

การจดจำอักขระด้วยแสงมีความสำคัญและเป็นปัจจัยสำคัญและ ภาษาโปรแกรม การประยุกต์ใช้แนวคิดดังกล่าวในสถานการณ์จริงมีมากมาย ในบทความนี้เราจะพูดถึงวิธีการใช้ Optical Character Recognition ใน Python

การประยุกต์ใช้การรู้จำอักขระด้วยแสง

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





charachters

java ฟังก์ชันเสมือนคืออะไร

การเปิดตัว OCR ด้วย python นั้นได้รับเครดิตจากการเพิ่มไลบรารีอเนกประสงค์เช่น“ Tesseract” และ“ Orcad” ไลบรารีเหล่านี้ช่วยให้ผู้เขียนโค้ดและนักพัฒนาจำนวนมากสามารถออกแบบโค้ดได้ง่ายขึ้นและให้พวกเขาใช้เวลามากขึ้นในด้านอื่น ๆ ของโครงการ เนื่องจากผลประโยชน์มีมากมายให้เรามาดูกันว่ามันคืออะไรและทำอย่างไร



การสร้าง Optical Character Recognition ใน Python

ก่อนอื่นเราต้องสร้างคลาสโดยใช้ 'pytesseract' คลาสนี้จะช่วยให้เราสามารถนำเข้ารูปภาพและสแกนได้ ในกระบวนการนี้จะส่งออกไฟล์ที่มีนามสกุล“ ocr.py” ให้เราดูรหัสด้านล่าง บล็อกฟังก์ชัน“ process_image” ใช้เพื่อเพิ่มความคมชัดให้กับข้อความที่เราได้รับ

เพิ่มตัวจัดการเส้นทางและฟังก์ชันมุมมองต่อไปนี้ในแอปพลิเคชัน (app.py)

รหัสตัวจัดการเราเตอร์



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), method = [' POST ']) def ocr (): ลอง: url = request.json [' image_url '] if' jpg 'ใน url: output = process_image (url) ส่งคืน jsonify ({' output ': output}) else: return jsonify ({' error ':' only .jpg files, please '}) ยกเว้น: return jsonify ({' error ':' คุณตั้งใจจะส่ง: {'image_url': 'some_jpeg_url'} '})

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

นักพัฒนา ios คืออะไร
// OCR ENGINE นำเข้าคำขอนำเข้า pytesseract จากการนำเข้า PIL อิมเมจจากการนำเข้า PIL ImageFilter จาก StringIO นำเข้า StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) ส่งคืน pytesseract.image_to_string (image) def _get_image ( url): ส่งคืน Image.open (StringIO (request.get (url) .content)) //

โปรดอัปเดตการนำเข้าและเพิ่มหมายเลขเวอร์ชัน API

นำเข้าระบบนำเข้าบันทึกจากการบันทึกการนำเข้า Formatter, FileHandler จาก flask import Flask, request, jsonify จาก ocr import process_image _VERSION = 1 # เวอร์ชัน API

เรากำลังเพิ่มการตอบสนอง JSON ของฟังก์ชันของ OCR Engine นั่นคือ“ process_image ()” JSON ใช้สำหรับรวบรวมข้อมูลที่เข้าและออกจาก API เราส่งการตอบกลับในไฟล์ออบเจ็กต์โดยใช้ไลบรารี“ Image” จาก PIL เพื่อติดตั้ง

โปรดทราบว่ารหัสนี้ทำงานได้ดีที่สุดกับภาพ. jpg เท่านั้น หากเราใช้ไลบรารีที่ซับซ้อนซึ่งสามารถนำเสนอรูปแบบรูปภาพหลายรูปแบบภาพทั้งหมดจะสามารถประมวลผลได้อย่างมีประสิทธิภาพ นอกจากนี้ในกรณีที่คุณสนใจที่จะทดลองใช้รหัสนี้ด้วยตัวเองโปรดติดตั้ง PIL ซึ่งจัดหาจากไลบรารี 'หมอน' ก่อน

& bull เริ่มต้นด้วยการเรียกใช้แอปซึ่งก็คือ“ app.py”:

// $ cd ../home/flask_server/ $ python app.py //

& วัวจากนั้นในเทอร์มินัลรันอื่น:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'Content-Type: application / json'

ตัวอย่างเช่น:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'Content-Type: application / json' {'output': 'ABCDEnFGH I JnKLMNOnPQRST'} //

ข้อดีและข้อเสียของ OCR Engine

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

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

OCR ไม่สามารถรับประกันความถูกต้อง 100% ได้เสมอไป จำเป็นต้องใช้การฝึกอบรมหลายชั่วโมงด้วยความช่วยเหลือของแนวคิดปัญญาประดิษฐ์ซึ่งสามารถทำให้เอ็นจิ้น OCR เรียนรู้และจดจำภาพที่ไม่ดีได้ ภาพเขียนด้วยลายมือสามารถจดจำได้ แต่ขึ้นอยู่กับปัจจัยหลายประการเช่นลักษณะการเขียนสีของหน้าความคมชัดของภาพและความละเอียดของภาพ

วิธีการแปลงเป็นไบนารีใน python

ด้วยเหตุนี้เราจึงมาถึงตอนจบของบทความ Optical Character Recognition ใน Python ฉันหวังว่าคุณจะเข้าใจว่า OCR ทำงานอย่างไร

หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถทำได้ สำหรับการฝึกอบรมออนไลน์สดพร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต

มีคำถามสำหรับเรา? พูดถึงพวกเขาในส่วนความคิดเห็นของ“ Optical Character Recognition in Python” แล้วเราจะติดต่อกลับไป