כיצד ליישם זיהוי תווים אופטי בפייתון



מאמר זה יספק לך ידע מפורט ומקיף כיצד ליישם זיהוי תווים אופטי בפייתון.

זיהוי תווים אופטי הוא חיוני והיבט מרכזי ו שפת תכנות. היישום של מושגים כאלה בתרחישים בעולם האמיתי הוא רב. במאמר זה נדון כיצד ליישם זיהוי תווים אופטי בפייתון

כיצד להפסיק את תוכנית Java

יישומים של זיהוי תווים אופטיים

דלפקי כרטיסים משתמשים בזה בהרחבה לסריקה ואיתור מידע מפתח בכרטיס למעקב אחר מסלולים ופרטי נוסעים. המרה של טקסט נייר לפורמטים דיגיטליים שבהם מצלמות מצלמות תמונות ברזולוציה גבוהה ואז משתמשים ב- OCR כדי להביא אותם למילה או לפורמט PDF.





charachters

הכנסת OCR עם פיתון מיוחסת לתוספת של ספריות תכליתיות כמו 'Tesseract' ו- 'Orcad'. ספריות אלה סייעו לקודדים ומפתחים רבים לפשט את עיצוב הקוד שלהםולאפשר להם להשקיע יותר זמן בהיבטים אחרים של הפרויקטים שלהם. מכיוון שהיתרונות עצומים, בואו נציץ מה זה ואיך זה נעשה.



בניית זיהוי תווים אופטי בפייתון

ראשית עלינו לעשות שיעור באמצעות 'pytesseract'. מחלקה זו תאפשר לנו לייבא תמונות ולסרוק אותן. בתהליך זה יפיק קבצים עם הסיומת 'ocr.py'. הבה נראה את הקוד שלהלן. בלוק הפונקציות 'process_image' משמש לחידוד הטקסט שאנו מקבלים.

המטפל בנתיב ופונקציית התצוגה הבאה מתווספים לאפליקציה (app.py).

קוד מטפל הנתב



// ROUTE HANDLER @ app.route ('/ v {} / ocr'.format (_VERSION), שיטות = [' POST ']) def ocr (): נסה: url = request.json [' image_url '] if' jpg 'ב- url: output = process_image (url) להחזיר jsonify ({' output ': output}) אחר: להחזיר jsonify ({' error ':' רק קבצי jpg, בבקשה '}) למעט: להחזיר jsonify ({' error ':' האם התכוונת לשלוח: {'image_url': 'some_jpeg_url'} '})

קוד מנוע OCR

// OCR ENGINE ייבוא ​​בקשות ייבוא ​​של pytesseract מ- PIL ייבוא ​​תמונה מ- PIL ייבוא ​​ImageFilter מ- StringIO ייבוא ​​StringIO def process_image (url): image = _get_image (url) image.filter (ImageFilter.SHARPEN) return pytesseract.image_to_string (image) def _get_image ( url): להחזיר Image.open (StringIO (requests.get (url) .content)) //

אנא הקפד לעדכן את הייבוא ​​ולהוסיף את מספר גרסת ה- API.

ייבוא ​​רישום ייבוא ​​רישום רישום ייבוא ​​מעצב, FileHandler מבקבוק יבוא בקבוק, בקש, jsonify מ ocr יבוא process_image _VERSION = 1 # גרסת API

אנו מוסיפים בתגובת JSON את הפונקציה של מנוע ה- OCR שהיא 'process_image ()'. JSON משמש לאיסוף מידע שנכנס לממשק ה- API ויוצא ממנו. אנו מעבירים את התגובה בקובץ אובייקט באמצעות ספריית 'תמונה' מ- PIL כדי להתקין אותה.

שים לב שקוד זה פועל בצורה הטובה ביותר רק בתמונות .jpg בלבד. אם אנו משתמשים בספריות מורכבות שיכולות לכלול פורמטים מרובים של תמונות, ניתן לעבד את כל התמונות בצורה יעילה. שים לב, אם אתה מעוניין לנסות קוד זה בעצמך, אנא התקן תחילה את PIL שנרכש מתוך ספריית 'כרית'

& bull התחל על ידי הפעלת האפליקציה, שהיא 'app.py':

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

& bull ואז, בריצת מסוף אחרת:

// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' image_url ':' some_url '}' -H 'סוג תוכן: יישום / json'

לדוגמה:

פונקציית כוח בג'אווה למספרים שלמים
// $ curl -X POST http: // localhost: 5000 / v1 / ocr -d '{' C: UsersakashDownloadsPic1 ':' https://edureka.com/images/blog_images/ocr/ocr.jpg '}' - H 'סוג תוכן: יישום / json' {'פלט': 'ABCDEnFGH I JnKLMNOnPQRST'} //

פייתון __init__ עצמי

יתרונות וחסרונות של מנוע OCR

מתוך היישומים הרבים של שימוש ב- OCR בפייתון, הפופולרי ביותר הוא זיהוי כתב יד. אנשים מיישמים זאת כדי ליצור מחדש טקסט כתוב שאותו ניתן לאכלס למספר עותקים ולא רק לצלם את התסריט המקורי. זאת בכדי להביא לאחידות וקריאות.

OCR שימושי גם בהמרת קבצי PDF לטקסטים ואחסונם כמשתנים. מאוחר יותר ניתן יהיה לבצע זאת לכל כמות של עיבודים מראש למשימות נוספות. למרות שמושג ה- OCR נראה נושא מועיל בעולם הפיתון, הוא בטוח משתף בחלקו בחסרונות.

OCR לא תמיד יכול להבטיח דיוק של 100%. יש ליישם הרבה שעות אימון בעזרת מושגי בינה מלאכותית אשר יכולים לאפשר למנוע ה- OCR ללמוד ולהכיר תמונות גרועות. ניתן לזהות תמונות בכתב יד אך הן תלויות בכמה גורמים כמו סגנון הכתיבה, צבע העמוד, ניגודיות התמונה ורזולוציית התמונה.

עם זאת, אנו מגיעים לסוף זיהוי תווים אופטי זה במאמר בפייתון. אני מקווה שתבין כיצד בדיוק OCR עובד.

כדי לקבל ידע מעמיק על Python יחד עם היישומים השונים שלו, אתה יכול לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים.

יש לך שאלה עבורנו? הזכר אותם בסעיף ההערות של 'זיהוי תווים אופטיים בפייתון' ונחזור אליך.