عملگرهای آشکارسازی لبه
عملگر کنی و پس از آن مار – هیلدرث بیشترین کاربرد را دارد. عملگرهای زیادی تاکنون منتشر شده اند اما هیچ یک برتری قابل ملاحظه ای بر عملگر کنی نداشته اند. کار بر روش های چند مقیاسی هنوز بیشتر در آزمایشگاه هاست.
عملیات لبه برداری بر روی تصاویر
آشکارسازی لبه (edge detection) معمولا برای تشخیص لبه های یک شی از بین چند شی دیگر مورد استفاده قرار می گیرد، برای این کار از تابعی به نام edge استفاده می گردد.
تغییرات فیزیکی به صورت تغییر رنگ و تغییر شدت روشنایی به صورت لبه در تصویر نمایان می شوند. در محیط با مقادیر پیوسته، مشتق، تغییرات ناگهانی و شدت آن را مشخص می نماید و در محیط گسسته محاسبه ی تغییرات نسبت به پیکسل های مجاور، تقریبی از مشتق را نمایان می سازد.
در عملیات لبه برداری ورودی یک تصویر به فرمت intensity می باشد و در خروجی تصویر binary داده می گردد، که در تصویر حاصل مرزهای بیرونی تصویر به صورت 1 و مرزهای داخل به صورت 0 نشان داده می گردد.
I=rgb2gray(i1);
Bw=edge(I,’sobel’)
Edge لبه ها را در تصاویر intensity پیدا می نماید، این تابع یک تصویر باینری یا intensity را به عنوان ورودی می گیرد و یک تصویر باینری bw به همان اندازه ی تصویر اولی بر می گرداند، که جاهایی که تابع لبه ها را در تصویر پیدا می نماید، در تصویر خروجی 1 می نماید و جاهایی دیگر را 0 قرار می دهد.
برخی از الگوریتم های لبه برداری
الگوریتم soble
الگوریتم soble : این متد لبه ها را با استفاده از تخمین زدن مشتق پیدا می نماید، که لبه ها را در آن نقاطی بر می گرداند که گرادیان تصویر I ، max است.
Bw= edge(I,’sobel’,thresh)
مقدار thresh یک میزان آستانه را برای این متد مشخص می نماید.این تابع (edge) را از همه لبه هایی که قوی تر (بیشتر) از thresh نیستند چشم پوشی می نماید و اگر ما مقدار این thresh را مشخص نکنیم یا اگر thresh خالی باشد {[]} ، تابع edge خود به طور اتوماتیک مقداری را انتخاب می نماید.
Bw=edge(I,’sobel’,thresh,direction)
در این directin , syntax جهت را مشخص می نماید، یعنی رشته ای است که مشخص می نماید که این تابع لبه های افقی یا عمودی و یا هردو را جستجو کند که به طور پیش فرض هردو را جستجو می نماید.
‘horizontal’ افقی:
‘vertical’عمودی:
Bw=edge(I,’sobel’,…,options)
در این دستور تابع یک رشته ی اختیاری به عنوان ورودی می گیرد که رشته ‘nothinning’ سرعت عملیات الگوریتم را بالا می برد؛ به این علت که در مرحله ی نازک شدن لبه های اضافی می گذرد (می پرد) و اگر رشته ی ‘nothinning’ را انتخاب کنیم، الگوریتم لبه های نازک شده را نیز درخواست می نماید.
[Bw,thresh]=edge(I,’sobel’,…)
این دستور، مقدار threshold (آستانه) را برمی گرداند.
[Bw,thresh,gv,gh]=edge(….)
%Edge detection by mathworks.ir
در این دستور، لبه های افقی و عمودی (gv,gh) را با توجه به عملگرهای گرادیان بر می گرداند.دو متد Roberts و prewitt نیز هم به همین گونه هستند.
الگوریتم canny
الگوریتم canny: این متد ل لبه ها را با جستجوی max های محلی (موضعی) گرادیان I ، که گرادیان از روی مشتق فیلتر گاوس (Gaussian) محاسبه می گردد.
این متد از دو آستانه (thresholds) استفاده می نماید تا لبه های ضعیف و قوی را پیدا کند که فقط شامل لبه هایی ضعیف در خروجی می باشد که آنها متصل به لبه های قوی باشند.
این روش بیشتر به کشف لبه های ضعیف به درستی می پردازد و کمتر فریب نویز را می خورد و از بقیه روش ها بهتر است.
Bw= edge(I,’canny’,thresh)
این متد یک بدار آستانه (thresh) را مشخص می نماید که المنت اول آن آستانه پایین و المنت دوم آن آستانه بالا را مشخص می نماید.
اگر یک عدد را به عنوان (thresh) انتخاب کنیم این عدد به عنوان آستانه بالا (high threshold) و عدد (0.4×thresh) به عنوان آستانه پایین در نظر گرفته می گردد و اگر هیچ عددی را برای thresh انتخاب نکنیم، تابع edge خود به طور اتوماتیک هردو المنت را انتخاب می نماید.
[Bw,thresh]=edge(I,’canny’,…)
دستور بالا یک بردار دو المنتی را برمی گداند که میزان آستانه بالا و پایین را مشخص می نماید.
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,