معرفی ماژول پایتون برای پردازش تصاویر – قسمت پنجم
موسسه پایا پروژه به عنوان متصدی انجام پروژه های پردازش تصویر با پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی متلب مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.
۳ـ فیلترگذاری در تصاویر
بیایید در مورد اینکه فیلترها چگونه در پردازش تصویر به ما کمک میکنند، بحث کنیم. فیلترگذاری تکنیکی برای اصلاح یا تقویت یک تصویر است. برای مثال، میتوانید تصویری را به منظور تاکید روی ویژگیهای خاص یا حذف برخی ویژگیهای دیگر، فیلتر کنید. عملیات پردازش تصویر که با فیلتر انجام میشود شامل روتوش کردن (smoothing) ، تار کردن (sharpening) و تقویت لبههای تصویر (Edge Enhancement) است.
فیلترینگ تصاویر یک عملیات همسایگی (neighborhood operation) محسوب میشود، به این معنی که مقدار هر پیکسل در تصویر خروجی از طریق اعمال الگوریتمهایی روی پیکسل ورودی و پیکسلهای موجود در همسایگی آن ورودی تعیین میشود. بگذارید اکنون عملیات جدیدی به کمک Scipy.ndimage انجام دهیم تا موضوعات عنوان شده، قابل درک تر باشه.
۳ـ۱ محو و تارشدن تصویر
Blur و یا تار کردن تصاویر به منظور کاهش دادهی نویز است. شما میتوان فیلتر را اعمال و تغییرات را مشاهده کنید. مثال زیر را در نظر بگیرید:
from scipy import misc
()face = misc.face
blurred_face = ndimage.gaussian_filter(face, sigma=3)
import matplotlib.pyplot as plt
plt.imshow(blurred_face)
() plt.show
خروجی کد بالا به شکل تصویر زیر است:

مقدار پارامتر sigma بیانگر سطح محوشدگی یا Blur تصویر روی مقیاس پنج است. میتوان با تنظیمات مختلف مقدار sigma، تغییرات حاصل را روی وضوح تصویر دید.
۳ـ۲ تشخیص لبههای تصویر و یا Edge Detection
تشخیص لبهی تصاویر تکنیکی در پردازش تصویر است که برای یافتن مرز و محدودهی اشیا (Object) موجود در تصویر به کار میآید. این کار از طریق شناسایی ناپیوستگیها در مقدار روشنایی پیکسل صورت میگیرد. تشخیص لبه برای قطعهبندی تصاویر و استخراج داده در مباحثی همچون پردازش تصویر، بینایی کامپیوتر و بینایی ماشین مورد استفاده قرار میگیرد.
بیشترین الگوریتمهای مورد استفاده در تشخیص لبهی تصاویر عبارتند از:
- Sobel
- Canny
- Prewitt
- Roberts
- Fuzzy Logic Methods
برای درک عناوین ذکر شده، به مثال زیر توجه کنید:
import scipy.ndimage as nd
import numpy as np
im = np.zeros((256, 256))
im[64:-64, 64:-64] = 1
im[90:-90,90:-90] = 2
im = ndimage.gaussian_filter(im, 8)
import matplotlib.pyplot as plt
plt.imshow(im)
() plt.show
کد بالا تصویری به شکل زیر برای ما تولید میکند:

۴ـ جمع بندی
در این آموزش درباره ماژول scipy صحبت کردیم و یاد گرفتیم چگونه اون رو نصب و در محیط پایتون استفاده کنیم. همچنین توابع بسیاری رو پیاده سازی کردیم و با تغییرات آرایه های مختلف تصاویر، عملیات پردازش تصاویر رو انجام دادیم. در قسمت بعدی به معرفی آموزش و مثال های جامع تر، در دنیای واقعی و پروژه های مختلف می پردازیم و یاد میگیریم که چطور تصاویر مورد نظرمون رو با استفاده از ماژول های مختلف پردازش و مطابق با نیازهامون تغییر بدیم.
