پیدا کردن پلاک خودرو

تغییرات پروژه از تاریخ 1394/08/30 تا تاریخ 1394/10/05
تشخیص خودکار پلاک خودرو، از مهمترین نیازهای سیستم‌‌های کنترل خودکار ترافیک است. روزانه صدها و شاید هزاران تخلف ترافیکی روی می‌دهد و توسط دوربینهای مخصوص، تصویر خودروی متخلف ضبط می‎شود. اگر قرار باشد تمام این تصاویر توسط انسان بررسی شده و شماره پلاک خودرو به صورت دستی وارد شود، زمان و نیروی انسانی زیادی تلف خواهد شد. لذا تشخیص خودکار موقعیت پلاک خودرو و شناسایی شماره پلاک توسط نرم افزار اهمیت می‌یابد.

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

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

در امر پردازش تصویر ، ورودی  یک تصویراست مثل عکس یا صحنه‌ای از یک فیلم وخروجی می‌تواند یک تصویر یا اطلاعات مربوط به تصویر باشد.
پردازش تصویر در بسیاری از شاخه هایعلمی از جمله پزشکی ، باستان شناسی، حمل و نقل ، رباتیک ، کنترل صنعتی ،سیستم های دفاعی و.. وارد شده و باعث تحولی چشمگیر در این زمینه ها شده است . 
همانطور که ذکر شد حمل و نقل یکی از زمینه های کاربرد پردازش تصویر است . در دنیای امروز با توجه به نقش غیر قابل چشم پوشی خودروها درصنعت حمل و نقل ، نیاز به سیستمی برای کنترل رفت و امد ها و درحقیقت شناسایی خودرو ها حس میشود .رسیدن به این مهم ملزوم آن است که بتوانیم به طریقی پلاک خودرو که  حکم شناسنامه ی آن رادارد تشخیص دهیم .
چنین سیستمی میتواند درکنترل خطوط مرزی ،کنترل ترافیک ، نظارت بر اجرای قوانین راهنمایی و رانندگی ، مدیریت پارکینگ های وسیع، عوارضی بزرگراه ها ، ورودی اماکن خصوصی و عمومی ، شناسایی خودروهای مسروقه و تحت پیگرد و ردیابی خودروها مورد استفده قرار گیرد .که در ادمه به توضیح مختصری پیرامون برخی از موارد ذکر شده میپردازیم :
-کنترل و اخذ عوارض ورود به محدوده ی طرح ترافیک : 
از آنجا که استفده از روش های سنتی مانند قرار دادن پلیس بر سر بزرگراه ها پرهزینه و کم دقت میباشد، راه حل پیشنهادی استفاده از فناوری تشخیص پلاک خودرواست ، که در این روش دوربین ها در تمامی مبادی طرح نصب میشوند و ورود هر خودرو را ثبت میکنند . 
-محاسبه مدت سفر :
تخمین مدتِ زمان سفر یکی ازکاربردهای مهم سیستم‌های ترافیک هوشمند می‌باشد. سامانه تشخیص پلاک خودرو یکی از راه حل‌های مناسب جهت این کاربرد به شمار می‌رود. در این راه حل، سامانهٔ تشخیص پلاک خودرو در نقاط مختلف یک جاده نصب می‌شود (برای مثال در مبدا و مقصد) و بنابراین مدت زمان سفر را به  صورت تفکیک شده برای هر خودرو محاسبه می‌کند. با تحلیل آماری این مدت برای تمامی خودروها می‌توان با دقتِ مطلوبی، متوسط و تغییراتِ آن در زمان‌های مختلف روز و هفته را در جاده اندازه گرفت و برای تصمیم‌گیری در اختیار عموم قرار داد.
-اندازه گیری سرعت متوسط خودروها :
دوربین‌های تشخیص پلاک در چندین نقطه از مسیر نصب می‌شوند و با ثبتِ زمان تردد خودرو از مقابل هر یک ازآنها، امکان محاسبه سرعت متوسط خودرو میان هر دو نقطه متوالی وجود دارد. در این راه حل، حتی اگر رانندگان در مقابل این دوربین‌ها ترمز کنند تأثیر چندانی در سرعت متوسط محاسبه شده در مسیر نخواهند گذاشت و بنابراین تا حدی در مقایسه با روش‌های مبتنی برسرعت نقطه ای برتری دارد . علاوه بر این در حال حاضر برای کنترل سرعت از خودرو با سرعت غیر مجاز عکس تهیه میکنند و ار آنجا که نیاز به دوربین های با کیفیت بالا برای عکس برداری میباشد ، طبیعتا حجم عکس مورد نظر بالا میرود و این مشکل کمبود حافظه را سبب میشود .اما با استفاده از سیستم تشخیص پلاک حجم تصویر مورد نظر به چندتا کاراکتر در حد کیلو بایت تبدیل میگرددو این باعث افزایش سرعت و کارایی میشود .
در واقع مشکل پیش رو ، تعداد زیاد داده های ورودی (خودروهای موجود )است که پردازش آنها به شدت زمان بر بوده و نیروی کار زیادی را میطلبد . 
 پلاک خوانی خودروشامل سه مرحله تشخیص محل پلاک، جداسازی نویسه ها و تشخیص نویسه هامیباشد که ما در این پروژه قصد داریم صرفا مرحله نخست را بررسی و پیاده سازی کنیم . از آنجایی که  شناسایی ارقام و حروف پلاک ، مبتنی بر تصویر استخراجی مرحله اول است لذا یافتن محل دقیق پلاک از اهمیت زیادی برخوردار است .کیفیت پایین تصاویر ، شرایط نوری مختلف ، زوایای دید مختلف دوربین ، پشت صحنه پیچیده و انعکاس و شکست  نور از مشکلات هستند .

