مورفولوژی
مورفولوژی
مورفولوژی یا ریخت شناسی
مورفولوژی یا ریختشناسی در پردازش تصویر مجموعهای از عملیات غیرخطی است که برای دستکاری و تحلیل شکل اشیاء در تصاویر، بهویژه تصاویر باینری (Binary) یا مقیاس خاکستری (Grayscale)، استفاده میشود. این عملیات برای وظایفی مانند پر کردن شکافها، ضخیم کردن، باریک کردن، یا هموارسازی اشیاء به کار میروند. مورفولوژی بر اساس تعامل تصویر با یک عنصر ساختاری (Structuring Element) تعریف میشود و در کاربردهایی مانند حذف نویز، تشخیص لبه، و بخشبندی تصویر نقش کلیدی دارد. در این مقاله، مفاهیم پایه، عملگرهای اصلی، و پیادهسازی آنها در متلب را بررسی میکنیم.
مفاهیم پایه
مورفولوژی بر سه مفهوم اصلی استوار است که از تعامل تصویر و عنصر ساختاری (یک ماتریس کوچک که شکل و اندازه آن قابل تنظیم است) ناشی میشود:

- Hit ( برخورد): زمانی که حداقل یک پیکسل مشترک بین تصویر و عنصر ساختاری وجود دارد.
- Fit (تطابق کامل): زمانی که عنصر ساختاری کاملاً با بخشی از تصویر همپوشانی دارد.
- Miss (عدم برخورد): زمانی که هیچ پیکسل مشترکی بین تصویر و عنصر ساختاری وجود ندارد.
این مفاهیم برای تعریف عملگرهای پایه مانند گسترش (Dilation)، فرسایش (Erosion)، باز کردن (Opening)، و بستن (Closing) استفاده میشوند.
عملگر گسترش (Dilation)
گسترش باعث بزرگتر یا ضخیمتر شدن اشیاء در تصویر باینری میشود. این عملگر با افزودن پیکسلها به مرزهای اشیاء بر اساس شکل عنصر ساختاری عمل میکند. اگر A و B مجموعه هایی در Z2 باشند، گسترش A و B به صورت زیر تعریف میگردد:

گسترش اشیاء، یک تصویر باینری را بزرگ یا ضخیم تر میکند که روش و اندازهی این ضخیم تر شدن با شکل جزء ساختاری مورد استفاده کنترل میشود.
کاربردهای عملگر گسترش عبارتند از:
- پر کردن فاصله ها و سوراخ های کوچک
- ضخیم کردن و بزرگ کردن تصویر
- برجسته کردن جزئیات تصویر
عملگر فرسایش (Erosion)
فرسایش اشیاء را کوچکتر یا باریکتر میکند با حذف پیکسلهای مرزی که با عنصر ساختاری مطابقت کامل ندارند. فرمول آن بهصورت زیر است:

کاربردهای عملگر فرسایش عبارتند از:
1ـ حذف جزئیات تصویر مانند نویز واشیا کوچک تر از عنصر ساختاری
2ـ فیلترینگ (حذف اشیاء کوچکتر از جزء ساختاری)
3ـ باریک کردن و کوچک کردن تصاویر
4_ جداسازی اشیاء متصل.
عملگر باز کردن (opening)
در این عملگر اول فرسایش و سپس گسترش به تصویر اعمال می شود.این عملگر برای هموارسازی اشیاء و حذف جزئیات ریز بدون تغییر کلی شکل استفاده میشود.

کاربردهای عملگر باز کردن عبارتند از:
1ـ هموارتر کردن مرز های شیء
2ـ حذف مسیرها و برآمدگی های باریک
3ـ حذف جزئیات ریز و باریک و گوشه های تصویر.
4_حذف نویز کوچک.
عملگر بستن (closing)
در این حالت اول برعکس حالت بازکردن اول عملگر گسترش انجام شده و سپس عملگر فرسایش اعمال می شود.این عملگر برای پر کردن شکافهای کوچک و اتصال اشیاء نزدیک به هم استفاده میشود.

