اطلاعیه

Collapse
No announcement yet.

تشخیص مکان های کاندید پلاک

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

    تشخیص مکان های کاندید پلاک

    با سلام

    تو اکثر مقاله هاییی که من خوندم،برای تشخیص مکان های کاندید پلاک،بعد از لبه گیری هیستو گرام تصویرو بدست میارن و میگن سطرهایی که 55٪بالای هیستو گرام تشکیل میدن کاندید پلاکن.من نمیدونم مفهوم این جمله چیه و چطوری تو متلب باید پیاده سازیش کرد.لطفن راهنماییم کنید.
    بعدشم برا اینکه کاندید های اضافی رو حذف کنن،با درنظر گرفتن این که عرض پلاک بین 15 تا 35 پیکسله ،ناحیه های خارج ازین محدوده رو حذف میکنن.میشه بگین چطور میشه این شرط رو تو متلب پیاده سازی کرد؟

    #2
    پاسخ : تشخیص مکان های کاندید پلاک

    سلام.
    من تا حالا تشخیص پلاک کار نکردم ولی تا جایی که به کلیت پردازش تصویر مربوط میشه راهنمایی میکنم.
    گفتید سطر هایی که بالای 55 درصد هستن پس باید هیستوگرام روی سطرها گرفته شده باشه، به این ترتیب که در هر سطر تعداد پیکسلهای مشکی(صفر) رو میشماره و جمع میکنه و در نهایت 55 درصدی که بالاترین مقادیر رو دارین باقی میمونن و بقیه از لیست کاندیدها حذف میشن.
    بعد با توجه به این که عرض پلاک بین 15 تا 35 پیکسل هست فقط اونهایی سطرهایی که بین 15 تا 35 تا بدون فاصله کنار هم قرار گرفتن نگه میداریم و بقیه رو حذف میکنیم.
    برای محاسبه هیستوگرام میتونید به شکل زیر عمل کنید:
    کد PHP:
    hproj zeros(size(I,2),1);
    Inot not(I);
    for 
    i=1:size(I,1)
      
    hproj(i) = sum(Inot(i,:));
    end
    barh
    (flipud(hproj)) 
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

    دیدگاه


      #3
      پاسخ : تشخیص مکان های کاندید پلاک

      ببخشید متوجه منظورتون نشدم.ما با دستور imhist میتونیم هیستوگرام بگیریم.برنامه ی شما قراره چه کاری انجام بده؟

      دیدگاه


        #4
        پاسخ : تشخیص مکان های کاندید پلاک

        برای حذف زیر 55 درصد بالا :
        کد PHP:
        Hi 0.55;
        [~,
        IX] = sort(hproj,'descend');
        Ind IX(round((1-Hi)*length(IX)):end); % non-top 55%
        hproj(Ind) = 0
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

        دیدگاه


          #5
          پاسخ : تشخیص مکان های کاندید پلاک

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

          کد PHP:
          MinW 15MaxW 35;
          regs hist_reg(hproj);
          remove = [];
          for 
          i=1:size(regs,1)
            if 
          regs(i,2)-regs(i,1)+&ltMinW || regs(i,2) - regs(i,1)+&gtMaxW
              remove 
          = [removei];
            
          end
          end
          regs
          (remove,:) = []; 
          لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
          لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
          با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
          اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
          يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

          دیدگاه


            #6
            پاسخ : تشخیص مکان های کاندید پلاک

            تابع hist_reg در پست قبلی:(این تابع رو قبلاً برای کار دیگه ای نوشته بودم و فقط ویرایش کردم)
            کد PHP:
            function joints hist_reg(psp)
            joint_psps findpsp ~= 0);
            if ~
            isempty(joint_psps)
              
            delayed_psps joint_psps(2:end);
              
            bound = (delayed_psps joint_psps (1:end-1) ~= 1);
              
            joints=zeros(1+length(find(bound == 1)),2);
              
            j=1;i=1;k=1;
              while 
            i<=length (bound)
                if 
            bound(i)==1
                  joints 
            (k,:) = [ joint_psps(j);joint_psps(i)];
                  
            k=k+1;
                  
            i+1;
                
            end
                i
            =i+1;
              
            end
              joints
            (k,:) = [joint_psps(j);joint_psps(end)];
            else
              
            joints=[];
            end 
            لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
            لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
            با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
            اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
            يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

            دیدگاه


              #7
              پاسخ : تشخیص مکان های کاندید پلاک

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

              دیدگاه


                #8
                پاسخ : تشخیص مکان های کاندید پلاک

                اگه کد برنامه و چند تا از عکسها رو اینجا بذاری بهتر میشه فهمید چکار باید کرد. به هر حال، نسبت طول به عرض نباید سخت باشه ولی مطمئنی میتونه مستطیل بودن ناحیه رو مشخص کنه، مگه ناحیه شیشه جلوی ماشین یا سپر نمیتونه مستطیلی باشه؟ اگه حدود مساحت پلاک مشخصه، لازم نیست بزرگترین مساحت رو بگیری. برای تشخیص محل پلاک از اطلاعات رنگ هم استفاده میشه، ببین میتونی از اطلاعات رنگ استفاده کنی یا نه؟
                لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                دیدگاه


                  #9
                  پاسخ : تشخیص مکان های کاندید پلاک

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

                  دیدگاه


                    #10
                    پاسخ : تشخیص مکان های کاندید پلاک

                    اگه منظورتون از اضافه کردن عکس اینه که اینجا عکس بذارین، باید اول عکسها رو توی سایتهای مثل img4up.com پلود کنید، بعد لینکها رو اینجا بذارید. اگه هم میخواین فایل پلود کنید، از persiangig.com استفاده کنید.

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

                    برای آشنایی با پردازش تصاویر رنگی هم شاید این کتاب مفید باشه.
                    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                    دیدگاه


                      #11
                      پاسخ : تشخیص مکان های کاندید پلاک

                      سلام
                      سوال منم درباره موضوع خورشیدخانوم
                      این برنامه هایی که نوشتید برای خود متلب یا برای یه نرم افزار دیگست و اینکه چطور باید از این برنامه استفاده کرد
                      برای مثال
                      Hi = 0.55;
                      [~,IX] = sort(hproj,'descend'
                      Ind = IX(round((1-Hi)*length(IX)):end); % non-top 55%
                      hproj(Ind) = 0;
                      علامتی که به رنگ قرمز چه کاربردی داره
                      چیزی به نام تابع hist_reg تو متلب نیست
                      نوشته اصلی توسط هـــادی
                      سلام.
                      من تا حالا تشخیص پلاک کار نکردم ولی تا جایی که به کلیت پردازش تصویر مربوط میشه راهنمایی میکنم.
                      گفتید سطر هایی که بالای 55 درصد هستن پس باید هیستوگرام روی سطرها گرفته شده باشه، به این ترتیب که در هر سطر تعداد پیکسلهای مشکی(صفر) رو میشماره و جمع میکنه و در نهایت 55 درصدی که بالاترین مقادیر رو دارین باقی میمونن و بقیه از لیست کاندیدها حذف میشن.
                      بعد با توجه به این که عرض پلاک بین 15 تا 35 پیکسل هست فقط اونهایی سطرهایی که بین 15 تا 35 تا بدون فاصله کنار هم قرار گرفتن نگه میداریم و بقیه رو حذف میکنیم.
                      برای محاسبه هیستوگرام میتونید به شکل زیر عمل کنید:
                      کد PHP:
                      hproj zeros(size(I,2),1);
                      Inot not(I);
                      for 
                      i=1:size(I,1)
                        
                      hproj(i) = sum(Inot(i,:));
                      end
                      barh
                      (flipud(hproj)) 
                      نوشته اصلی توسط هـــادی
                      تابع hist_reg در پست قبلی:(این تابع رو قبلاً برای کار دیگه ای نوشته بودم و فقط ویرایش کردم)
                      کد PHP:
                      function joints hist_reg(psp)
                      joint_psps findpsp ~= 0);
                      if ~
                      isempty(joint_psps)
                        
                      delayed_psps joint_psps(2:end);
                        
                      bound = (delayed_psps joint_psps (1:end-1) ~= 1);
                        
                      joints=zeros(1+length(find(bound == 1)),2);
                        
                      j=1;i=1;k=1;
                        while 
                      i<=length (bound)
                          if 
                      bound(i)==1
                            joints 
                      (k,:) = [ joint_psps(j);joint_psps(i)];
                            
                      k=k+1;
                            
                      i+1;
                          
                      end
                          i
                      =i+1;
                        
                      end
                        joints
                      (k,:) = [joint_psps(j);joint_psps(end)];
                      else
                        
                      joints=[];
                      end 
                      >>> انگشتان ما نشانه پنج تن و بندهاي ان نشانه چهارده معصوم <<<

                      دیدگاه


                        #12
                        پاسخ : تشخیص مکان های کاندید پلاک

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

                        تابع hist_reg رو خودم نوشتم که برای این که متلب بشناسه کافیه توی پوشه جاری (Current Folder) و با اسم hist_reg گذاشته بشه.
                        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
                        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
                        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
                        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
                        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

                        دیدگاه


                          #13
                          پاسخ : تشخیص مکان های کاندید پلاک

                          شخیص پلاک خودرو

                          در این پروژه تشخیصی پلاک خودرو از تکنیک طبیق الگو استفاده شده است تا بتوان پلاک خودرو را تشخیص داد

                          گام های پروژه :

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

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

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

                          و خروجی در فایل text قابل نمایش می باشد

                          ادامه مطلب...
                          http://bmengineer.ir/index.php/siteproject/10-image-processing/46-car-detection

                          دیدگاه

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