# کارهای مرتبط:
راهکار های مختلفی برای استخراج پلاک وجود دارد ، از جمله لبه یابی ، تبدیل هاف ، تحلیل هیستوگرام و استفاده از عملگر های مورفولوژیکی است .
**لبه یابی**:لبه یابی به تنهایی  کاربرد چندانی ندارد ، چرا که بسیاری از نقاط پلاک هم به عنوان لبه تشخیص داده میشوند.مزیت این روش سرعت بالای آن است  **تبدیل هاف** :به منظور پیدا کردن خطوط ، در مواردی که بخواهیم پلاک را با خطوط کناری اش شناسایی کنیم میتواند مفید باشد . مشکل این روش حجم پردازشی بالا و وقت گیر بودن آن است .
**تحلیل هیستوگرام** :این روش برای تصاویر نویزی و تصاویری که در آن کمی چرخیده باشد مفید نیست  .
**عملیات مورفولوژیکی** : از این روش در سیستم های بلادرنگ استفده ی چندانی نمیشود ، چرا که به نسبت وقت گیر است .
بهتر است که ترکیبی از این روش هارا به کار گیریم . بدین صورت که  بعد از بهبود تصویر ، با استفاده از عملگر سوبل اقدام به یافتن لبه های عمودی تصویر میکنیم ، سپس با الگوریتمی خاص لبه های نویزی و مربوط به پس زمینه حذف شده و در نهایت به کمک یک پنجره مستطیلی جستجویی برای یافتن پلاک در نواحی باقیمانده انجام میگردد.(با استفاده از تحلیل هیستوگرام و ترکیبی از عملگرهای مورفولوژیکی  پلاک خودرو را از تصویر استخراج میکنیم ).که در حقیقت ترکیبی است از لبهیابی،تحلیل هیستوگرام و عملیات مورفولوژیکی. ساختار روش به گونهای است که زمان پردازش زیادی طلب نمیکند. از آنجا که در روش پیشنهادی از اطلاعات رنگ برای استخراج پلاک استفاده نمیشود، لذا سیستم شناسایی قادر به تشخیص پلاکها با رنگهای مختلف میباشد.
پیدا کردن لبه های عمودی :پلاک، به دلیل اعداد و حروف نوشته شده روی آن، دارای لبه های عمودی زیادی میباشد. از همین ویژگی برای یافتن
محل آن در تصویر استفاده میشود. روشها و الگوریتمهای مختلفی برای پیدا کردن لبه در پردازش تصویر مطرح شده است. در این میان عملگر سوبل به دلیل سرعت بالا و حجم پردازشی کم در مقایسه با دیگر روشها، کارایی مطلوبی دارد.  لبه یابی به روش سوبل، در حقیقت استفاده از ماسک سوبل میباشد.  در حالت کلی، سوبل دارای دو ماسک تشخیص لبه افقی و عمودی میباشد، در روش ترکیبی فقط از ماسک عمودی استفاده میکنیم، بااین فرض که تصویر ورودی چرخش بیش از اندازه نداشته باشد. 
ﺑﻌﺪ از پیدا کردن لبه های عمودی تصویر از تحلیل هیستوگرام کمک گرفته و هیستوگرام افقی تصویرلبه را می یابیم . ﺑﺪﻳﻦ منظور برای هر سطر از تصویر تعداد نقاط با سطح خاکستری یک را شمرده و نموداری را تشکیل میدهیم که محور افقی آن سطرهای تصویر و محور عمودی آن همان تعداد نقاط شمارش شده میباشد .
مراحل تشخیص پلاک :تصویر ورودی ->پیدا کردن لبههای عمودی تصویر->تحلیل هیستوگرام برای پیداکردن تصویر کاندید ->بررسی معیار تراکم ->گسترش در جهت افقی یا گسترش در جهت عمودی ->اشتراک دو تصویر ->گسترش در جهت افقی ->پر کردن حفره های احتمالی ->سایش تصویر ->اعمال فیلتر میانه ->استخراج پلاک 
روش های دیگری نیز بر پایه اطلاعات رنگی پلاک وجود دارند که دراین روش ها شرایط نوری بسیار حاِز اهمیت میشوند [1].
در روش دیگر میتوانیم با انجام عملیات لبه یابی ، مات زدایی و فیلتر گذاری  اقدام به افزایش کیفیت و بهبود شکل کاراکتر ها کنیم .در قدم اول تصویر رنگی را به سیاه و سفید تبدیل کرده و پس از آن با استفاده از تابع گوسن اقدام به بهبود کیفیت تصویر میکنیم .فیلتر گوشن با انجام آزمون های مختلف به دلیل کارایی بهتر از میان دیگر فیلتر ها انتخاب شده است . بعد از آن اقدام به لبه یابی میکنیم . در این مرحله میتوانیم برای انجام بهتر عملیات لبه یابی ، تصویر را به باینری تبدیل کنیم برای لبه یابی در حالت باینری اقدام به تعریف مقدار آستانه میکنیم که با محاسبه ی مقادیر میانگین و واریانس  استاندارد تصویر به دست می آید .سپس سطوح کمتر از مقدار آستانه را 0و سطوح بیشتر را 1 در نظر میگیریم .در ادامه عمل سایش انجام میشود .به اینصورت که اگر دو فضا در تصویر دارای لبه مشترک باشند با سایش میتوان آنهارا از هم جدا کرد .بعد از آن به ترمیم شکستگی های در طول خطوط اقدام کرده و در نهایت حفره های تصویر را پر میکنیم .بعد از پیمایش تصویر از پایین و انجام برچسب گذاری ، پلاک را جدامیکنیم .[2]
روش های دیگری نیز وجود دارند از جمله :تبدیل تقارن یافته و آشکارسازی لبه ها ، شبکه ی عصبی پیشران چند لایه ( مشکلات این روش سرعت کم و محدودیت در اندازه ی پلاک میباشد ) این دو روش در مورد تصائویربا پس زمینه ی پیچیده و یا چند خودرو کاربرد ندارند .استفاده از روش های آماری بهمراه اشکار سازی لبه و PCNN ، در روش دیگر ، با استفاده از تکنیک برابر سازی بافت نگار تصویر ، مقدار استانه برای بهبود کیفیت تصویر بدست می آید ، سپس اختلاف پیکسل ها در هر ناحیه ی بزرگ محاسبه شده و لبه ها با استفاده از تکنیک dilation صاف گشته اند .در نهایت با بررسی تعداد پیکسل ها و نسبت پیکسل های سیاه و طول و عرض ، تصاویر پلاک ها بعنوان خروجی برگردانده میشود .
رو ش های دیگر عبارتند از : استفاده از شبکه TDNNو  استفاده از ویژگی اختلاف شدت روشنایی.[3]
# آزمایش‌ها
کنترل خودکار ترافیک است. روزانه صدها و شاید هزاران تخلف ترافیکی روی می‌دهد و توسط دوربینهای مخصوص، تصویر خودروی متخلف ضبط می‎شود. اگر قرار باشد تمام این تصاویر توسط انسان بررسی شده و شماره پلاک خودرو به صورت دستی وارد شود، زمان و نیروی انسانی زیادی تلف خواهد شد. لذا تشخیص خودکار موقعیت پلاک خودرو و شناسایی شماره پلاک توسط نرم افزار اهمیت می‌یابد.

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


