دوشنبه, 07 تیر 1395 01:14

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

نوشته شده توسط

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

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

الگوریتم تبدیل هاف دایره ای بصورت زیر خلاصه می‌شود:

  1. یافتن لبه ها
  2. برای هر نقطه لبه : // تبدیل هاف شروع می شود//
  3. یک دایره با مرکزیت نقطه لبه با شعاع r رسم می‌شود و در انباره تمام مختصاتی که محیط دایره از آنها عبور می کند، افزایش می یابند.
  4. نقاط ماکزیمم در انباره پیدا می شود. // تبدیل هاف تمام می شود//
  5. پارامترهای پیدا شده (r,a,b) مطابق با نقاط ماکزیمم پیدا شده روی تصویر اصلی مشخص می شوند.

کد برنامه:

im = imread('coins.png');
e = edge(im, 'canny');
imshow(e);
radii = 15:1:40;
h = circle_hough(e, radii, 'same', 'normalise');
peaks = circle_houghpeaks(h, radii, 'nhoodxy', 15, 'nhoodr', 21, 'npeaks', 10);
imshow(im);
hold on;
for peak = peaks
    [x, y] = circlepoints(peak(3));
    plot(x+peak(1), y+peak(2), 'g-');
end
hold off

 
 
خواندن 1729 دفعه آخرین ویرایش در دوشنبه, 07 تیر 1395 01:53

سفارش پروژه مشابه

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

ارتباط با ما

شعبه1: تهران، خ 17 شهریور (شعبه قدیم)
شعبه2: قم (بزودی)

https://Trustseal.eNamad.ir/logo.aspx?id=78157&Code=nGl6n4OUkOzasJ1k2dRo