بخشی از مقاله

چکیده

در این مقاله، یک الگوریتم جهت جداسازی حروف در متون چاپی فارسی ارائهشده است. این الگوریتم مبتنی بر برآمدگیهایی است که در بالای خط زمینه وجود دارند. برای تشخیص نقاط جداسازی از یک فیلتر 3*3 استفادهشده است که روی کل تصویر چرخانده میشود. با استفاده از پیشپردازش و قوانین ساده تمامی مقادیر حد آستانه که در روشهای قبلی وجود داشته از بین میرود. برای تست توانایی الگوریتم در مرحله اول از کلمات تولیدشده توسط کامپیوتر استفادهشده است و در مرحله دوم برای تست مقاومت الگوریتم در برابر کاهش اندازه قلم از یک متن اسکن شده با 10 قلم معروف فارسی با اندازه قلم 8 تا 24 و با سطوح کیفیت 150، 200 و 300 نقطه بر اینچ استفادهشده است. بر اساس آزمایشات انجامگرفته بدترین نتیجه مربوط به قلم BLotus با اندازه قلم 9 با میزان خطای 5,16 درصد و بهترین نتیجه مربوط به قلم Tahoma با اندازه قلمهای مختلف با میزان خطای 0 درصد میباشد.

کلمات کلیدی:جداسازی حروف، متون چاپی فارسی، کانتور، بازشناسی کلمات فارسی

.1مقدمه

در دهههای اخیر مسئله جداسازی حروف در متون چاپی فارسی جهت بازشناسی متون چاپی فارسی موردتوجه محققین بسیاری قرارگرفته است که نتایج این تحقیقاتبعضاً منجر به طراحی و ساخت سیستمهای مقرون به صرفهای مبتنی بر OCR شده است. سیستمهای مبتنی بر OCR - Optical Character Recognition - روند تبدیل تصاویر اسناد را به کدهای کاراکتری معادل با صرفهجویی عظیمی از انرژی انسان و هزینه بهآسانی انجام میدهد .[1] مرحله جداسازی حروف در میان تمام مراحل بازشناسی مهمترین نقش را ایفا میکند بهطوریکه کوچکترین خطا در این مرحله میتواند نتیجه بازشناسی را با چالش روبهرو کند.طی دو دهه گذشته کارهای شایانی در زمینه جداسازی حروف چاپی فارسی انجامشده است.