# مقدمه
پرداش تصویر روشی برای تبدیل یک تصویر به صورت دیجیتال و انجام برخی از عملیات بر روی آن، به منظور دریافت یک تصویر بهبود یافته و یا برای استخراج برخی از اطلاعات مفید از آن است.
پردازش تصویر در بسیاری از شاخه های علمی از جمله پزشکی ، باستان شناسی، حمل و نقل ، رباتیک ، کنترل صنعتی ،سیستم های دفاعی و .. وارد شده و باعث تحولی چشمگیر در این زمینه ها شده است . 
همانطور که ذکر شد حمل و نقل یکی از زمینه های کاربرد پردازش تصویر است . در دنیای امروز با توجه به نقش غیر قابل چشم پوشی خودروها در صنعت حمل و نقل ، نیاز به سیستمی برای کنترل رفت و آمد ها و درحقیقت شناسایی خودرو ها حس میشود .رسیدن به این مهم ملزوم آن است که بتوانیم به طریقی پلاک خودرو که  حکم شناسنامه ی آن  را دارد تشخیص دهیم .
چنین سیستمی میتواند درکنترل خطوط مرزی ،کنترل ترافیک ، نظارت بر اجرای قوانین راهنمایی و رانندگی ،اندازه گیری سرعت متوسط خودروها و تخمین مدت سفر، مدیریت پارکینگ های وسیع، کنترل ورود و خروج در مناطق حفاظت شده، عوارضی بزرگراه ها ، ورودی اماکن خصوصی (باز و بسته شدن درب ورودی برای اتومبیل های مجاز بعد از شناسایی پلاک ) و عمومی ، شناسایی خودروهای مسروقه و تحت پیگرد و ردیابی خودروها مورد استفاده قرار گیرد .
یکی از مزیت های استفاده از این روش در اندازه گیری سرعت خودرو ها نمایان میشود که به دلیل محاسبه سرعت خودرو بین دو نقطه متوالی ، دقت بالاتری نسبت به روش مبتنی بر سرعت نقطه ای دارد . علاوه بر این در حال حاضر برای کنترل سرعت از خودرو با سرعت غیر مجاز عکس تهیه میکنند و ار آنجا که نیاز به دوربین های با کیفیت بالا برای عکس برداری میباشد ، طبیعتا حجم عکس مورد نظر بالا میرود و این مشکل کمبود حافظه را سبب میشود .اما با استفاده از سیستم تشخیص پلاک حجم تصویر مورد نظر به چندتا کاراکتر در حد کیلو بایت تبدیل میگردد و این باعث افزایش سرعت و کارایی میشود .
بط.ر خلاصه ،در پاسخ به این سوال که این پروژه چه مشکلاتی را میخواهد حل کند باید گفت تعداد زیاد داده های ورودی (خودرو های موجود)و اهمیت سرعت و دقت در پردازش آن ها.
 پلاک خوانی خودرو شامل سه مرحله تشخیص محل پلاک، جداسازی نویسه ها و تشخیص نویسه ها میباشد که ما در این پروژه قصد داریم صرفا مرحله نخست را بررسی و پیاده سازی کنیم . از آنجایی که  شناسایی ارقام و حروف پلاک ، مبتنی بر تصویر استخراجی مرحله اول است لذا یافتن محل دقیق پلاک از اهمیت زیادی برخوردار است .
 **مشکلات پیش رو:**
 به طور خلاصه میتوان موانع موجود را به دو دسته ی کلی شرایط محیطی و تنوع شکل ظاهری پلاک تقسیم کرد .میزان نور محیط، زاویه تابش نور ،شکست و انعکاس نور، گرد و غبار و رطوبت از جمله عوامل محیطی میباشند .شاید مهمترین مشکل در زمینه ی پردازش تصویر قالب پلاک ها باشد . مواردی مانند اندازه ی پلاک ، نسبت طول به عرض ، رنگ پلاک میتواند اطلاعات مفیدی را جهت امر پردازش در اختیار قرار دهد .در ادامه برای درک بهتر چند نمونه ازین مواردبا تصویر نشان داده میشود .
 در نتیجه پیاده سازی سیستمی که در شرایط آب و هوایی متفاوت (چه شرجی مانند شهر های ساحلی ، چه دارای آب و هوای خشک مانند یزد و چه شهر های آلوده ای مانند تهران) و برای انواع پلاک های موجود ،کارایی مناسب را داشته باشد دشوار میباشد .
 کیفیت پایین تصاویر ، زوایای دید مختلف دوربین ، پشت صحنه پیچیده از دیگر مشکلات هستند.
