اطلاعیه

Collapse
No announcement yet.

الگوریتم منقبض کردن ابجکتها در تصویر

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

    الگوریتم منقبض کردن ابجکتها در تصویر

    سلام.
    دوستان چجوری می تونم کدهای توابع مربوط به پردازش تصویرو ببینم و اونها را تغییر بدم؟ مثلا تابع bwmorph از الگوریتم های زیادی استفاده میکند و عملیات مرتبط با ریختشناسی را بر روی تصویر انجام می دهد از کجا میتونم به داخل این تابع دسترسی داشته باشم؟
    ممنون.
    only god

    #2
    پاسخ : الگوریتم منقبض کردن ابجکتها در تصویر

    سلام.

    من با استفاده از تابع (bwmorph(f,'shrink',inf(تابع bwmorph تمام عملیات مرتبط با morphology رو انجام می دهد) ابجکتهای موجود در تصویر که دایره هایی سفیدرنگ در زمینه ی سیاه(تصویر باینری) هستند را به پیکسلهایی که نشاندهنده مراکز ابجکتها هستند تبدیل کرده ام. یعنی اگر 10 تا دایره داشته باشم پس از اجرای تابع پیکسلهای مرکزهای دایره ها باقی می ماند( 10 تا تک پیکسل سفیدرنگ)

    می خوام بدونم الگوریتم این تابع چیه؟
    از اساتید می خوام کمکم کنند.
    با تشکر.



    only god

    دیدگاه


      #3
      پاسخ : الگوریتم منقبض کردن ابجکتها در تصویر

      4 عملیات اصلی در پردازش تصاویر باینری Erosion and dilation و opening , closing هستند. اینکاری که شما انجام میدی همون erosion هست.
      الگوریتم به این ترتیب عمل میکنه که ابتدا یه کرنل تعریف میشه (برای کار شما احتمالا یه ماتریس 3*3 که مبداش مرکزش هست و بافرض 1 برای سفید؛ همه مولفه های ماتریس 1 هستند)
      حالا اگه در تصویر باینری پیکسلی باشه که با همسایه های اطرافش ؛ شبیه کرنل باشه به جای تمام اون 8 پیکسل؛ در تصویر جدید فقط پیکسل وسطی (یا پیکسل مبدا) میمونه و بقیه پاک میشن. (کرنل روی تصویر اصلی قرار میگیره و برای تمام پیکسلهای تصویر اجرا میشه)
      با هر بار اجرای الگوریتم روی تصویر ؛ هی تصویر لاغرتر میشه تا هسته اصلی اون بدست بیاد

      دیدگاه


        #4
        پاسخ : الگوریتم منقبض کردن ابجکتها در تصویر

        نوشته اصلی توسط mojalan
        4 عملیات اصلی در پردازش تصاویر باینری Erosion and dilation و opening , closing هستند. اینکاری که شما انجام میدی همون erosion هست.
        الگوریتم به این ترتیب عمل میکنه که ابتدا یه کرنل تعریف میشه (برای کار شما احتمالا یه ماتریس 3*3 که مبداش مرکزش هست و بافرض 1 برای سفید؛ همه مولفه های ماتریس 1 هستند)
        حالا اگه در تصویر باینری پیکسلی باشه که با همسایه های اطرافش ؛ شبیه کرنل باشه به جای تمام اون 8 پیکسل؛ در تصویر جدید فقط پیکسل وسطی (یا پیکسل مبدا) میمونه و بقیه پاک میشن. (کرنل روی تصویر اصلی قرار میگیره و برای تمام پیکسلهای تصویر اجرا میشه)
        با هر بار اجرای الگوریتم روی تصویر ؛ هی تصویر لاغرتر میشه تا هسته اصلی اون بدست بیاد

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

        با تشکر
        only god

        دیدگاه


          #5
          پاسخ : الگوریتم منقبض کردن ابجکتها در تصویر

          سلام بر شما ..

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

          http://www.eca.ir/forum2/index.php?topic=23734.0

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



          از پیغام خطایی که در تصویر بالا میبینید؛ میتونید به تابع bwmorph دسترسی پیدا کنید (با کلیک بر روی خطای تابع) .. درسته که راه های دیگری هم هست برای دسترسی مستقیم به تابع، امــا این راه رو من از بقیه بیشتر ترجیح میدم .. در پایان این پست، m.file تابعی رو که میخواستید، براتون ضمیمه کردم .. موفق و سلامت و شاد باشید ..

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

          دیدگاه

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