فیلتر میانه یکی از فیلترهای غیرخطی در فیلتر دیجیتال است. از این فیلتر برای گرفتن نویز تصاویر و سیگنال ها استفاده می شود. نویزگیری تصاویر معمولاً پیش زمینه ای برای دیگر تغییرات و شناسایی ها بر روی تصاویر است. مثلاً برای تشخیص گوشه ابتدا باید با استفاده از یکی از فیلترها مانند فیلتر میانه نویز تصویر را گرفت. فیلتر میانه به طور گسترده ای در پردازش تصویر کاربرد دارد. همچنین نمی توان از کاربرد فیلتر میانه در پردازش سیگنال چشم پوشید. در کاربردهای خاص تر فیلتر میانه در سیستم های رادیوگرافی، سیستم های گرفتن نوار مغزی یا EEG و دستگاه های ثبت فشار خون استفاده می شود. [ ۱]
الگوریتم کلی فیلتر میانه با پیدا کردن میانه و جایگزینی آن در مجموعه ورودی کار می کند ( میانهٔ یک بردار عنصر میانی برای یک بردار فردعضوی یا میانگین دو عنصر میانی برای یک بردار زوج عضوی تعریف می شود ) به عنوان مثال اگر وروی یک بردار با طول k و فرد باشد فیلتر عنصر میانی را که عنصر با اندیس ( k + 1 2 ) آن است را به عنوان میانه آن بردار اعلام می کند، در پردازش تصویر معمولاً ورودی یک ماتریس است و برای زیرماتریس های کوچک تر با اندازه k ∗ k عنصر مرکزی ماتریس با میانه تمامی عنصرهای در زیرماتریس جایگزین می شود. ( در صورتی که k فرد باشد عنصر مرکزین میانه است اما در صورتی که k زوج باشد باید میانگین چهار عنصر مرکزین را به دست آورد ) ؛ امکان استفاده از فیلتر میانه برای ابعاد بالاتر نیز وجود دارد، دربارهٔ تحلیل زمانی الگوریتم می توان گفت که پیچیدگی زمانی الگوریتم با توجه به نحوه پیاده سازی الگوریتم متفاوت است، در فضای یک بعدی پیدا کردن میانه را می توان در زمان خطی انجام داد. [ ۲]
در حالتی که ورودی یک بردار یا فضای یک بعدی باشد باید به جای هر k عنصر متوالی میانه آن را جایگزین کنیم؛ به عنوان مثال الگوریتم فیلتر میانه با k = 3 را برای یک بردار ورودی x را اعمال می کنیم، برای اجرای فیلتر میانه باید | x | > = k باشد. در مثال زیر | x | = 4 است.
x = { 2 , 3 , 80 , 6 }
y 1 = m e d ( 2 , 3 , 80 ) = 3
y 2 = m e d ( 3 , 80 , 6 ) = m e d ( 3 , 6 , 80 ) = 6
y 3 = m e d ( 80 , 6 , 2 ) = m e d ( 2 , 6 , 80 ) = 6
y 4 = m e d ( 6 , 2 , 3 ) = m e d ( 2 , 3 , 6 ) = 3
⇒ y = { 3 , 6 , 6 , 3 }
در حالت کلی می توان تابع غیرخطی فیلتر میانه را این گونه نوشت:



این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفالگوریتم کلی فیلتر میانه با پیدا کردن میانه و جایگزینی آن در مجموعه ورودی کار می کند ( میانهٔ یک بردار عنصر میانی برای یک بردار فردعضوی یا میانگین دو عنصر میانی برای یک بردار زوج عضوی تعریف می شود ) به عنوان مثال اگر وروی یک بردار با طول k و فرد باشد فیلتر عنصر میانی را که عنصر با اندیس ( k + 1 2 ) آن است را به عنوان میانه آن بردار اعلام می کند، در پردازش تصویر معمولاً ورودی یک ماتریس است و برای زیرماتریس های کوچک تر با اندازه k ∗ k عنصر مرکزی ماتریس با میانه تمامی عنصرهای در زیرماتریس جایگزین می شود. ( در صورتی که k فرد باشد عنصر مرکزین میانه است اما در صورتی که k زوج باشد باید میانگین چهار عنصر مرکزین را به دست آورد ) ؛ امکان استفاده از فیلتر میانه برای ابعاد بالاتر نیز وجود دارد، دربارهٔ تحلیل زمانی الگوریتم می توان گفت که پیچیدگی زمانی الگوریتم با توجه به نحوه پیاده سازی الگوریتم متفاوت است، در فضای یک بعدی پیدا کردن میانه را می توان در زمان خطی انجام داد. [ ۲]
در حالتی که ورودی یک بردار یا فضای یک بعدی باشد باید به جای هر k عنصر متوالی میانه آن را جایگزین کنیم؛ به عنوان مثال الگوریتم فیلتر میانه با k = 3 را برای یک بردار ورودی x را اعمال می کنیم، برای اجرای فیلتر میانه باید | x | > = k باشد. در مثال زیر | x | = 4 است.
x = { 2 , 3 , 80 , 6 }
y 1 = m e d ( 2 , 3 , 80 ) = 3
y 2 = m e d ( 3 , 80 , 6 ) = m e d ( 3 , 6 , 80 ) = 6
y 3 = m e d ( 80 , 6 , 2 ) = m e d ( 2 , 6 , 80 ) = 6
y 4 = m e d ( 6 , 2 , 3 ) = m e d ( 2 , 3 , 6 ) = 3
⇒ y = { 3 , 6 , 6 , 3 }
در حالت کلی می توان تابع غیرخطی فیلتر میانه را این گونه نوشت:




wiki: فیلتر میانه