# کارهای مرتبط:
فرآیند استخراج پلاک دارای مراحلیست که در هر مرحله میتوان از روش های متفاوتی برای انجام کار بهره جست ، از جمله لبه یابی[^ Edge Detection] ، تبدیل هاف[^hough transform]، تحلیل هیستوگرام [^Histogram Analys]و استفاده از عملگر های مورفولوژیکی [^Morphological Operators] .
**لبه یابی**:لبه یک تغییر ناگهانی در شدت روشنایی تصویر است . به عنوان مثال هنگامی که در تصویر تغییر ناگهانی از سیاه به سفید داریم یک لبه ایجاد میشود.لبه یابی به تنهایی  کاربرد چندانی ندارد ، چرا که بسیاری از نقاط پلاک هم به عنوان لبه تشخیص داده میشوند.مزیت این روش سرعت بالای آن است.الگوریتم های متفاوتی برای لبه یابی وجود دارد مانند :sobel , Canny , Roberts , Prewitt , Laplacian of  Gussianو ..
  **تبدیل هاف** :تبدیل هاف روشی برای استخراج ویژگی ها[^feature extraction] (تعیین ویژگی های بارز و تعیین کننده یک تصویر)  است که در حقیقت به دنبال یک الگو در تصویر میگردد . این روش به منظور پیدا کردن خطوط ، در مواردی که بخواهیم پلاک را با خطوط کناری اش شناسایی کنیم میتواند مفید باشد . مشکل این روش حجم پردازشی بالا و وقت گیر بودن آن است .