جداسازی حروف در 2]و[3 بر اساس حلقه بازخورد به همراه استفاده از دانشهای جانبی و درجه تفکیک dpi 300 صورت گرفته است. در 4]و[5 جداسازی با استفاده از آنالیز کانتور زیر کلمات و کدهای فریمن روی تصاویر با درجه تفکیک dpi 300 انجامشده است. جداسازی در 6]و[7 از کانتور کلمات، در [11- 8] بر اساس هیستوگرام عمودی پیکسلهای سیاه، در 12]و[13 از پروفایل بالایی کلمات، در [14] از اسکلت تصویر و در 4] و15و[16 از برچسب زدن به کانتور بالایی کلمات استفادهشده است. بهصورت کلی تمامی روشهای ارائهشده تاکنون را میتوان در چهار دسته کلی روشهای مبتنی بر افکنش، مبتنی بر کانتور، مبتنی بر پروفایل و مبتنی بر اسکلت تقسیمبندی کرد .[5]

مزایا و معایب هرکدام از روشها در مقالات مختلف بررسیشده است، اما یکی از مهمترین معایبی که در تمامی روشهای ارائهشده به چشم میخورد، وجود حد آستانه است که با توجه به وضع قوانین محکم اطمینان سیستم را موردحمله قرار میدهد. در این مقاله ما با استفاده از طراحی یک فیلتر جدید که بهنوعی روشی مبتنی بر کانتور میباشد سعی بر حذف حدآستانهها و یافتن محل دقیق نقاط جداسازی میکنیم. در این روش پیچیدگی سیستم به خاطر حذف حلقههای بازخورد، برچسبگذاری، استفاده از دانشهای جانبی و وضع قوانین برای حد آستانه به حداقل میرسد.بخشهای بعدی مقاله بهصورت زیر سازماندهی شده است: در بخش 2 روش پیشنهادی بررسی میشود که شامل زیر مراحل تعیین خط زمینه، ترمیم شکل کلمات، حذف موقت نقاط و علائم غیر از بدنه اصلی، پر کردن فضای خالی بین دو پیکسل سیاه در راستای عمود، تشخیص نقاط جداسازی، انتخاب نقاط جداسازی صحیح، جداسازی کلمات بر اساس نقاط جداسازی و جداسازی بخشهای همپوشان میباشد. در بخش 3 نتایج آزمایشات بیان و نهاتاًی در بخش 4 نتیجهگیری آورده میشود.

.2روش پیشنهادی

نمودار کلی الگوریتم جداسازی در شکل - 1 - آمده است. در این الگوریتم فرض شده است که عملیات پیشپردازش مانند: دوسطحی سازی، رفع نویز، رفع کجی متن و تفکیک خطوط انجامشده است. بنابراین ورودی الگوریتم تصاویر دوسطحی از خطوط اسناد میباشد. در این روش هیچگونه تلاشی برای یافتن پهنای قلم، پهنای نویز، ارتفاع خط، پهنای فضای خالی و تبدیل به کلمات و زیر کلمات صورت نمیگیرد و به دلیل اینکه الگوریتم به حد آستانه وابسته نیست نیازی به یافتن نوار زمینه محلی نیز نمیباشد. بعد از دریافت تصویر از قسمت ورودی، تصاویر ورودی به ارتفاع 52 پیکسل نرمال میشوند. در ادامه به شرح هریک از مراحل روش پیشنهادی میپردازیم.

.2,1 تعیین خط زمینه

در نگارش زبان فارسی و بهخصوص در متون تایپی تمامی کلمات بر روی یک خط افقی قرار میگیرند. از این ویژگی که معروف به خط زمینه است میتوان برای تشخیص نقاط جداسازی استفاده کرد. به دلیل اینکه تمامی محلهای جداسازی بر روی خط زمینه قرار دارند از این خط می-توان بهعنوان معیاری برای برش زدن نقطه جداسازی استفاده کرد. بهطور مثال دندانه اعدادی مانند "2" و "3" و حروفی مانند "ی" که بالاتر و پایینتر از خط زمینه هستند نباید برش زده شوند. برای یافتن موقعیت خط زمینه میتوان از هیستوگرام افقی پیکسلهای سیاه استفاده کرد .[2] بهطوریکه تمام پیکسلهای سیاه تصویر را بهصورت افقی میشماریم و سطری که شامل بیشترین تعداد پیکسل سیاه بود را بهعنوان خط زمینه در نظر میگیریم. معادله - 1 - که در [2] معرفیشده است نحوه انجام این کار را نشان میدهد.

.2,2 ترمیم شکل کلمات

در نگارش برخی از فونتهای فارسی برای زیر کلماتی مانند "بر" و "می" دندانهای بهعنوان معیار جداسازی وجود ندارد و یا ممکن است به دلیل کیفیت پایین و اندازه کوچک قلم متن، دندانههای این نوع زیر کلمات از بین بروند. در اینگونه موارد الگوریتمهای جداسازی با مشکل مواجه میشوند. برای رفع این مشکل بهصورت دستی دندانهای برای این موارد اضافه میکنیم. برای این منظور، ردیف خط زمینه را از تصویر ورودی انتخاب میکنیم. در این ردیف هر اجزای بههمپیوسته پیکسلهای سفید را بهعنوان یک CC - Connected Component - در نظر میگیریم. به پیکسلهای سیاهی که در همسایگی هم هستند 8 - یا 4 همسایگی - اجزای بههمپیوسته یا CC میگویند. در موقعیت سمت راست 2 + پیکسل هر CC، 5 پیکسل عمودی در تصویر اصلی را سیاه میکنیم. شکل - 2 - مراحل ترمیم شکل کلمات را بهروشنی نشان میدهد.

.2,3 حذف موقت علائم غیر از بدنه اصلی

یکی از ویژگیهای مهم رسمالخط زبان فارسی وجود نقاط و علائمی است که در بالا یا پایین بدنه اصلی وجود دارند. برای راحتی کار در ابتدا بهصورت موقت این علائم را از تصویر حذف میکنیم. برای حذف علائم اضافی از ویژگی موقعیت خط زمینه استفاده میکنیم بهطوریکه اگر اجزای بههمپیوسته از پیکسلهای سیاه - Connected Component - روی دو پیکسل بالا یا پایینتر از خط زمینه قرار داشتند جزء بدنه اصلی محسوب میشوند و در تصویر باقی میمانند و سایر علائم از تصویر حذف میگردند. بهعبارتدیگر اگر خط زمینه از روی CC ای عبور کند آن CC جزء بدنه اصلی محسوب میشود برای این کار میتوان از موقعیت قرارگیری CC در تصویر استفاده کرد بهطوریکه اگر بالاترین پیکسل CC موردنظر بالاتر از خط زمینه قرار داشت و پایینترین پیکسل CC موردنظر پایینتر از خط زمینه قرار داشت به این معنی است که خط زمینه از داخل CC عبور کرده و CC مربوطه جزء بدنه اصلی محسوب میشود. نمونهای از نتیجه اعمال این مرحله در شکل - 3 - آمده است.

.2,4 پر کردن فضای بین دو پیکسل سیاه در راستای عمود

الگوریتم پیشنهادی نقاط برش را بر اساس برآمدگیهایی که بر روی خط زمینه قرار دارند تشخیص میدهد. در بین کلمات و حروف فارسی استثناهایی نیز وجود دارد بهعنوانمثال "ه" و " م" که دارای یک حفره هستند و "ک" که در حالت عادی نقطه برش در این حالت بهاشتباه پیدا میشود. برای جلوگیری از بروز چنین مشکلاتی فضای خالی بین دو پیکسل عمودی را با پیکسلهای سیاه پر میکنیم. بدین ترتیب هم حفرههای حروف پر میشود و هم از حدس اشتباه نقاط برش جلوگیری میشود. برای تشخیص وجود حفره یا حالت استثنا نیز از تکنیک اجزای بههمپیوسته یا CC استفاده میکنیم با این تفاوت که این بار از اجزای بههمپیوسته پیکسلهای سفید استفاده میکنیم و روش کار به این صورت است که در هر ستون از تصویر اجزای بههمپیوسته پیکسلهای سفید را محاسبه میکنیم و میدانیم اولین و آخرین اجزای بهم پیوسته مربوط به زمینه تصویر

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید