💢5. Morphological Gradient💢
تفاضل بین فرسایش و انبساط حاصل از یک تصویر Gradient گویند.
برای تشخیص مرز شی مفید است.
💢💢💢💢💢💢💢💢💢💢
تفاضل بین فرسایش و انبساط حاصل از یک تصویر Gradient گویند.
برای تشخیص مرز شی مفید است.
💢💢💢💢💢💢💢💢💢💢
💢6. Top Hat💢
تفاضل بین تصویر اصلی و Opening را گویند.
کاربرد:
1) استخراج ویژگی 2) افزایش کیفیت عکس
3) ...
💢💢💢💢💢💢💢💢💢💢
تفاضل بین تصویر اصلی و Opening را گویند.
کاربرد:
1) استخراج ویژگی 2) افزایش کیفیت عکس
3) ...
💢💢💢💢💢💢💢💢💢💢
This media is not supported in your browser
VIEW IN TELEGRAM
💢7. Black Hat💢
تفاضل بین تصویر اصلی و closing را گویند.
تفاضل بین تصویر اصلی و closing را گویند.
تا اینجا se های ایجاد شده به شکل مربع یا مستطیل بودند. برای ایجاد se هایی به شکل بیضی یا دایره ، در opencv توسط تابع cv2.getStructuringElement ()به صورت زیر عمل میکنیم:
# Rectangular Kernel
>>> cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]], dtype=uint8)
# Elliptical Kernel
>>> cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
array([[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0]], dtype=uint8)
# Cross-shaped Kernel
>>> cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
array([[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0]], dtype=uint8)
💢💢💢💢💢💢💢💢💢💢
>>> cv2.getStructuringElement(cv2.MORPH_RECT,(5,5))
array([[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1]], dtype=uint8)
# Elliptical Kernel
>>> cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(5,5))
array([[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0]], dtype=uint8)
# Cross-shaped Kernel
>>> cv2.getStructuringElement(cv2.MORPH_CROSS,(5,5))
array([[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0]], dtype=uint8)
💢💢💢💢💢💢💢💢💢💢
💢Image Gradients💢
اهداف:
1)یافتن شیب و لبه ها ی تصاویر،و ...
2) آشنایی با توابع cv.Sobel(), cv.Scharr(), cv.Laplacian()
اهداف:
1)یافتن شیب و لبه ها ی تصاویر،و ...
2) آشنایی با توابع cv.Sobel(), cv.Scharr(), cv.Laplacian()
✅مفهوم gradients images
از میان عملیات گوناگونی که می توانند به تصاویر اعمال شوند،
کانولوشنها هستند، که در آنها فیلترهای خاص برای ویرایش تصاویر،برای به دست آوردن اطلاعات و یا برخی فواید دیگر، اعمال می شوند .
قبلا دیدیم که تصاویر به عنوان یک ماتریس عددی بزرگ نمایش داده می شوند و در آن رنگ هر پیکسل با یک عدد از 0 تا 255 در نشان داده می شود.
با استفاده از عملیات ریاضی (فیلتر تصویر) برای ساخت مقادیر جدید در یک ماتریس جدید از همان اندازه، کانولوشن تمام این مقادیر عددی را پردازش می کند.
از میان عملیات گوناگونی که می توانند به تصاویر اعمال شوند،
کانولوشنها هستند، که در آنها فیلترهای خاص برای ویرایش تصاویر،برای به دست آوردن اطلاعات و یا برخی فواید دیگر، اعمال می شوند .
قبلا دیدیم که تصاویر به عنوان یک ماتریس عددی بزرگ نمایش داده می شوند و در آن رنگ هر پیکسل با یک عدد از 0 تا 255 در نشان داده می شود.
با استفاده از عملیات ریاضی (فیلتر تصویر) برای ساخت مقادیر جدید در یک ماتریس جدید از همان اندازه، کانولوشن تمام این مقادیر عددی را پردازش می کند.
✅یکی از این عمیلات، مشتق است.
مشتق ، یک عمل ریاضی است که به شما اجازه می دهد تا مقادیر عددی را که نشان دهنده سرعت در حال تغییر یک مقدار هستند را بدست آورید.
⁉️ حالا سوال اینکه چطور مشتق میتونه در تصویر اهمیت داشته باشه؟
✅وقتی علاقمند به تغییر رنگ که gradient
نامیده میشود، باشیم.
گرادیان رنگ، یک ابزار عالی برای محاسبه لبه های یک تصویر است.
مثلا تشخیص خط لب از تغییر رنگ مثلا قرمز به رنگ پوست شاید یه مثال واضح باشه.
مشتق ، یک عمل ریاضی است که به شما اجازه می دهد تا مقادیر عددی را که نشان دهنده سرعت در حال تغییر یک مقدار هستند را بدست آورید.
⁉️ حالا سوال اینکه چطور مشتق میتونه در تصویر اهمیت داشته باشه؟
✅وقتی علاقمند به تغییر رنگ که gradient
نامیده میشود، باشیم.
گرادیان رنگ، یک ابزار عالی برای محاسبه لبه های یک تصویر است.
مثلا تشخیص خط لب از تغییر رنگ مثلا قرمز به رنگ پوست شاید یه مثال واضح باشه.
✅همانطور که در شکل می بینید، یک لبه چیزی بیش از یک انتقال سریع از یک رنگ به رنگ دیگر نیست. برای ساده کردن، 0 سیاه است و 1 سفید است. تمام سایه رنگ خاکستری بین 0 تا 1 است.
به مثال زیر توجه کنید:
به مثال زیر توجه کنید: