تعریف تشخیص دستخط :

الگوریتم های تشخیص دستخط از دیدگاه کلی ، یک سیستم بازشناسی الگو می باشد که برای طیف وسیعی از کاربردها ،طراحی و پیاده سازی می شود.

تعریف OCR

واژه OCR مخفف عبارت Optical Character Recognition، به معنی تبدیل متن دست­نویس یا تایپی درون یک تصویر به یک متن قابل فهم برای ماشین است.تصویر حاوی متن معمولا با پویش نوری و یا تصویربرداری دیجیتال به دست می آید.هدف بازشناسی حروف (OCR)، تبدیل تصویر دیجیتال به دست آمده به یک متن در فرمت Text است.نتیجه این تبدیل، به وجود آمدن امکان جستجوی کامپیوتری و ویرایش (حذف و اضافه نمودن) متن، تغییر ظاهر متن (تغییر اندازه و نوع قلم و غیره) و کاهش فضای ذخیره ­سازی است.

هدف تهیه این مجموعه از فیلم های آموزشی، آشنایی با مراحل انجام فرآیند شناسایی حروف در یک تصویر دیجیتال، تبدیل یک تصویر متنی به حروف تایپی ، شناسایی پلاک خودرو و پیاده سازی آنها در محیط MATLAB است. این مجموعه شامل ده فیلم ۱ ساعته می باشد که سعی شده است با بیانی ساده به معرفی و نحوه پیاده سازی OCR بپردازد.این مجموعه آموزشی بسیار مناسب برای محققین در زمینه پردازش تصویر و نیز دانشجویان در مقاطع کارشناسی، کارشناسی ارشد و دکتری می باشد که قصد تهیه مقاله و پایان نامه در ضمیمنه پردازش تصویر و بینایی ماشین دارند.هر کدام از مراحل OCR شامل موارد زیر می باشد که در این مجموعه فیلم های آموزشی ارائه شده است:

  • باینری کردن تصویر- Binarization
  • بکارگیری عملگرهای مورفولوژیک- Morphological Operators
  • ناحیه بندی- Segmentation
  • استخراج ویژگی- feature extraction
  • دسته بندی- classification

قسمت اول تا سوم:

در این قسمت بعد از بیان مختصری از قسمت های قبل، گام ناحیه بندی segmentation توضیح داده شده است و نحوه و توابع مربوط به پیاده سازی این گام در متلب بیان شده است. سپس توضیحاتی در مورد دو گام استخراج ویژگی و دسته بندی روی هفت حرف انگلیسی داده شده است.

قسمت چهارم:

در این قسمت بعد از بیان مختصری از قسمت های قبل، شبکه عصبی مصنوعی تعریف شده است. سپس ساختار و نحوه عملکرد شبکه های عصبی بطور کامل بیان شده است. همچنین انواع شبکه های عصبی با ساختارهای گوناگون نشان داده شده است.

قسمت پنجم:

در این قسمت بعد از بیان مختصری از قسمت های قبل، شبکه عصبی مصنوعی ADALINE و Perceptron به منظور شناسایی حروف بیان شده است. سپس ساختار و نحوه عملکرد این شبکه عصبی برای بروز کردن وزن های شبکه بطور کامل بیان شده است. در پایان نحوه پیاده سازی کدهای شبکه عصبی بیان شده در متلب آموزش داده شده است.

قسمت ششم:

در این قسمت بعد از بیان مختصری از قسمت های قبل، نحوه مقداردهی ورودی های شبکه عصبی (داده های ورودی، ماتریس هدف، ماتریس وزن ها) بمنظور فاز یادگیری شبکه عصبی پرسپترون روی کاراکترهای استخراج شده از تصویر تشریح شده است. سپس نحوه پیاده سازی این بخش ها در متلب بیان می شود.

قسمت هفتم:

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

قسمت هشتم:

در این قسمت بعد از بیان مختصری از قسمت های قبل، به پیاده سازی یک برنامه  جامع OCR در دو فاز یادگیری و تست خواهیم پرداخت. ابتدا داده های آموزش را در یک تابع (train function) به شبکه عصبی می دهیم و شبکه را بر اساس این داده ها آموزش می دهیم. سپس در تابعی دیگر تصویری متنی از ورودی دریافت کرده و عمل شناسایی حروف را روی آن انجام می دهیم. یعنی ۵ فاز OCR را در این تابع پیاده سازی می کنیم.به عبارت دیگر در این قسمت بر مبنای اطلاعات و دانشی که از جلسات قبل بدست آورده ایم به پیاده سازی یک برنامه OCR از صفر تا صد خواهیم پرداخت.

قسمت نهم:

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

قسمت دهم:

در این فیلم که آخرین قسمت از مجوعه فیلم های آموزشی OCR است بعد از بیان خلاصه ای از جلسه قبل، به نحوه انجام دو فاز یادگیری و تست شبکه عصبی به منظور دسته بنده حروف با استفاده ار محیط GUI و دستورات آماده متلب پرداخته شده است.