**تعدیل هیستوگرام** :هیستوگرام تصویر،نموداریست که محور X آن مقادیر روشنایی و محور Y  فراوانی این مقادیر را نشان میدهد و بیان کننده ی میزان روشنایی تصویر می باشد .یکی از کاربرد های این روش افزایش کنتراست [^Contrast]تصاویر است که موجب افزایش دقت تصویر میشود . این روش برای تصاویر نویزی و تصاویری که در آن کمی چرخیده باشد مفید نیست  .[5]
**عملیات مورفولوژیکی** : از این روش در سیستم های بلادرنگ استفاده ی چندانی نمیشود ، چرا که به نسبت وقت گیر است .[1]
بهتر است که ترکیبی از این روش هارا به کار گیریم . بدین صورت که  بعد از بهبود تصویر [^image enhancement]، با استفاده از عملگر سوبل[^Sobel] اقدام به یافتن لبه های عمودی تصویر میکنیم ، سپس با الگوریتمی خاص لبه های نویزی و مربوط به پس زمینه حذف شده و در نهایت به کمک یک پنجره مستطیلی جستجویی برای یافتن پلاک در نواحی باقیمانده انجام میگردد.(با استفاده از تعدیل هیستوگرام و ترکیبی از عملگرهای مورفولوژیکی  پلاک خودرو را از تصویر استخراج میکنیم ).که در حقیقت ترکیبی است از لبه یابی،تحلیل هیستوگرام و عملیات مورفولوژیکی. ساختار روش به گونه ای است که زمان پردازش زیادی طلب نمیکند. از آنجا که در روش پیشنهادی از اطلاعات رنگ برای استخراج پلاک استفاده نمیشود، لذا سیستم شناسایی قادر به تشخیص پلاک ها با رنگهای مختلف میباشد.
پیدا کردن لبه های عمودی :پلاک، به دلیل اعداد و حروف نوشته شده روی آن، دارای لبه های عمودی زیادی میباشد. از همین ویژگی برای یافتن محل آن در تصویر استفاده میشود. روش ها و الگوریتم های مختلفی برای پیدا کردن لبه در پردازش تصویر مطرح شده است. در این میان عملگر سوبل به دلیل سرعت بالا و حجم پردازشی کم در مقایسه با دیگر روش ها، کارایی مطلوبی دارد.  لبه یابی به روش سوبل، در حقیقت استفاده از ماسک سوبل میباشد.  در حالت کلی، سوبل دارای دو ماسک تشخیص لبه افقی و عمودی است، در روش ترکیبی فقط از ماسک عمودی استفاده میکنیم، بااین فرض که تصویر ورودی چرخش بیش از اندازه نداشته باشد. 
ﺑﻌﺪ از پیدا کردن لبه های عمودی تصویر از تحلیل هیستوگرام کمک گرفته و هیستوگرام افقی تصویرلبه را می یابیم . ﺑﺪﻳﻦ منظور برای هر سطر از تصویر تعداد نقاط با سطح خاکستری یک را شمرده و نموداری را تشکیل میدهیم که محور افقی آن سطرهای تصویر و محور عمودی آن همان تعداد نقاط شمارش شده میباشد . 
روش های دیگری نیز بر پایه اطلاعات رنگی پلاک وجود دارند که دراین روش ها شرایط نوری بسیار حایز اهمیت میشوند [1].
در روش دیگر میتوانیم با انجام عملیات لبه یابی ، مات زدایی و فیلتر گذاری  اقدام به افزایش کیفیت و بهبود شکل کاراکتر ها کنیم .در قدم اول تصویر رنگی را به سیاه و سفید تبدیل کرده و پس از آن با استفاده از تابع گوسن[^Gussian] اقدام به بهبود کیفیت تصویر میکنیم .فیلتر گوسن با انجام آزمون های مختلف به دلیل کارایی بهتر از میان دیگر فیلتر ها انتخاب شده است . بعد از آن اقدام به لبه یابی میکنیم . در این مرحله میتوانیم برای انجام بهتر عملیات لبه یابی ، تصویر را به باینری تبدیل کنیم برای لبه یابی در حالت باینری اقدام به تعریف مقدار آستانه[^threshold] میکنیم که با محاسبه ی مقادیر میانگین و واریانس  استاندارد تصویر به دست می آید .سپس سطوح کمتر از مقدار آستانه را 0و سطوح بیشتر را 1 در نظر میگیریم .در ادامه عمل سایش[^Erosion] انجام میشود .به اینصورت که اگر دو فضا در تصویر دارای لبه مشترک باشند با سایش میتوان آنهارا از هم جدا کرد .بعد از آن به ترمیم شکستگی های در طول خطوط اقدام کرده و در نهایت حفره [^Holes]های تصویر را پر میکنیم .بعد از پیمایش[^traverse] تصویر از پایین و انجام برچسب گذاری ، پلاک را جدامیکنیم .[2]
روش های دیگری نیز وجود دارند از جمله :تبدیل تقارن یافته و آشکارسازی لبه ها ، شبکه ی عصبی پیشران چند لایه ( مشکلات این روش سرعت کم و محدودیت در اندازه ی پلاک میباشد ) این دو روش در مورد تصاویربا پس زمینه ی پیچیده و یا چند خودرو کاربرد ندارند .استفاده از روش های آماری به همراه اشکار سازی لبه و PCNN ، در روش دیگر ، با استفاده از تکنیک برابر سازی بافت نگار تصویر ، مقدار استانه برای بهبود کیفیت تصویر بدست می آید ، سپس اختلاف پیکسل ها در هر ناحیه ی بزرگ محاسبه شده و لبه ها با استفاده از تکنیک dilation صاف گشته اند .در نهایت با بررسی تعداد پیکسل ها و نسبت پیکسل های سیاه و طول و عرض ، تصاویر پلاک ها بعنوان خروجی برگردانده میشود .
رو ش های دیگر عبارتند از : استفاده از شبکه TDNNو  استفاده از ویژگی اختلاف شدت روشنایی.[3]
# آزمایش‌ها
در این مرحله قصد داریم روش پیاده سازی شده و نتایج آن را بیان کنیم . در انتها با ذکر موارد ناموفق به کار خود در این فاز پایان داده و در مرحله ی  بعدی پروژه سعی میکنیم با بهبود روش به کار برده شده، اعمال فیلتر های مختلف و تست کردن روش های بهبود تصاویر(3)  موارد ناموفق را کاهش دهیم .
مراحل انجام کار به اینصورت است :
ابتدا  تصویر رنگی را به خاکستری تبدیل مینماییم . سپس با استفاده از تابع im2double مقدار شماره رنگ های تصویر را تبدیل به عدد هایی بین صفر و یک می کنیم .و در مرحله ی بعد از فیلتر گذاری گوسین به منظور از بین بردن نویز های احتمالی  استفاده  میشود [4].  .(موضوعی که در این مرحله باعث ایجاد سوال شد این بود که با مطالعه راجع به فیلتر های مختلف انتظار داشتیم فیلتری مانند Prewittکه جهت تقویت لبه به کار میرود برای هدف ما بسیار مفید واقع شود اما اینگونه نبود و با آزمون و خطا به فیلتر گوسین رسیدیم که کاربرد آن هموار کردن لبه هاست  و انتظار میرفت کاربرد چندانی نداشته باشد. )
از تعدیل هیستوگرام جهت افزایش کانتراست تصویر استفاده شد و پس از ان اقدام به لبه یابی با استفاده از تابع سوبل کردیم ، عملیات حفره یابی و برچسب گذاری انجام شده و برای تشخیص شی مورد نظر که اینجا پلاک ماشین است از تابع regionprops استفاده گردید و در انتها مختصات پلاک بدست آمده و از تصویر اصلی جداسازی شد .
در مواردی فقط بخشی از پلاک تشخیص داده میشد که با عمل گسترش عمودی و افقی تصویر این مشکل برطرف شد .
این یک پیاده سازی اولیه  از پروژه ی مد نظر است ، که روی مجموعه داده ی  52 تصویر آزمایش شده است . روش به کار برده شده قادر به تشخیص پلاک در تصاویر شامل چند خودرو و نیز تصاویر با زاویه نمی باشد ، در مواردی که تصویر از رو به رو گرفته شده است ، از بین 30  عکس ، موفق به شناسایی 23 تصویر بصورت دقیق شد .(76%)
[Git](https://github.com/samanemalmir/Project)
![یک نمونه از مراحل پردارش تصویر](http://uupload.ir/files/5if1_screenshot_%2820%29.png)
**.**
![نمونه عکس با پس زمینه ی شلوغ که با روش به کار برده شده قادر به تشخیص پلاک در آن نشدیم ](http://uupload.ir/files/sxdf_35-f.jpg)
![نمونه عکس با پس زمینه ی شلوغ که با روش به کار برده شده قادر به تشخیص پلاک در آن نشدیم](http://uupload.ir/files/l2dl_8-f.jpg)
![نمونه عکس با زاویه ک موفق به تشخیص پلاک در آن نشدیم ](http://uupload.ir/files/0q2_4-false.jpg)
# کارهای آینده

# مراجع
[1]:روشی سریع وجدید برای تشخیص پلاک خودرو از تصاویر پیچیده بر اساس عملیات مورفولوژیکی-چهارمین کنفرانس ماشین بینایی و پردازش تصویر ایران(فرهاد فرجی - رضاصفا بخش)
[2]:تشخیص پلاک خودروهای ایرانی با پردازش تصویر و تکنبک های نرمال فاکتور (احسلن محمودوند-مهدی شاکرمی-حامد جودکی)
[3]:تشخیص شماره پلاک خودروهای ایرانی توسط تکنیک پردازش تصویر و شبکه های عصبی (غلامرضا راد مرد - محمد رضا فیضی )

[4]:استفاده از ضریب انتشار تطبیقی برای حذف نویز تصاویر با استفاده از معادلات مشتقات جزئی (حمید حسنپور و محسن نیکپور)
 [5]: پردازش تصویر به کمک هیستوگرام ،پایان نامه دوره کارشناسی ناپیوسته ICT
  


**پیوندهای مفید**
https://fa.wikipedia.org/wiki/پردازش_تصویر
http://itresearches.ir/پردازش-تصویر
http://www.didehbonyan.com/rz/%D9%85%D8%AD%D8%AA%D9%88%D8%A7%DB%8C%D8%B9%D9%84%D9%85%DB%8C/%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87%D9%85%D9%82%D8%A7%D9%84%D9%87/tabid/113/ArticleId/44/.aspx
http://ai.amini.eu/tutorial/dip/dipIntro.aspx
https://fa.wikipedia.org/wiki/استخراج_ویژگی ها
(https://fa.wikipedia.org/wiki%D8%AA%D8%A8%D8%AF%DB%8C%D9%84_%D9%87%D8%A7%D9%81)
http://pmn.i8.com/learn/imageprocessing3.htm
(http://ariaprograming.persiangig.com/Delphi/Image%20Proccessing.pdf/dl)
http://artificial.ir/intelligence/thread584.html



+ [کتابخانه اپن‌سی‌وی](http://opencv.org/)
+ [اپن‌سی‌وی در پایتون](http://docs.opencv.org/trunk/doc/py_tutorials/py_tutorials.html)
+ [نصب اپن‌سی‌وی در ابونتو](https://help.ubuntu.com/community/OpenCV)
+ [شناسایی اجسام در تصاویر با اپن‌سی‌وی](http://achuwilson.wordpress.com/2011/07/01/create-your-own-haar-classifier-for-detecting-objects-in-opencv/)