اطلاعیه

Collapse
No announcement yet.

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

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

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

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

    برای این منظور شما میتونید از چندین روش استفاده کنید .. یکی از اون روش ها Clustring هست (یا با قاعده ی بیز یا روش های دیگه ..) با این روش و البته با توجه به Feture های مشخص میتونید Rectangle های موجود توی تصویرتون رو پیدا کنید .. یکی دیگه از روش های اون Shape Context و Shape Matching هست .. نمیدونم توی کدوم یکی از این زمینه ها میخواید کار کنید .. اما باید دقیق این موارد رو مشخص کنید .. مرحله ای که شما میخواید جلو برید Detection هست بین آبجکت هایی که توی تصویر داریید .. به هر حال این موارد رو دقیقا مشخص کنید تا بحث رو اداکمه بدیم .. یه نمونه Paper رو هم میتونید از لینک زیر ببینید .. امیدوارم متوجه منظور من شده باشید .. موفق باشید ..

    http://users.rsise.anu.edu.au/~nmb/papers/06-PRD.pdf
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


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


      من فقط باید خط به خط برنامه لئی که تحویل میدمو توضیح بدم و نشون بدم که روشی که استفاده کردمو میشناسم.
      مهم نیست از چه الگوریتمی استفاده شده فقط مهم که جواب بده حتی در حد ابتدائی . الگوریتم ژیچیده نمی خوام. :nerd: پروژه درس دانشگاهی هست ... :sad:
      خواهشن یه کمک کنید . اگه یه برنامه که کار بده یا در حد تئوری درست باشه بهم بدین ممنون میشم.

      دیدگاه


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

        نوشته اصلی توسط voldemort

        من فقط باید خط به خط برنامه لئی که تحویل میدمو توضیح بدم و نشون بدم که روشی که استفاده کردمو میشناسم.
        مهم نیست از چه الگوریتمی استفاده شده فقط مهم که جواب بده حتی در حد ابتدائی . الگوریتم ژیچیده نمی خوام. :nerd: پروژه درس دانشگاهی هست ... :sad:
        خواهشن یه کمک کنید . اگه یه برنامه که کار بده یا در حد تئوری درست باشه بهم بدین ممنون میشم.
        کسی هست به من کمک کنه ؟ خواهشن ؟ :sad:

        دیدگاه


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

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

          اول از اینکه یک مقدار دیر پاسخ میدم عذرخواهی میکنم .. به چند دلیل پاسخ شما به تعویق افتاد که اولیش کمبود وقت خودم بود .. ببینید مطلبی که شما مطرح کردید بر میگرده به شاخه ای که به صورت عام این گونه موارد رو در بر میگیره .. در حقیقت شما میخواید یک نوع Shape Detection انجام بدید مضاف بر اینکه Shape شما محدود شده به مستطیل (با این فرض که هر مربع هم یک نوع مستطیله و البته لوزی هم یک مستطیله با Orientation ای خاص ..) ..

          برای این کار روش ها و متدهای زیادی از دهه ی 60 تا الان استفاده شده که Order های مختلفی هم براشون تعریف شده .. یکی از این روش ها که در ابتدا استفاده میشد، Order ای برابر n^3 داشت که برای پیاده سازی روی تصاویر از زمان بسیار زیادی برخوردار بود .. در سال 1962 تبدیلی مطرح شد که هدف خاصی رو دنبال میکرد .. در حقیقت در موردی خاص، از این تبدیل برای Detect کردن خطوط مستقیم استفاده میشد .. اما این تبدیل چه کار میکنه؟

          Hough Transform تبدیلیه که به راحتی قادره Shape هارو در یه تصویر باینری پیدا کنه .. در حقیقت این تبدیل هر نوع Shape ای که از نظر ریاضی قابل بیان باشه، میتونه کاربرد داشته باشه، اما این کار رو با استفاده از تحلیل خطوط مستقیم انجام میده .. الگوریتمش زیاد پیچیده نیست و در حقیقت روی تبدیل مختصات کارتزین به فضایی از R و Ө صحبت میکنه که به این فضا میگن Hough Space ..

          برای پیدا کردن خطوط مستقیم هم مراحل خاصی رو باید دنبال کرد .. در ابتدا از تصویر ورودی دور میگیریم(با هر روش و الگوریتمی که امکانش هست .. Canny یا Sobel یا Prewitt یا ... )بعد از این مرحله روی تصویر دورگرفته شده، Hough Transform میزنیم و نتیجش رو به صورت گرافیکی و آرایه ای ذخیره میکنیم .. برای مشخص شدن موضوع به دو تصویر زیر دقت کنید .. تصویر اول Input Image و Edge image ما هستن و تصویر دوم هم نتیجه ی Hough Transform در فضای Hough هست .. میبینید که توی تصویر دوم، مولفه ی distance و theta عوامل ساختاری گراف Hough Space رو تشکیل دادن .. به راحتی میشه خطوط مستقیم رو تشخیص داد .. (از روی زاویه ی اونها ..)

          تصویر اول ...


          تصویر دوم ...


          توی فایل زیر یه PDF هست که مراحل Implementation این تبدیل رو روی یه تصویر نشون میده .. یه رفرنس هم داده که میتونید M.File این تبدیل رو توی متلب ببینید .. اسم فایل Houdg_lines هست ..

          http://www.cvmt.dk/education/teachin...ough_lines.pdf

          اما برای پروژه ی شما یه فایل هست که در حقیقت استادتون روی اون تاکید داشته .. در واقع استادتون خواسته شما اون Paper رو Implement کنید!! نسخه ی Trial اون رو خوندم و به نویسنده هاش (Jung و Schramm ..) میل زدم و برای Source Code ازشون کمک خواستم .. اما کمی جوابشون طول کشید ..(یکی دیگه از دلایل تاخیر ..) و در نهایت هم جواب منفی به من دادن .. اما Paper کاملش رو دیشب گرفتم و یه نگاه کلی به اون انداحتم .. دقیقا کاری که شما میخواید رو انجام دادن .. برای مستطیل هم Hough Space زیر رو در نظر گرفتن ..



          من فایل رو براتون ضمیمه کردم (توی فایل زیر ..) تا شاید بتونید از اون استفاده کنید .. یه فایل دیگه هم هست که ضمیمه شده .. اون یه Mini Course برای مسابقات رباتیک پردازشیه که یه سری نکات رو خیلی کاربردی توضیح داده .. مخصوصا Chapter2 و Chapter5 اون که پیشنهاد میکنم حتما بخونید .. به هر حال شرمنده .. نتونستم کدش رو براتون پیدا کنم، اما فکر کنم اگه مقالات ضمیمه شده ی زیر رو برای استادتون Present کنید، قانع بشن! موفق باشید ..
          فایل های پیوست شده
          دوستان! مدتی کمتر به سایت میام ..

          دیدگاه


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

            واقعا نمیدونم چه طور تشکر کنم .
            :job: :nice:
            من هم قصدم اینه که خودم کدش رو بنویسم .
            البته اینم بگم که استاد فقط کار عملی میخواد . و مهم نیست چند تا ریفرنس بهش ارائه بدم .
            یه سوال دارم این (که میدونم به نظرتون احمقانه میاد ولی شرمنده) نویسندگان این پیپری که میگید m file واسه متلب هم دارن ؟
            البته فکر کنم بازم مزاحمتون بشم . بازم ممنون .

            دیدگاه


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

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

              ببینید جوابی که Schramm به میل من دادن این بود که کد رو بر اساس روابط توی Paper نوشتن و اگه روابط درست تحلیل بشه، نوشتن کد اونها زیاد سخت نخواهد بود!! (واقعا شکسته نفسی فرمودن ..) .. در نتیجه فکر نکنم فایلشون رو مجانی در اختیار ما قرار بدن .. (یه جورایی هم حق دارن .. طرحشون جنبه ی Commercial هم داره .. ) .. به هر حال کمکی که از دست من بر میومد ؛ همین مقدار بود .. کم و کاستش رو ببخشید .. موفق باشید ..
              دوستان! مدتی کمتر به سایت میام ..

              دیدگاه


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

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

                دیدگاه


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

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

                  جناب (یا سرکار ..؟؟) voldemort .. شما میتونید از Morphology استفاده کنید .. دور ی آموزشش هم توی همین بخش (تاپیک های مهم..) در حال برگزار شدنه .. شما یه کرنل به صورت افقی تعریف کنید و بعد از اون تصویرتون رو با اون کرنل Erosion کنید .. اتفاقی که میفته همونیه که شما میخواید .. در ضمن فکر کنم منظورتون از تصویر logic همون باینری باشه .. درسته؟ فکر کنم متوجه شدم میخوید چیکار کنید .. احتمالا منظورتون از اندازه ای خاص، انحنای دایره ها نیست؟ اگه این منظورتون باشه، استفاده از Morphology بهترین گزینه خواهد بود .. اگه خواستید بیشتر در این مورد صحبت میکنیم .. موفق باشید ..

                  http://www.eca.ir/forum2/index.php?topic=23734.0
                  دوستان! مدتی کمتر به سایت میام ..

                  دیدگاه

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