اطلاعیه

Collapse
No announcement yet.

الگوریتم های لبه برداری

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

    الگوریتم های لبه برداری

    سلام.ببخشد نیاز اساسی به اطلاعاتی در مورد الگوریتم های لبه برداری(sobel/canny/roberts) دارم.خصوصا بیس ریاضی انها.ومقاله هایی در موردedge detctionنیاز دارم.هیچ جا پیدا نکردم.

    #2
    پاسخ : الگوریتم های لبه برداری

    سلام .................

    ببخشید که یک مقدارد یر جواب میدم . ببینید همونطور که در اون پستی که برام فرستاده بودین هم خدمتتون گفتم این کا Edge Detection الگوریتم های متنوع لا قابلیت ها و دقت های متفاوتی داره . از الگوریتم های معمولی شروع میشه مثل Canny یا Sobel و به موارد دقیقتر هم ختم میشه مثل SIFT یا HOG یا موارد دیگه . حالا شما در مورد کدوم یکی از اینها مطلب میخواید . اصلا کدوم قسمت به کارتون میاد . دقت پروژتون چقدره . اینهارو مشخص بفرمایید تا ادامه ی بحث رو باهم دنبال کنیم . موفق باشید .
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #3
      پاسخ : الگوریتم های لبه برداری

      سلام ...............

      http://www.pages.drexel.edu/~weg22/can_tut.html

      http://www.altera.com/literature/cp/...-detection.pdf

      http://www.iop.org/EJ/abstract/1475-7516/2008/04/015

      موفق باشید .
      دوستان! مدتی کمتر به سایت میام ..

      دیدگاه


        #4
        پاسخ : الگوریتم های لبه برداری

        سلام ....................

        ببینید یک سری ازکاملترین منابعی که میتونید در این زمینه مطالعه کنید و میتونه کاملا موضوع رو براتون مشخص کنه رو در لینک های زیر مشاهده میکنید . امیدوارم اینها همون مطالبی باشه که دنبالش بودید .

        http://www.cogs.susx.ac.uk/users/dav...n/vision3.html

        http://www.pages.drexel.edu/~weg22/can_tut.html

        http://iria.pku.edu.cn/~jiangm/cours...eq:canny:gnn:2

        http://www.pages.drexel.edu/~pyo22/s...geDetector.pdf

        http://www.ee.sunysb.edu/~cvl/ese558...submission.doc

        http://www.pages.drexel.edu/~weg22/edge.html

        http://robotics.technion.ac.il/cours...ARL_7_read.pdf

        http://homepages.inf.ed.ac.uk/rbf/HIPR2/sobel.htm

        http://www.ecse.rpi.edu/~qji/CV/feature.pdf

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

        ftp://figment.csee.usf.edu/pub/Edge_Comparison/source_code/rothwell.src

        ftp://figment.csee.usf.edu/pub/Edge_Comparison/source_code/canny.src

        http://gandalf-library.sourceforge.n...t/node119.html

        http://www.jasonokane.com/tu/351cos/sobel/

        اینم چند تا شکل نمونه از الگوریتم ها

        http://vision.cs.arizona.edu/nvs/res...ysis/edge.html

        http://fourier.eng.hmc.edu/e161/lect...nny/node1.html

        امیدوارم مطالب بتونه بهتون کمک کنه . موفق باشید .

        دوستان! مدتی کمتر به سایت میام ..

        دیدگاه


          #5
          پاسخ : الگوریتم های لبه برداری

          لطفا بکی بگه که آیا با تشخیص لبه میشه تشخیص داد که کدوم 10 پیکسل مال یه شئی تو تصویر هست یا نه
          ممنون
          اگه میشه چطور
          <a target="_blank" href="http://robocuppers.ir/forum/index.php?referrerid=1">ربوکاپی های ایران</a>

          دیدگاه


            #6
            پاسخ : الگوریتم های لبه برداری

            سلام ..................

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

            خب کاری که باید انجام بدید اینه که پس از دریافت تصویر در متلب اون رو از قالب uin8 به قالب double تبدیل کنید تا بتونید محاسباتتون رو روش انجام بدید . بعد از این مرحله شما باید ماتریس های دو تصویری که به دست اومدن (پس از بازخوانی تصویر در متلب) از هم کم کنید (در ساده ترین روش) . با این کار اگه تفاوت بین کلیه ی پیکسل های دو فریم وجود داشتهباشه که شما به راحتی با عمل تفاضل میتونید لیه ی تصویرتون رو در تمام نقاط پیدا کنید . اما اگه بخشی از پیکسل هاتون ثابت باشه و بخشی از اونها تغییر کرده باشه اون موقع تنها همون محدوده هایی که دارای تفاوت بودن لبه گیری میشن و بقیه ی پیکسل ها به دلیل تفاضل صفر میشن (بک گراندتون سیاه میشه برای باینری .... اگه از gray scale استفاده میکنید که سفید میشه)

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

            دیدگاه


              #7
              پاسخ : الگوریتم های لبه برداری

              نخیر منظورم این نبود :biggrin:
              من تو تصویرم 5 تا شئی دارم
              میخوام این 5 تا را تشخیص بدم و سیاه شون کنم
              چطوری بفهمم کدوم پیکسل ها مال کدوم شئی هست؟
              مررسی
              <a target="_blank" href="http://robocuppers.ir/forum/index.php?referrerid=1">ربوکاپی های ایران</a>

              دیدگاه


                #8
                پاسخ : الگوریتم های لبه برداری

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

                ببینید برای اینکه Object های تصویرتون رو Fill کنید باید در ابتدا اونهارو از تصویر جدا کنید . خب ره اصلی اینه که دور تصاویرتون رو به دست بیارید و بعد از این مرحله میتونید تصاویرتون رو از مشخصه های ماتریس پیدا کنید . یه راهش اینه که شما تصویرتون رو باینری کنید و بعد از اون ماتریس باینری رو نمایش بدید . در اون صورت محدوده ای مشخص شده برای Object هاتون مشخص میشه که میتونید روی اونها قضاوت کنید . برای Fill کردن Object هاتون هم میتونید از تکنیک های Morphological Image Processing استفاده کنید . موفق باشید .
                دوستان! مدتی کمتر به سایت میام ..

                دیدگاه


                  #9
                  پاسخ : الگوریتم های لبه برداری


                  مرسی
                  خوب بگید لطفا چطوری باینری کنم؟
                  و متد fill کردن چطوریه؟
                  مرسی
                  <a target="_blank" href="http://robocuppers.ir/forum/index.php?referrerid=1">ربوکاپی های ایران</a>

                  دیدگاه


                    #10
                    پاسخ : الگوریتم های لبه برداری

                    سلام ....................

                    ببینید اگه فرمت فضای رنگیتون چیزی جز باینری باشه (BW Image) مثلا فضای RGB باشه یا Gray scale یا Double یا ... با دستور im2bw میتونید تصویرتون رو از فضای رنگی خاصی که دارین ببرین توی فضای باینری . در این فضا دیگه مشخصه های رنگی پیکسل هاتون دو خاصیت وجودی دارن ، یا صفرن و یا یک . حالا اگه ماتریس تصویر رو نمایش بدید به راحتی میتونید از فضای ایجاد شده (تقریبا مثل Object هاتون هست ) تشخیص بدید که تصورتون از لبه ها چی بوده و کجاهای تصویر این تصور رو برای شما بوجود آوردن .

                    اما در مورد Fill کردن یه Object که سوال فرمودین باید بگم که یکی از راه های اون میتونه استفاده از تکنیک های Morphologocal باشه . اگه خواستید در این مورد بیشتر صحبت میکنیم . ضمنا اینم بگم که برای استفاده از اون تکنیک باید تصویرتون در فضای باینری تعریف بشه (تبدیل بشه) . علتش هم اینه که اساس تعریف Morphology ها بر مجموعه های باینری گذاشته شده و به همین دلیل هم بعضا این کحدوده از پردازش تصویر رو با توابع و قضایای Logic معادل میکنن . موفق باشید .
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : الگوریتم های لبه برداری

                      سلام دوستان
                      کسی هست که به من کمک کنه تا من یه برنامه با مطلب بنویسم ؟
                      می خوام این برنامه هر چه مستطیل توی تصویر هست رو تشخیص بده و لبه های اون رو مارک بزنه (توی تصویر اولیه) ... (مستطیل ها لزوما افقی و عمودی نیستن)
                      خواهشا کمک کنید واقعا بهش محتاجم و راه حلی به ذهنم نرسید جز عمودی و یا افقی فرض کردن مستطیل ها که اون رو هم به نتیجه نرسیدم . :sad:

                      دیدگاه


                        #12
                        پاسخ : الگوریتم های لبه برداری

                        نوشته اصلی توسط voldemort
                        می خوام این برنامه هر چه مستطیل توی تصویر هست رو تشخیص بده و لبه های اون رو مارک بزنه (توی تصویر اولیه) ... (مستطیل ها لزوما افقی و عمودی نیستن)
                        سلام ............

                        ببینید کاری که میخواید انجام بدید ، فرم خاصی از Object Recognition هست .. در این حیطه الگوریتم ها و روش های متنوعی تعریف میشه .. یکی از این روش ها Shape Matching هست که نسبت به شماتیک کلی تصویر حساسه و مستونه تصاویر رو بر حسب فرم فیزیکی کلیشون تشخیص بده .. برای نوشتن این برنامه شما باید روی این شکل هندسی تمرکز کنید و ببینید که چه ویژگی برای این شمای هندسی وجود داره که میتونه کمکتون کنه ..

                        اگه تصاویر شما باینری هستن میتونید برنامتون رو ساده تر تعریف کنید اما اگه تصویرتون Gray Scale باشه که یک مقدار کارتون مشکلتر میشه .. اما چطور میشه این برنامه رو نوشت؟ خب فرض کنید که یه تصویر دارید که تشکیل شده از چندین آبجکت مستطیل شکل (مربع هم شاملش میشه ..) و چند تا شکل هندسی دیگه مثل یه دایره و دو مثلث .. البته تمامی این آبجکت ها به صورت Fill شده به رنگ متضاد بک گراند و در فضای رنگی باینری تعریف شدن به این معنا که اگه بک گراندتون سفیده، آبجکت هاتون سیاه و اگه بک گراندتون سیاهه، آبجکت هاتون سفید هستن ..

                        حالا این تصویر رو در متلب لود میکنید وشروع میکنید به تعریف یه Feature خاص که بیانگر شکل هندسی مستطیل یا مربعه .. من یه راه حل خدمتتون پیشنهاد میکنم که منطقی به نظر میاد .. شما میتونید برنامه ی این الگوریتم رو بنویسید .. زیاد مشکل هم نیست .. ببینید الان شما یه سری آبجکت Fill شده دارید و طبیعتا با اسکن تصویر (به صورت نرم افزاری ..) میتونید به وضعیت پیکسل های تصویر دسترسی پیدا کنید .. پس اولین قدم در برنامه نویسی برای این کار اینه که شما تصویرتون رو اسکن کنید .. بعد از اسکن کردن تصویر شما میتونید روی ماتریس تصویر به دست اومده کار کنید .. حالا شما به راحتی میتونید لبه ی آبجکت هاتون رو به دست بیارید .. حالا این لبه های آبجکت برای مستطیل و مربع حکم اضلاع اونها رو پیدا میکنه و شما میتونید روی این اضلاع ویژگی تعریف کنید .. بعد از این کار شما وسط اضلاع رو به دست میارید و فاصله ی دو نقطه ی مقابل به هم (مر بوط به خطوط موازی ..) رو به دست میارید .. بعد از این مرحله شما دو اندازه دارید که میشن همون طول و عرض مستطیل .. با ضرب کردن اینها میتونید مساحت شکل رو به دست بیارید .. از مرحله ی اول هم شما به راحتی میتونید مساحت آبجکت هاتون رو به دست بیارید .. با مقایسه ی این دو مقدار میتونید متوجه بشید که آبجکتتون مستطیله یا نه .. موفق باشید ..
                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه


                          #13
                          پاسخ : الگوریتم های لبه برداری

                          مرسی از راهنمائییتون ...
                          حقیقتش نه مساحتش مهم هست نه مربع بودنش . یعنی اگه مربع باشه هم مهم نیست .
                          ولی من بیشتر واسم مربع و مستطیل مهم هست و فقط می خوام لبه های مستطیل ها رو مارک کنم .ولی تصاویرم Gray Scale هستن
                          مهم تشخیص مربع و دایره هست و مارک کردن اون ها ...
                          اگه یه الگوریتم پیشنهاد بدید ممنون میشم. (یا حتی یه برنامه ی ابتدائی تا خودم تکمیلش کنم . :biggrin: )

                          دیدگاه


                            #14
                            پاسخ : الگوریتم های لبه برداری

                            سلام ................

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

                            http://www.cs.berkeley.edu/~malik/papers/BMP-shape.pdf

                            http://www.tina-vision.net/docs/memos/1996-003.pdf

                            موفق باشید ..
                            دوستان! مدتی کمتر به سایت میام ..

                            دیدگاه


                              #15
                              پاسخ : الگوریتم های لبه برداری

                              نوشته اصلی توسط حسام الدین
                              سلام ................

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

                              http://www.cs.berkeley.edu/~malik/papers/BMP-shape.pdf

                              http://www.tina-vision.net/docs/memos/1996-003.pdf

                              موفق باشید ..

                              بله .این موضوع پروژه درس پردازش تصاویر هست اگه یه برنامه در حدی که کار بده هرچند ابتدائی بهم معرفی کنید ممنون میشم ...

                              دیدگاه

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