چگونه با استفاده از موتور Tesseract OCR و پایتون، متن را از تصاویر استخراج کنیم؟

شکل ۱:استخراج متن از عکس منتشر‌شده در: towardsdatascience به تاریخ ۲ مارس ۲۰۲۱لینک منبع: How To Extract Text From Images Using Tesseract OCR Engine and Pythonابتدا باید بدانید، Tesseract چیست؟ این یک موتور OCR منبع باز (تشخیص مشخصات نوری) است که می‌تواند بیش از ۱۰۰زبان را با پشتیبانی یونی‌کد تشخیص دهد. هم چنین، می‌تواند برای تشخیص زبان‌های دیگر آموزش داده شود. یک موتور OCR می‌تواند با دیجیتالی کردن اسناد به جای تایپ کردن دستی محتوای سند در زمان صرفه‌جویی کند. از این پس، نحوه استخراج متن از تصاویر را با استفاده از موتور Tesseract OCR و پایتون یاد خواهید گرفت.مطالعه مقاله چرا ماژول‌های WebAssembly می‌تواند واحد واقعی جدید محاسبه باشد؟ توصیه می‌شود.تنظیماتبرای آماده‌سازی، من از موتورTesseract OCR، پایتون، و OS استفاده خواهم کرد. اول، ما باید موتور Tesseract OCR را نصب کنیم. فرمان زیر را در ترمینال خود تایپ کنید.brew install tesseractشما می‌توانید دستور زیر را برای دیدن این که کدام نسخه از Tesseract را بر روی دستگاه خود اجرا می‌کنید، به کار ببرید.tesseract --versionاز دستور جاری برای لیست کردن زبان‌های موجود برای موتور Tesseract OCR استفاده کنید.tesseract --list-langsدر این مورد، من سه زبان دارم.eng #English osd #Special data file for orientation and script detection snum #Serial number identificationاگر می‌خواهید زبان‌های اضافی را دانلود کنید، می‌توانید آن‌ها را از اینجا دریافت کنید. من می‌خواهم داده‌های قطار را برای زبان بنگالی دانلود کنم. زمانی که این فایل را در دستگاه خود دانلود کردید، باید آن فایل را در پوشه زیر جا به جا کنید./usr/local/Cellar/tesseract/4.1.1/share/tessdata/حالا اگر پایتون را ندارید، از اینجا آن را نصب کنید. پس از آن، Python-tesseract را نصب خواهیم کرد که پوششی برای موتور Tesseract OCR است. همچنین، ما نیاز به نصب کتابخانه تصویربرداری پایلو داریم. فرمان‌های زیر را در ترمینال خود تایپ کنید.pip install pytesseract pip install Pillowبرای هدف نمایش، من یک مخزن Github ایجاد کردم، که می‌توانید از اینجا آن را به دست آورید. در داخل مخزن، من دو تصویر آزمایشی برای زبان انگلیسی و بنگالی قرار دادم. علاوه بر این، من یک اسکریپت پایتون به نام main.py دارم. اجازه دهید، لایه‌های جداگانه فایل main.py را از بین ببریم.main.pyدر اینجا من یک روشprocess_image را ایجاد کرده‌ام، که نام تصویر و کد زبانی را به عنوان پارامترها در نظر می‌گیرد. در داخل این روش، من از یک روش pytesseraction image_to_string استفاده می‌کنم، که خروجی تغییر نیافته را به عنوان یک رشته از Tesseract OCR برمی‌گرداند. علاوه بر این، من دو روش کمکی اضافه کرده‌ام. روشprint_data خروجی رشته را چاپ می‌کند و روش output_file خروجی رشته را به یک فایل متنی می‌نویسد. در زیر، من خروجی‌های رشته را دارم.خروجی برای فایل test _ eng.png._ The’quick brown fox’ . -jumps over the lazy: dog.خروجی برای فایل تست _ ben.png.পথের দেবতা প্রসন্ন হাসিয়া বলেন-মূর্খ বালক, পথ তো আমার শেষ হয়নি তোমাদের গ্রামে, বাশের বনে, ঠ্যাঙাড়ে 'বীরু রায়ের বটতলায় কি ধলচিতের খেয়াঘাটের সীমানায়. তোমাদের সোনাডাঙা মাঠ ছাড়িয়ে ইচ্ছামতী পার হয়ে পদ্মফুলে ভরা মধূখালি বিলের পাশ কাটিয়া বেত্রবতীর খেয়ায় পাড়ি দিয়ে, পথ আমার চলে গেল সামনে, সামনে, 'শুধুই সামনে...দেশ ছেড়ে দেশান্তরের দিকে, সূর্যোদয় ছেড়ে সূর্যাস্তের দিকে, জানার গন্ডী এড়িয়ে অপরিচয়ের উদ্দেশে.نتیجه‌گیریدیجیتالی کردن اسناد، قابلیت خواندن ماشین را ممکن می‌سازد. برای مثال، ما می‌توانیم اسناد اسکن شده مهم را برای انجام جستجو، ترجمه و پردازش کلمه تبدیل کنیم. همچنین می‌توانیم از آن برای دریافت خودکار و تشخیص پلاک خودرو استفاده کنیم. پتانسیل OCR بی‌پایان است.این متن با استفاده از ربات ترجمه مقالات علوم داده ترجمه شده و به صورت محدود مورد بازبینی انسانی قرار گرفته است.در نتیجه می‌تواند دارای برخی اشکالات ترجمه باشد.مقالات لینک‌شده در این متن می‌توانند به صورت رایگان با استفاده از مقاله‌خوان ترجمیار به فارسی مطالعه شوند.