کاربردهای عملگر بستن عبارتند از:
1ـ هموارتر کردن بخش هایی از منحنی
2ـ اتصال شکستگی های باریک بین اشیا
3ـ پر کردن شکاف ها و سوراخهای کوچک.
عملگرهای پیشرفتهتر مورفولوژی
علاوه بر عملگرهای پایه، متلب توابع پیشرفتهتری برای مورفولوژی ارائه میدهد:
- imtophat: استخراج اشیاء روشنتر از پسزمینه با تفاوت تصویر اصلی و تصویر بازشده.
- imbothat: استخراج اشیاء تیرهتر از پسزمینه با تفاوت تصویر بستهشده و اصلی.
- imhitmiss: تشخیص الگوهای خاص با استفاده از Hit-and-Miss Transform.
- imskel: اسکلتسازی تصویر برای استخراج ساختار اصلی اشیاء.
- imperim: استخراج مرزهای خارجی اشیاء.
اکثر این عملگر ها در تابع bwmorph موجود می باشد که مجموعهای از عملیات مورفولوژی را ارائه میدهد.
عملگر های مورفولوژی در متلب
متلب با توابعی مانند imerode، imdilate، imopen، imclose و bwmorph امکان اعمال عملیات مورفولوژی را فراهم میکند. در کد زیر، تأثیر عملگرهای پایه روی یک تصویر باینری بررسی شده است.
org_BW = imread('circles.png');
org_BW = imcomplement (org_BW);
se = strel('disk',5);
figure ; imshow (org_BW),title ('org picture')
BW1 = imerode(org_BW,se);
BW2 = imdilate(org_BW,se);
BW3 = imopen(org_BW,se);
BW4 = imclose(org_BW,se);
figure
subplot 221 ; imshow (BW1),title ('imerode')
subplot 222 ; imshow (BW2),title ('imdilate')
subplot 223 ; imshow (BW3),title ('imopen')
subplot 224 ; imshow (BW4),title ('imclose')
نتایج حاصل از عملگر ها در شکل زیر نشان داده شده است.
- فرسایش: اشیاء (مانند دایرهها) کوچکتر شده و جزئیات ریز حذف میشوند.
- گسترش: اشیاء بزرگتر شده و شکافهای کوچک پر میشوند.
- باز کردن: برآمدگیهای باریک حذف شده و مرزها هموار میشوند.
- بستن: شکافها و سوراخهای کوچک پر شده و اشیاء متصلتر میشوند.

کاربردهای مورفولوژی
- حذف نویز: حذف اشیاء کوچک یا نویز با فرسایش یا باز کردن.
- تشخیص شکل: استخراج ساختارهای خاص (مانند خطوط یا دایرهها) با Hit-and-Miss.
- پردازش تصاویر پزشکی: شناسایی و جداسازی ساختارها در تصاویر MRI یا CT.
- بخشبندی تصویر: بهبود مرزهای اشیاء برای تحلیل دقیقتر.
- تشخیص اشیاء: اسکلتسازی برای استخراج ساختار اصلی اشیاء.
نکات پیشرفته
- انتخاب عنصر ساختاری: شکل و اندازه عنصر ساختاری (مانند دیسک، مربع یا خط) تأثیر زیادی بر نتیجه دارد.
- تصاویر مقیاس خاکستری: عملیات مورفولوژی برای تصاویر غیرباینری نیز قابل اعمال است.
- ترکیب با یادگیری عمیق: عملیات مورفولوژی بهعنوان پیشپردازش در شبکههای عصبی (مانند CNN) استفاده میشود.
- کارایی محاسباتی: برای تصاویر بزرگ، بهینهسازی الگوریتمها (مانند استفاده از GPU) ضروری است.
نتیجهگیری
مورفولوژی در پردازش تصویر ابزاری قدرتمند برای دستکاری و تحلیل شکل اشیاء است که با استفاده از عملیات پایه مانند گسترش، فرسایش، باز کردن و بستن، کاربردهای گستردهای در حذف نویز، بخشبندی، و تشخیص اشیاء دارد. متلب با توابعی مانند imerode، imdilate و bwmorph پیادهسازی این عملیات را آسان میکند. انتخاب مناسب عنصر ساختاری و ترکیب عملیات میتواند نتایج را بهبود دهد. در آموزشهای بعدی، به بررسی کاربردهای پیشرفتهتر مورفولوژی در یادگیری عمیق و پردازش تصاویر پزشکی خواهیم پرداخت.
