OCR هندی: تبدیل عکس به متن هندی
عکس، اسکرینشات یا PDF اسکنشدهای را که متن هندی دارد بارگذاری کنید و متن را بهصورت دوناگری یونیکد تحویل بگیرید؛ متنی که بینقص در Word، WhatsApp، Google Docs یا هر فرمی جایگذاری میشود. زبان سند از پیش روی هندی تنظیم شده است.
تبدیل عکس به متن
یا فایلهای PDF, JPG, JPEG … را اینجا رها کنید ·
حداکثر 95 MB برای هر فایل· تا 20 فایل· حذف پس از 30 دقیقه
فایلها روی سرورهای ما پردازش میشوند و پس از 30 دقیقه حذف میشوند.
برای صفحههایی که دو زبان را ترکیب میکنند، مثلاً هندی با واژههای انگلیسی. در غیر این صورت روی «هیچکدام» بگذارید؛ زبان اضافه دقت را اندکی کم میکند.
«حفظ» ستونها، پاراگرافها و جدولها را سر جایشان نگه میدارد. «ساده» یک بلوک متن پیوسته میدهد که جایگذاری آن در فرمها آسانتر است.
برای ورودی PDF و TIFF چندصفحهای: همه صفحهها، فقط صفحه اول یا یک بازه را بخوانید.
صفحههایی که باید خوانده شوند، مثلاً 1-3, 5, 8-10.
نحوه استفاده از این ابزار
- 1
صفحهٔ هندی را بارگذاری کنید
تصاویر JPG، PNG، HEIC یا TIFF یا یک فایل PDF را اضافه کنید؛ حداکثر 20 فایل و هر کدام تا 95 MB. عکس واضح و صاف از صفحه در نور روز بهترین نتیجه را میدهد.
- 2
اگر صفحه هر دو زبان را دارد، انگلیسی را هم اضافه کنید
زبان سند را روی هندی بگذارید. اگر در صفحه کلمه، نام یا کد انگلیسی هم هست، در تنظیمات پیشرفته گزینهٔ تشخیص زبان دیگر را روی انگلیسی بگذارید؛ در غیر این صورت آن را روی هیچ رها کنید.
- 3
متن را تشخیص دهید
روی تشخیص متن بزنید و فایل .txt را دانلود کنید، یا پیش از شروع در خروجی Word یا PDF قابل جستوجو را انتخاب کنید.
OCR هندی باید یک خط را بخواند، نه رشتهای از حروف جدا: خط سر همهٔ حروف یک کلمه را به هم وصل میکند، نشانههای مصوت بالا، پایین و پیش از همخوانها میآیند و همخوانها در هم ادغام میشوند.
OCR هندی چگونه خط دوناگری را میخواند
هندی با خط دیوانگری نوشته میشود که ماده ۳۴۳ قانون اساسی هند آن را خط زبان رسمی اتحادیه میداند. یونیکد بلوک U+0900 تا U+097F را به آن اختصاص داده و هر تلفن و رایانهٔ امروزی میتواند آن را نمایش دهد و تایپ کند. تشخیص آن از روی تصویر با خواندن متن لاتین فرق دارد، چون ساختار این خط متفاوت است.
کلمهها از یک خط پیوستهٔ بالایی به نام شیروریکا آویزاناند، پس حروف به هم میچسبند و نمیشود آنها را با پیدا کردن فاصلهها از هم جدا کرد. مصوتهای بعد از اولی به شکل ماترا به همخوان میچسبند. دو یا چند همخوان بدون مصوت میانشان در یک حرف مرکب مثل क्ष، त्र یا श्र ادغام میشوند. موتورهای OCR امروزی این را با خواندن کل خط توسط شبکههای عصبی آموزشدیده روی متن هندی حل میکنند؛ مثلاً موتور متنباز Tesseract علاوه بر مدل عمومی دیوانگری، مدل ویژهٔ هندی هم دارد.
برای همین انتخاب زبان سند در هندی مهمتر از بیشتر زبانهای اروپایی است. اگر انگلیسی انتخاب شود، از صفحهٔ هندی متن بیمعنی درمیآید؛ با انتخاب هندی، موتور شکلهای دیوانگری را انتظار دارد، الگوهای املایی هندی را به کار میبرد و نتیجه را با ترتیب درست یونیکد مینویسد. برای نگاه کلیتر به زبانها و خروجیها، تبدیل عکس به متن را ببینید.
ویژگیهای دوناگری که تبدیل عکس به متن هندی را دشوارتر میکنند
| ویژگی | مثال | معنای آن برای OCR |
|---|---|---|
| شیروریکا (خط سر) | हिन्दी | حروف یک کلمه به هم وصلاند، پس موتور به جای حروف جدا، شکل کل کلمه را میخواند |
| ماترایی که اول نوشته میشود | कि | نشانهٔ ि پیش از क کشیده میشود اما در یونیکد بعد از آن ذخیره میشود، پس ترتیب دیداری باید برعکس شود |
| حروف مرکب با هالانت | क्ष, ज्ञ, द्ध | دو همخوان بهعلاوهٔ ویراما ् به شکل یک نقش ادغامشده دیده میشود که به سه کد یونیکد برمیگردد |
| نُقطا | ज़, फ़ | نقطهای کوچک زیر حرف؛ وضوح پایین یا نویز بهراحتی آن را حذف یا اضافه میکند |
| آنوسوارا و چاندرابیندو | हं, हँ | نشانههای ریز بالای خط سر که در عکسهای فشرده زودتر از همه محو میشوند |
| ارقام دیوانگری | ०१२३ | بسیاری از اسناد آنها را با 0–9 ترکیب میکنند و هر دو همانطور که چاپ شدهاند حفظ میشوند |
Kruti Dev و دیگر فونتهای قدیمی هندی
بسیاری از اسناد قدیمی هندی با فونتهایی مثل Kruti Dev تایپ شدهاند که شکل حروف دیوانگری را روی کدهای صفحهکلید انگلیسی میگذارند. روی صفحه درست دیده میشوند اما متن هندی واقعی نیستند، پس کپی، جستوجو و غلطیاب کار نمیکند. خروجی OCR همیشه یونیکد است؛ اگر آزمون تایپ یا قالب اداری هنوز Kruti Dev میخواهد، به یک تبدیل جداگانهٔ یونیکد به Kruti Dev نیاز دارید.
استخراج دقیق متن هندی از عکس یا اسکن
در هندی نشانههای کوچک دقت را تعیین میکنند. نقطا یا چاندرابیندو فقط چند پیکسل ارتفاع دارد و در عکس تار یا بسیار فشرده اولین چیزی است که از بین میرود. با 300 DPI اسکن کنید یا از صفحه طوری عکس بگیرید که کادر را پر کند، و فایل اصلی را بفرستید، نه نسخهای که از طریق پیامرسان فرستاده شده است.
صاف کردن صفحات بیش از معمول اهمیت دارد، چون خط سرِ کج خطی را که موتور دنبال میکند میشکند. آن را روشن نگه دارید و برای کاغذ روزنامهٔ رنگپریده، فرمهای دولتی قدیمی یا عکسهای نور کم افزایش کنتراست را روشن کنید. برای صفحههایی که فقط هندیاند، تشخیص زبان دیگر را روی هیچ بگذارید؛ زبان دوم در صورت نیاز نبودن، دقت را کمی کم میکند.
پرسشهای رایج دربارهٔ OCR هندی
آیا OCR هندی میتواند سندی را که با Kruti Dev تایپ شده بخواند؟
بله. OCR شکل حروف چاپشده در صفحه را میخواند، نه فایل فونت پشت آن را؛ بنابراین پرینت یا اسکن یک سند Kruti Dev مثل هر متن هندی دیگری تشخیص داده میشود. خروجی یونیکد استاندارد دیوانگری است، نه کلیدهای Kruti Dev.
چرا متن هندی که از PDF کپی میکنم به حروف انگلیسی نامفهوم تبدیل میشود؟
این PDF با یک فونت قدیمی ساخته شده که شکل حروف دیوانگری را روی کدهای کاراکتر لاتین ذخیره میکند؛ برای همین هنگام کپی، کدها را میگیرید، مثلاً fgUnh به جای हिन्दी. اگر صفحهها را از OCR بگذرانید، این کدها نادیده گرفته میشوند و آنچه دیده میشود خوانده میشود. OCR PDF میتواند یک لایهٔ متنی درست هم به PDF برگرداند.
برای نمایش متن هندی استخراجشده از کدام فونت استفاده کنم؟
هر فونت یونیکد که از دیوانگری پشتیبانی کند. ویندوز Mangal و Nirmala UI دارد، مک و iPhone هم فونتهای دیوانگری دارند و Noto Sans Devanagari گوگل رایگان است. اگر کادرهای خالی میبینید، برنامه فونتی بدون دیوانگری به کار برده و فایل خراب نیست.
آیا دستخط هندی را هم میخواند؟
برای یادداشتها و فرمهای دستنویس مرتب، نوع متن را روی دستنویس بگذارید؛ نتیجه از متن چاپی ضعیفتر است و باید با دقت بازبینی شود. دستخط تند و پیوسته با خط سرِ ناهموار سختترین حالت است.
آیا OCR هندی برای مراتی، نپالی یا سانسکریت هم کار میکند؟
این زبانها خط دیوانگری را مشترکاً دارند، پس بخش زیادی از متن تشخیص داده میشود، اما واژگان و چند حرف فرق دارد. مراتی در زبان سند گزینهٔ جداگانهای دارد که حروفی مثل ळ را بهتر تشخیص میدهد؛ برای نپالی و سانسکریت هندی نزدیکترین گزینه است و بازبینی اهمیت بیشتری دارد.