اطلاعیه

Collapse
No announcement yet.

الگوریتم های مختلف برای شناسایی محل پلاک خودرو

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    الگوریتم های مختلف برای شناسایی محل پلاک خودرو

    با سلام .... :smile:

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

    فعلا از یه تصویر ساده میخوام شروع کنم مثلا یه تصویر مثل زیر :


    من خودم اولین الگوریتم رو که از داخل یه مقاله خوندم میگم حالا هر اندازه که توی نوشتن برنامه کمک کنید ممنون میشم ....

    اولین الگوریتم :

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

    همچنین پلاک خودروه ای اروپایی نیز دار ای یک نوار آ بی ثابت همانند پلاک ملی ایران میباشد که امکان بسط این روش را حداقل بر ای خودروهای کشوره ای اروپایی (عضو اتحادیه اروپا)، میدهد.

    نمونه هایی از این نوع پلاکها را نمایش میدهد.







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


    برای این منظور کافی است تصویر را به 8 رنگ مکعب اصلی RGB یا فضای رنگی دیگر مانند HSV یا LAB برده و به

    صورت دوره ای از بالا به پایین مورد پیمایش قرار گیرد . یه چیزی مثل شکل زیر :






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



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


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


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

    خوب این فعلا یکی از الگوریتم ها بود الگوریتم های دیگه مثل تبدیل هاف ؛ لبه یابی ؛ جستجوی تصویر برای یافتن مکان های مستطیلی و ...........هست ....

    1- خوب این الگوریتم خیلی واضح هست چی میگه ؛ من توی پیمایش ستونی ماتریس تتصویر مشکلی ندارم اما ما بقی اش رو نمدونم چه جوری بنویسم .... مثلا این که چه جوری بفهمم الان من به رنگ ابی بعد سبز و بعد سفیدو بعد قرمز و بعد ابی رسیدم ؟؟؟؟؟


    2- خوب حالا مثلا مرحله قبلی رو فهمیدم بعد چه جوری مقدار y که در واقع طول نوار آبی رنگ هست رو پیدا کنم ؟

    خوب اگه y رو پیدا کنم میتونیم با ضرب کردن در عدد 4.58 به طول پلاک بدون نوار ابی رنگ دست پدا کنیم ....

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

    #2
    پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

    با سلام ....

    دومین الگوریتم ....

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

    عملکرد خیلی خلاصه ...

    ابتدا تصویر رو به گری تبدیل میکنیم ....با یکی از روش های لبه یابی لبه های تصویر رو پیدا میکنیم ....

    حفره های درون تصویر رو پر میکنیم .... قاعدتا باید لبه های پلاک هم پیدا بشه و اون هم پر بشه !!!

    حالا کلیه ابجکت های درون تصویر برچسب زده میشن ...

    حالا با توجه به خصوصیات پلاک میتونیم از بین ابجکت های پیدا شده اونی که به پلاک شباهت بیشتری داره رو استخراج کنیم ....

    مثلا این که نسبت طول به عرضش باید از یه حدی بیشتر باشه ....در یه پلاک استاندارد ملی نسبت طول به عرضش 5 برابر هست ....و غیره ....

    حالا میتونیم مختصات ابجکتی که شرایط بالا رو داشته رو پیدا کنیم و اون رو از تصویر اصلی برش بزنیم ...

    کاش نوشتنش هم مثل گفتنش بود !!! :cry2: :cry2: :cry2:


    حالا من یه سوال دارم ....

    این پیدا کردن لبه ها خیلی خرت و پرت هم به عنوان لبه میگیره !!! از canny استفاده کردم ...ولی با همون سوبل هم خرت و پرت زیادی پیدا میکنه باید چی کارش کنم تا اون ابجکت های الکی قبل از برچسب زدن حذف بشن ؟

    با موروگرافی میشه کاری کرد ؟؟؟ تا حدودی اشنایی دارم ....

    مثلا من یه نمونه تصویر که با کندی لبه گرفتم این جوری شد :


    بعد هم ابجکت ها رو پر کردم این جوری شد :


    بعد هم این کدی که نوشتم فقط روی همین تصویر جواب میده !!! :angry: :angry: حالا فعلا روی یه تصویر جواب بده تا بعد !!! :cry2:

    حالا از این هم که بگذریم من هنوز نتونستم اون مستطیل پلاک رو درش بیارم چی کارش کنم این هم کدش ...

    مصادیق اظهار محبت به همسر
    بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
    ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
    اثر قصه گویی برای کودکان

    دیدگاه


      #3
      پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

      سلام،
      برای اینکه پلاک در تصویر قابل خوندن باشه باید یک مقداری براش تعیین بشه که مساحت اون پلاک بر حسب پیکسل در تصویر نباید از اون مقدار کمتر باشه، این مقدار میتونه به عنوان یک Threshold مینیمم استفاده بشه که با در نظر داشتن نسبت طول و عرض پلاک هم بدون حذف کردن اون نویزهای تصویر تنها بایک Histogram عمودی و یک افقی از بالا و پایین و چپ و راست ابعاد پلاک و مکانش قابل تشخیصه.
      مثلا در تصویر آخری که گذاشتید، اگر از هر سطر یا ستون نمونه برداری کنید و به ترتیب جلو برید، در نهایت به جایی میرسید که لبه های پلاکه، در اونجا به طور مثال حداقل 20 پیکسل سفید پشت سرهم در عرض پلاک و 150 پیکسل سفید پشت سرهم در طول پلاک به دست میاد، در اولین جایی که به این نتیجه رسیدید کار رو متوقف کنید و اون مکان رو به عنوان محل بالا، پایین، چپ و یا راست پلاک علامت گذاری کنید، چون عرض و طول پلاک از یک مقدار بر واحد پیکسل نباید کمتر باشه در نتیجه اون قسمتهای دیگه مثل نویز یا اسم سایپا بایپس میشن و محلهای تشخیص درست روی لبه های پلاک میفته، البته این روش تنها زمانی جواب میده که تنها یک پلاک مستقیم در روبه روی تصویر بوده و زاویه مورب هم نداشته باشه.
      اسمایل، تومورو ویل بی وُرس

      دیدگاه


        #4
        الگوریتم های مختلف برای شناسایی محل پلاک خودرو

        با سلام ....با تشکر از پاسختون ....

        ببخشید من یه خورده فسفر مغزم رو سوزوندم نتونستم اون جوری که شما فرمودید پیاده کنم ..البته یه چیزایی نوشتم ولی نشد....حالا همون برنامه بالا یی رو یه خورده تغییر دادم شدم در رابطه با نویز ها هم به نظرم بهتر قبل از برچسب حذف بشن چون خیلی سرعت رو میاره پایین مثلا برای یه عکس ساده تقریبا یه 20 ثانیه باید صبر کنم تا جواب بده برای حذف نویز هم قبل از برچسب زدون به ابجکت ها یه حد مساحت تعیین کردم که تقریبا فکر کنم روی تصاویر من که همه اشون تو همین مایه ها هستن جواب بده ....میدونم کلا چیز مسخره ای نوشتم حالا فعلا همین باشه !!! :sad:این برنامه :


        این هم تصویر بعد از حد مساحت که بر حسب پیکسل 1000 گرفتم !!!!! یعنی figure44


        این هم بعد از پر کردن ابجکت یعنی figure 3



        در نهایت این هم تصویر پلاک figure4



        حالا من یه سوال داشتم :

        مثلا من وقتی این برنامه رو به یه تصویر دیگه میزنم الارقم مرز های پلاک در تصویر تعیین شده ولی وقتی پرش میکنیم چون یه ابجکت برگتر از مرز پلاک هم هست یعنی مثلا پلاک داخل یه ابجکت بزرگتر هست باعث میشه اون بزرگتره پر بشه و اون کوچیک که داخلش هست هیچی بشه !!! :cry2: نمیشه یه جوری نوشت که جدا جدا تشخیص بده مثلا اون پلاک رو هم با بزرگ تر یکی نکنه ؟؟؟؟
        :( :( :cry2:
        یه چیزی مثل شکل زیر :


        بعد این که مرز های پلاک شاید توی شکل بالا به ظاهر انگار به هم وصل نیستن ولی من دقیقا خیلی زوم رو تصویر کردم همه خطوطش به هم وصل بودن ...حالا فکر کنم با موروگرافی هم منظورم dilate هست البته به صورت خطی و با زاویه 0 و 90 هم بشه اگه احیانا خطوط بهم وصل نیستن وصلش کرد ....درسته ؟؟؟


        مصادیق اظهار محبت به همسر
        بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
        ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
        اثر قصه گویی برای کودکان

        دیدگاه


          #5
          پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

          یکی از مزیتهای روشی که گفتم همین بود که بشه بین اون دو تصویر که یکی پلاک رو تشخیص داده و دیگری صندوق عقب ماشین رو تفاوت قائل شد و تشخیص داد که دومی پلاک نیست:

          همونطور که تو عکس میبینید، اگه از چهار ضلع تصویر به سمت وسط تصویر به صورت مجزا حرکت کنید و در اولین جاییکه شرط مساحت پیکسل برقرار بشه متوقف بشید، چهار خط به دست میاد که میشه باهاش یک مستطیل ساخت، حالا اگه محتویات مستطیل تعداد قابل قبولی پیکسل سفید داشت مثلا 95 درصد مساحتش سفید بود اون شکل حتما مستطیل هست( البته با توجه به تناسب اضلاع پلاک تصمیم میگیریم که آیا پلاک ایران هست یا نه) و در تصویر اول صحت تشخیص تایید میشه، ولی در تصویر دوم چون تمام مساحت مستطیل سفید نیست در نتیجه اون شکل مستطیل نیست و دیگه به کار ادامه نمیدیم.
          در مورد لبه پلاک هم چند عامل اساسی موثر هستند که اولیش همون اندازه تصویر هست که اگه کوچکتر باشه این مشکلات رو هم داره و اگه تصویر بزرگتری تهیه کنید بهتره، از طرفی اگه قبل از فیلتر Canny که عکس رو سیاه و سفید میکنید، کمی کانتراست تصویر رو بیشتر کنید و بلور Gaussian با اندازه 5x5 هم بزندید که نویز تصویر کمتر بشه، یک لبه کاملا صاف از پلاک رو به دست میارید.
          اسمایل، تومورو ویل بی وُرس

          دیدگاه


            #6
            الگوریتم های مختلف برای شناسایی محل پلاک خودرو

            نوشته اصلی توسط ژوپیتر

            همونطور که تو عکس میبینید، اگه از چهار ضلع تصویر به سمت وسط تصویر به صورت مجزا حرکت کنید و در اولین جاییکه شرط مساحت پیکسل برقرار بشه متوقف بشید، چهار خط به دست میاد که میشه باهاش یک مستطیل ساخت، حالا اگه محتویات مستطیل تعداد قابل قبولی پیکسل سفید داشت مثلا 95 درصد مساحتش سفید بود اون شکل حتما مستطیل هست( البته با توجه به تناسب اضلاع پلاک تصمیم میگیریم که آیا پلاک ایران هست یا نه) و در تصویر اول صحت تشخیص تایید میشه، ولی در تصویر دوم چون تمام مساحت مستطیل سفید نیست در نتیجه اون شکل مستطیل نیست و دیگه به کار ادامه نمیدیم.
            در مورد لبه پلاک هم چند عامل اساسی موثر هستند که اولیش همون اندازه تصویر هست که اگه کوچکتر باشه این مشکلات رو هم داره و اگه تصویر بزرگتری تهیه کنید بهتره، از طرفی اگه قبل از فیلتر Canny که عکس رو سیاه و سفید میکنید، کمی کانتراست تصویر رو بیشتر کنید و بلور Gaussian با اندازه 5x5 هم بزندید که نویز تصویر کمتر بشه، یک لبه کاملا صاف از پلاک رو به دست میارید.
            با سلام ....با تشکر از پاسختون ....

            ببخشید این همه مزاحم میشم !!

            ببخشید در رابطه با اون نوشته قرمز رنگ خوب حالا چه فایده داره مثلا توی همین اخرین تصویر گذاشتم حالا فهمیدم که پلاک نیست و صندوق عقبه !! :sad: خوب پلاک چی میشه ؟؟؟ منظورم این که از اخر باید خوب پلاک رو پیدا کنم اما تصویر من (همون اخری ) طوری هست که پلاک اصلا توش نیست !!!

            بعد این که میفرمایید مثلا توی 20 سطر پشت سر هم یک بود حالا چه پیمایش سطری چه پیمایش ستونی ؛ هر دو باهم ؛ منوط بر این هست که محدوده پلاک حتما در تصویر باینری fill شده من باشه اخه مشکل این جاست که اصلا نیست !!! مثلا همون تصویر اخری که فقط صندوق عقب هست یا سایر تصویرایی که امتحان میکنم :cry2:

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

            این هم لینکش

            http://s2.picofile.com/file/7119314622/3.pdf.html

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

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



            تحلیل هیستوگرام برای پیدا کردن تصویر کاندید

            بعد از پیدا کردن لبه های عمودی تصویر، از تحلیل هیستوگرام کمک گرفته و هیستوگرام افقی تصویر لبه را می یابیم. بدین منظور برای هر سطر از تصویر تعداد نقاط با سطح خاکستری یک را شمرده و نموداری را تشکیل می دهیم که محور افقی آن سطرهای تصویر و محور عمودی آن همان تعداد نقاط شمارش شده می باشد. در شکل 5 هیستوگرام افقی تصویر لبه را می بینیم. به طور کلی سطرهایی که پلاک خودرو در آن ها قراردارد، دارای بیشترین هیستوگرام افقی هستند، لذا مرحله بعدی بالای هیستوگرام را تشکیل c% پیدا کردن سطرهایی است که
            می دهند. بدین ترتیب سطرهای کاندیدای محل پلاک تعیین می شوند. برای اینکه اثر نویز تا حدی کاهش یابد، سطری به عنوان کاندید در نظر گرفته می شود که اولاً شرط بالا را داشتهتعداد نقاط d% باشند و ثانیاً تعداد نقاط روشن سطر بعد یاش بعد از d و c روشن خود سطر باشد. مقادیر نوعی برای شبیه سازی 15 و 70 بدست آمده اند.

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

            بعد یه چیزایی هم نوشتم مثلا تعداد نقاط یک داخل هر سطر رو :




            مصادیق اظهار محبت به همسر
            بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
            ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
            اثر قصه گویی برای کودکان

            دیدگاه


              #7
              پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

              با سلام ....با تشکر از پاسختون ....
              سلام، خواهش میکنم.

              ببخشید در رابطه با اون نوشته قرمز رنگ خوب حالا چه فایده داره مثلا توی همین اخرین تصویر گذاشتم حالا فهمیدم که پلاک نیست و صندوق عقبه !! :sad: خوب پلاک چی میشه ؟؟؟ منظورم این که از اخر باید خوب پلاک رو پیدا کنم اما تصویر من (همون اخری ) طوری هست که پلاک اصلا توش نیست !!!
              براتون نوشتم که برای تشخیص بهتر پلاک و در آوردنش و جداسازی بهتر اینکارو بکنید:
              در مورد لبه پلاک هم چند عامل اساسی موثر هستند که اولیش همون اندازه تصویر هست که اگه کوچکتر باشه این مشکلات رو هم داره و اگه تصویر بزرگتری تهیه کنید بهتره، از طرفی اگه قبل از فیلتر Canny که عکس رو سیاه و سفید میکنید، کمی کانتراست تصویر رو بیشتر کنید و بلور Gaussian با اندازه 5x5 هم بزندید که نویز تصویر کمتر بشه، یک لبه کاملا صاف از پلاک رو به دست میارید.
              بعد این که میفرمایید مثلا توی 20 سطر پشت سر هم یک بود حالا چه پیمایش سطری چه پیمایش ستونی ؛ هر دو باهم ؛ منوط بر این هست که محدوده پلاک حتما در تصویر باینری fill شده من باشه اخه مشکل این جاست که اصلا نیست !!! مثلا همون تصویر اخری که فقط صندوق عقب هست یا سایر تصویرایی که امتحان میکنم :cry2:
              دلیلش دقیقا همین نبودن کیفیت در فیلتر لبه هست، چون تصویر برای فیلتر Pre-Process نشده و در نتیجه در لبه فاصله و یا قطاع بوجود میاد که باعث میشه Segmentation درست و کامل انجام نشه و Polygon های باز بوجود بیاد و در نتیجه با یک FloodFill چند قسمت باهم پر میشن و به عبارتی Polygon مادر، بچه های خودش رو میخوره، مثل صندوق عقب که پلاک رو از بین میبره.
              حالا من نمیخوام همه مراحلش رو برم همین قدر که سطر هایی رو پیدا کنم که پلاک داخلش باشه و اون و یه محدوده ای از سطر رو در نظر بگیرم بعد اون رو از تصویر اصلی برش بزنم بعد بیام روی اون محدوده برش خورده فیلتر اعمال کنم این جوری به نظر تون بهتر نیست ؟؟
              اگه منظورتون رو درست فهمیده باشم، میخواید ROI یا Region Of Interest رو به دست بیارید و روی اون فیلتر بزنید یعنی محدوده پلاک در تصویر؟
              با اون روش هم میشه محدوده پلاک رو به دست آورد، البته باید جوری Histogram بگیرید که Multi-Scale باشه، یعنی اگه پلاک در تصویر دور یا نزدیک بود هم بتونه باز تشخیص بده.

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




              اسمایل، تومورو ویل بی وُرس

              دیدگاه


                #8
                الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                با سلام ....

                با تشکر از پاسختون ....

                براتون نوشتم که برای تشخیص بهتر پلاک و در آوردنش و جداسازی بهتر اینکارو بکنید:
                اتفاقا انجام دادم ولی تغییر محسوسی نکرد ......دقیقا نمی دونم منظور شما چی بوده ؟
                یه چیز این جوری نوشتم



                در رابطه با کنتراست هم فقط همون یه تابع رو نوشتم در رابطه با بزرگی تصاویر هم فکر کنم دیگه بزرگتر از این بگیرم یه خورده ضایع بشه منظورم این که استاد گیر بده ....البته حالا یه خورده بزرگتر از این هم میگیرم تو عمل انجام شده قرارش میدم !!!! یه چیزی تو مایه های تصویر زیر :




                اگه منظورتون رو درست فهمیده باشم، میخواید ROI یا Region Of Interest رو به دست بیارید و روی اون فیلتر بزنید یعنی محدوده پلاک در تصویر؟
                با اون روش هم میشه محدوده پلاک رو به دست آورد، البته باید جوری Histogram بگیرید که Multi-Scale باشه، یعنی اگه پلاک در تصویر دور یا نزدیک بود هم بتونه باز تشخیص بده.
                یعنی این یه روش دیگه است !!! نمیدونم من یه چیز همین جوری گفتم .... حالا درباره همین ROI هم که نوشتید یه نگاهی توی کتاب انداختم درست حسابی چیزی ندیدم فقط یه تابع roipoly بود ....میشه لطف کنید یه خورده بیشتر توضیح بدید دقیقا چه جوری هست ...بعد در رابطه با دور و نزدیکی پلاک ؛ من چون خودم تصاویر رو میگیرم همه اش نرمال میگیرم !!!! :mrgreen: خیلی سختش نمیکنم !!! یعنی تقریبا همه شون توی یه مایه هستن فقط رنگ ماشین و عدد پلاک پس زمینه نهایت عوض بشه !!! فعلا تا همین حد هم انحام بدم ببینم چی میشه :sad:

                دوتا عکس براتون میذارم، یکی تصویر یک خودرو هست، دومی تصویر همون خودرو به صورت لبه یابی شده است.
                چه قدر لبه ها قشنگ توش پیداست :eek:

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

                مصادیق اظهار محبت به همسر
                بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                اثر قصه گویی برای کودکان

                دیدگاه


                  #9
                  پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                  سلام،
                  دقیقا نمی دونم منظور شما چی بوده ؟
                  یکی از ایرادها ممکنه این باشه که شما روی تصویر سیاه و سفید یا به عبارتی Gray-Scale کار میکنید که معمولا به روش میانگین RGB به دست میاد، در صورتی که در یک سیستم LPR واقعی چون تابش نور مادون قرمز به کار میره از لومینانس تصویر استفاده میشه، برای محاسبه Luminance از روی RGB توی اینترنت سرچ کنید فرمولش هست و ساده هم هست. بعد روی اون تصویر کانتراست رو زیاد کنید، مثلا لومینانس پیکسل رو از 0 تا 255 در نظر بگیرید، بعد با اعمال فرمول زیر کانتراست رو تغییر بدید:
                  L = L + (L - 128)/R R=Ratio of contrast مثلا R=3
                  If(L > 255)then L=255
                  If(L < 0)then L=0

                  یعنی این یه روش دیگه است !!! نمیدونم من یه چیز همین جوری گفتم .... حالا درباره همین ROI هم که نوشتید یه نگاهی توی کتاب انداختم درست حسابی چیزی ندیدم فقط یه تابع roipoly بود ....میشه لطف کنید یه خورده بیشتر توضیح بدید دقیقا چه جوری هست ...بعد در رابطه با دور و نزدیکی پلاک ؛ من چون خودم تصاویر رو میگیرم همه اش نرمال میگیرم !!!! خیلی سختش نمیکنم !!! یعنی تقریبا همه شون توی یه مایه هستن فقط رنگ ماشین و عدد پلاک پس زمینه نهایت عوض بشه !!! فعلا تا همین حد هم انحام بدم ببینم چی میشه :
                  Region Of Interest یک مفهوم کلی هست که تنها مربوط به تشخیص پلاک نیست و در کلیه مفاهیم پردازش تصویر کاربرد داره، مفهوم اساسیش این هست که از کل تصویر بخشهایی انتخاب بشن که تنها پردازش روی اونها انجام بگیره، اون بخشها هم بر اساس یک سری مشخصات تعیین میشن، مثلا برای تشخیص یک سیب در تصویر هرگز به دنبال رنگ آبی نیستیم چون سیب به طور معمول از رنگهای سبز و زرد و قرمز تشکیل میشه، در نتیجه در تصویر از جایی شروع به پردازش میکنیم که محدوده رنگی سیب سبز، قرمز یا زرد باشه، نه آبی و دیگه مجبور به پردازش کل تصویر نیستیم.

                  درست حق با شماست .... باز هم ممنون از پاسختون :agree: انشالله روز به روز علمتون زیاد تر بشه و همیشه سالم و تندرست باشید
                  ممنون، برای شما هم همینطور :agree: :applause:
                  اسمایل، تومورو ویل بی وُرس

                  دیدگاه


                    #10
                    الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                    نوشته اصلی توسط ژوپیتر
                    سلام،یکی از ایرادها ممکنه این باشه که شما روی تصویر سیاه و سفید یا به عبارتی Gray-Scale کار میکنید که معمولا به روش میانگین RGB به دست میاد، در صورتی که در یک سیستم LPR واقعی چون تابش نور مادون قرمز به کار میره از لومینانس تصویر استفاده میشه، برای محاسبه Luminance از روی RGB توی اینترنت سرچ کنید فرمولش هست و ساده هم هست. بعد روی اون تصویر کانتراست رو زیاد کنید، مثلا لومینانس پیکسل رو از 0 تا 255 در نظر بگیرید، بعد با اعمال فرمول زیر کانتراست رو تغییر بدید:
                    L = L + (L - 128)/R R=Ratio of contrast مثلا R=3
                    If(L > 255)then L=255
                    If(L < 0)then L=0
                    با سلام ....

                    من یه چیزای نوشتم ولی نتیجه مطلوب رو نمیده .... :cry2: اون فرمول هم توی ویکی دیدم که هر کدام از مولفه های پیکسل در rgb رو در یه ضریب ؛ ضرب کرده بود .... (اینLuminance برای هر پیکسل تعریف میشه دیگه درسته ؟؟ ) تصویر توی مرحله اخر همون for که شرط if داره کلا سیاه میشه ....نگاه کنید این جوری نوشتم منظورتون این بوده ؟؟

                    مصادیق اظهار محبت به همسر
                    بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                    ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                    اثر قصه گویی برای کودکان

                    دیدگاه


                      #11
                      پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                      نوشته اصلی توسط _مریم زارع _
                      با سلام ....

                      من یه چیزای نوشتم ولی نتیجه مطلوب رو نمیده .... :cry2: اون فرمول هم توی ویکی دیدم که هر کدام از مولفه های پیکسل در rgb رو در یه ضریب ؛ ضرب کرده بود .... (اینLuminance برای هر پیکسل تعریف میشه دیگه درسته ؟؟ ) تصویر توی مرحله اخر همون for که شرط if داره کلا سیاه میشه ....نگاه کنید این جوری نوشتم منظورتون این بوده ؟؟

                      سلام،
                      اول اینکه اعدادتون اعشاری هست و ضربتون هم اعشاری، پس اول مطمئن بشین که ضرب درست انجام میشه و اول تصویر لوما رو ببینید که هر پیکسل بین 0.0 تا 255.0 باشه. دوم اینکه شرطتون در حلقه دوم غلطه چون همیشه در Else میره و همه پیکسلها رو سیاه میکنه، یکبار دیگه به چیزی که نوشتم دقت کنید.
                      اگر 255 روشنترین و 0 تیره ترین پیکسل باشه، شرط میگه که اگر کانتراست اعمال شده باعث شد که این مقادیر از بازه 0 تا 255 بیرون بزنه از اینکار جلوگیری کن، یعنی بعد از اعمال کانتراست اگر مقدار پیکسلی از 255 بیشتر شد اون رو برابر با 255 قرار بده
                      If(L > 255)then L=255
                      و اگر مقدار اون پیکسل از صفر کمتر شد(منفی شد) اون رو برابر با صفر کن
                      If(L < 0)then L=0
                      پس اعضای آرایه پیکسلها باید هم اعشاری باشن و هم علامت دار.
                      این دو مورد رو درست کنید مشکل حل میشه.
                      اسمایل، تومورو ویل بی وُرس

                      دیدگاه


                        #12
                        الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                        با سلام....

                        با تشکر از پاسختون ....

                        بله حق با شماست الان درستش کردم ....




                        ولی به نظرم این نسبت ratio خیلی بزرگ هست چون تصویر به شدت روشن میشه ....ولی خوب توی عکس های مختلف فرق داره ....





                        البته من خودم نسبت رو تغییر دادم

                        بعد این که این حلقهای for سرعت رو بدتر میکنه ....حالا بی خیال سرعت هم که بشم ....خیلی مهم نیست

                        من حداقل میخوام روی 20 تا عکس جواب بگیرم ...( اولش 50 تا بود ها همین جور داره آب میره :cry2: کمتر میشه !!)

                        به نظرتون روی همین روش بخوام کار کنم فایده داره ؟؟ :( :cry2:
                        مصادیق اظهار محبت به همسر
                        بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                        ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                        اثر قصه گویی برای کودکان

                        دیدگاه


                          #13
                          پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                          سلام،
                          این روزها خیلی سرم شلوغه و ممکنه کمتر به سایت سربزنم :agree:
                          در مورد فرمول یک نکته رو روشن کنم:


                          L = L + (L - 128)/R R=Ratio of contrast مثلا R=3
                          If(L > 255)then L=255
                          If(L < 0)then L=0


                          همونظور که میبینید L عددی بین 0 تا 255 باید باشه، مثلا L = 128 فرض کنید، یعنی رنگ خاکستری که بین سفید(255) و سیاه(0) هست.
                          حالا 128 - 128 که صفر میشه و تقسیم بر 3 اون هم باز صفر میشه، حالا 128 + 0 که حاصلش باز هم 128 میشه و با اعمال کردن این رابطه پیکسل خاکستری اصلا نباید تغییری بکنه، حالا اگه یک پیکسل کمی روشنتر در نظر بگیرید، باید بعد از اعمال فیلتر از حالت قبل خودش روشنتر بشه، اگر هم تیره تر از خاکستری بود(کمتر از 128) اون موقع بعد از اعمال فیلتر باید رنگش تیره تر بشه.
                          مثلا اگه L = 100 باشه( تیره تر از خاکستری) میشه:
                          L = 100 + (100 - 128)/3
                          در نتیجه L = 90.6
                          که همونطور که میبینید L با اعمال فیلتر تیره تر شد ولی کاملا سیاه نشد، در نتیجه حتما جایی در ضرب و تقسیم کار شما ایرادی هست که پیکسلها تمام سیاه و یا سفید میشن، شاید هم رنج اعداد یا متغییرها نادرست هست.
                          خلاصه اگر همین فرمول با همون مقدار R = 3 درست پیاده بشه تصویری به شما میده که کمی کانتراست رو تغییر میده ولی پیکسلهای تصویر رو فقط سیاه و سفید نمیکنه و پیکسلها با شدت های دیگه هم حتما وجود خواهند داشت.
                          در مورد تصاویر مختلف با نورهای مختلف، ابتدا کانتراست میانگین رو حساب میکنن، بعد هم نسبت به همون کانتراست، ضریب R رو تعیین میکنن که بعد از فیلتر تمام تصاویر به یک میزان کانتراست داشته باشن.
                          اسمایل، تومورو ویل بی وُرس

                          دیدگاه


                            #14
                            پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                            با سلام ....

                            با تشکر از پاسختون ....

                            اره حق با شماست درسته ....نباید تصویر صرفا سیاه و سفید بشه .... :sad: من که دیگه نمیدونم مشکلش چیه ....ماتریسش هم نگاه کردم تقریبا اعداد مختلف داخلش هست ولی این 255 خیلی زیاده برای همین کلا تصویر به سمت سفید گرایش پیدا میکنه ....فکر کنم کلا باید بی خیال 20 تا هم بشم ....فکر کنم در نهابت به همون یکی هم رضایت بدم :cry2: :cry2: :sad: بی خیال کم هم نمره بده مهم نیست حداقلش میدونم یه چیزی یاد گرفتم ....
                            مصادیق اظهار محبت به همسر
                            بررسی مسائل جنسی در زندگی زناشویی(فایل صوتی)
                            ویژگی های خانواده سالم - مصادیق احترام (فایل صوتی)
                            اثر قصه گویی برای کودکان

                            دیدگاه


                              #15
                              پاسخ : الگوریتم های مختلف برای شناسایی محل پلاک خودرو

                              سلام
                              لطف میکنید در رابطه با این برنامه نظر خودتون رو بگید؟
                              و همین طور درباره قسمت های بعد از حلقه FOR اول توضیح بدین(این الگوریتم تشخیص پلاک با هیستوگرام است)
                              x=imread ('C:\Documents and Settings\User\Desktop\1\1_0\b10.jpg'
                              x=rgb2gray(x); %image toolbox dependent
                              fg=fspecial ('gaussian', 15, 0.00000000001);
                              kx=imfilter(x, fg);
                              figure (1), imshow (kx);
                              figure (2), imhist (kx);
                              his= histeq (kx);
                              figure (3), imshow (his);
                              figure (4), imhist (his);
                              h=edge (his,'canny'
                              figure (5), imshow (h);

                              f3=imfill (h,'hole'
                              figure (6), imshow (f3);
                              J = strel ('rectangle', [17,100]);
                              %( creates a structuring element, J, of the type specified byshape (RECTANGLE))
                              K=imopen (f3, J);
                              figure (7), imshow (K);
                              [l num]=bwlabel (K, 4);
                              %returns a matrix L, of the same size as J, containing labels forthe connected objects in J.
                              %The variable n can have a value of either 4 or 8, where 4specifies 4-connected objects and 8 specifies 8-connectedobjects.
                              g1=regionprops (l,'Boundingbox'
                              %Measure properties of image regions
                              g2=regionprops (l,'Area'
                              n=0;
                              area1=1;
                              num;
                              for i=1: num;
                              m1=g1 (i).BoundingBox;
                              m2=g2 (i).Area;
                              if m2 > area1;
                              if m1 (1, 3)>=m1 (1, 4)*3.75;
                              n=n+1;
                              area1=m2;
                              im=g1 (i).BoundingBox ;
                              end
                              end
                              end
                              pic_crop=imcrop(x, im);%Crop image
                              figure (8), imshow (pic_crop);
                              %Extraction of Character and number
                              t=graythresh (pic_crop);
                              is=~im2bw (pic_crop, t);
                              figure (9), imshow (is)
                              [l4, num4]=bwlabel (is, 4);
                              [l8, num8]=bwlabel (is, 8);
                              d6=regionprops (l4,'BoundingBox'
                              for i=1: size (d6, 1);
                              c {i, 1} =imcrop (is, d6 (i, 1).BoundingBox);
                              Imview(c {i, 1});
                              end
                              figure (10);
                              for i=1: size (d6, 1);
                              Subplot (1, size (d6, 1), i);
                              Imshow(c {i, 1});
                              end

                              دیدگاه

                              لطفا صبر کنید...
                              X