การจดจำอักขระด้วยแสงมีความสำคัญและเป็นปัจจัยสำคัญและ ภาษาโปรแกรม การประยุกต์ใช้แนวคิดดังกล่าวในสถานการณ์จริงมีมากมาย ในบทความนี้เราจะพูดถึงวิธีการใช้ Optical Character Recognition ใน Python
- การประยุกต์ใช้การรู้จำอักขระด้วยแสง
- การสร้าง Optical Character Recognition ใน Python
- ข้อดีและข้อเสียของ OCR Engine
การประยุกต์ใช้การรู้จำอักขระด้วยแสง
เคาน์เตอร์จำหน่ายตั๋วใช้วิธีนี้อย่างกว้างขวางในการสแกนและตรวจจับข้อมูลสำคัญบนตั๋วเพื่อติดตามเส้นทางและรายละเอียดผู้โดยสาร การแปลงข้อความในกระดาษเป็นรูปแบบดิจิทัลที่กล้องจับภาพความละเอียดสูงจากนั้นใช้ OCR เพื่อนำมาเป็นคำหรือรูปแบบ PDF
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” แล้วเราจะติดต่อกลับไป