1397/4/9
💢Image Gradients💢
اهداف:
1)یافتن شیب و لبه ها ی تصاویر،و ...
2) آشنایی با توابع cv.Sobel(), cv.Scharr(), cv.Laplacian()
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
💢Image Gradients💢
اهداف:
1)یافتن شیب و لبه ها ی تصاویر،و ...
2) آشنایی با توابع cv.Sobel(), cv.Scharr(), cv.Laplacian()
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
✅مفهوم gradients images
از میان عملیات گوناگونی که می توانند به تصاویر اعمال شوند،
کانولوشنها هستند، که در آنها فیلترهای خاص برای ویرایش تصاویر،برای به دست آوردن اطلاعات و یا برخی فواید دیگر، اعمال می شوند .
قبلا دیدیم که تصاویر به عنوان یک ماتریس عددی بزرگ نمایش داده می شوند و در آن رنگ هر پیکسل با یک عدد از 0 تا 255 در نشان داده می شود.
با استفاده از عملیات ریاضی (فیلتر تصویر) برای ساخت مقادیر جدید در یک ماتریس جدید از همان اندازه، کانولوشن تمام این مقادیر عددی را پردازش می کند.
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
از میان عملیات گوناگونی که می توانند به تصاویر اعمال شوند،
کانولوشنها هستند، که در آنها فیلترهای خاص برای ویرایش تصاویر،برای به دست آوردن اطلاعات و یا برخی فواید دیگر، اعمال می شوند .
قبلا دیدیم که تصاویر به عنوان یک ماتریس عددی بزرگ نمایش داده می شوند و در آن رنگ هر پیکسل با یک عدد از 0 تا 255 در نشان داده می شود.
با استفاده از عملیات ریاضی (فیلتر تصویر) برای ساخت مقادیر جدید در یک ماتریس جدید از همان اندازه، کانولوشن تمام این مقادیر عددی را پردازش می کند.
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
✅یکی از این عمیلات، مشتق است.
مشتق ، یک عمل ریاضی است که به شما اجازه می دهد تا مقادیر عددی را که نشان دهنده سرعت در حال تغییر یک مقدار هستند را بدست آورید.
⁉️ حالا سوال اینکه چطور مشتق میتونه در تصویر اهمیت داشته باشه؟
✅وقتی علاقمند به تغییر رنگ که gradient
نامیده میشود، باشیم.
گرادیان رنگ، یک ابزار عالی برای محاسبه لبه های یک تصویر است.
مثلا تشخیص خط لب از تغییر رنگ مثلا قرمز به رنگ پوست شاید یه مثال واضح باشه.
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
مشتق ، یک عمل ریاضی است که به شما اجازه می دهد تا مقادیر عددی را که نشان دهنده سرعت در حال تغییر یک مقدار هستند را بدست آورید.
⁉️ حالا سوال اینکه چطور مشتق میتونه در تصویر اهمیت داشته باشه؟
✅وقتی علاقمند به تغییر رنگ که gradient
نامیده میشود، باشیم.
گرادیان رنگ، یک ابزار عالی برای محاسبه لبه های یک تصویر است.
مثلا تشخیص خط لب از تغییر رنگ مثلا قرمز به رنگ پوست شاید یه مثال واضح باشه.
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
✅همانطور که در شکل می بینید، یک لبه چیزی بیش از یک انتقال سریع از یک رنگ به رنگ دیگر نیست. برای ساده کردن، 0 سیاه است و 1 سفید است. تمام سایه رنگ خاکستری بین 0 تا 1 است.
به مثال زیر توجه کنید:
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
به مثال زیر توجه کنید:
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
تغییر زیاد در gradient ، نشان دهنده یک تغییر عمده در تصویر است. اندازه گیری این تغییرات توسط مشتق صورت میگیرد.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
✅برای ادامه من فکرمیکنم یک تعریفی از مشتق بر روی توابع معمولی داشته باشیم بدنباشه:
✅مشتق:
مشتق ایدهٔ اصلی حساب دیفرانسیل، بخش اول آنالیز ریاضی است که نرخ لحظهای (یا نقطهای) تغییرات تابع را نشان میدهد. مشتق نیز، نظیر انتگرال، از مسئلهای در هندسه، یعنی یافتن خط مماس در یک نقطه از منحنی ناشی شدهاست.ویکی
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
✅مشتق:
مشتق ایدهٔ اصلی حساب دیفرانسیل، بخش اول آنالیز ریاضی است که نرخ لحظهای (یا نقطهای) تغییرات تابع را نشان میدهد. مشتق نیز، نظیر انتگرال، از مسئلهای در هندسه، یعنی یافتن خط مماس در یک نقطه از منحنی ناشی شدهاست.ویکی
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
This media is not supported in your browser
VIEW IN TELEGRAM
در هر نقطه، مشتق شیب خط مماس است. در نقاطی که خط سبز است؛ مشتق مثبت، در نقاطی که خط سیاه است؛ مشتق صفر و در نقاطی که خط قرمز است؛ مشتق منفی است.ویکی
✅کتابخانهOpenCV دارای سه نوع از فیلترهای شیب دار یا فیلترهای high-pass سوبل، شارر و لاپلاسین است.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
💢1. Sobel and Scharr Derivatives💢
میدانیم تصویر یک سیگنال دو بعدی است.
در راستای x,y.
اگر بخواهیم لبه را در راستای x یا y بدست آوریم، از این فیلتر استفاده میکنیم.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
میدانیم تصویر یک سیگنال دو بعدی است.
در راستای x,y.
اگر بخواهیم لبه را در راستای x یا y بدست آوریم، از این فیلتر استفاده میکنیم.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
Forwarded from اتچ بات
✅اگر I تصویر ما باشد، دو مشتق را محاسبه می کنیم:
تغییرات افقی:
تصویر I، توسط convolving با هسته Gx و سایز فرد، محاسبه میشود.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
تغییرات افقی:
تصویر I، توسط convolving با هسته Gx و سایز فرد، محاسبه میشود.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
Telegram
attach 📎
Forwarded from اتچ بات
تغییرات عمودی:
تصویر I، توسط convolving با هسته Gy و سایز فرد، محاسبه میشود.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
تصویر I، توسط convolving با هسته Gy و سایز فرد، محاسبه میشود.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
Telegram
attach 📎
✅cv2.Sobel(src, ddepth, dx, dy[, dst[, ksize[, scale[, delta[, borderType]]]]]) → dst
اگر ksize را -1 قرار دهیم، به آن فیلتر #شار 3x3 گویند که از فیلتر #سوبل 3x3 نتیجه بهتری دارد.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
اگر ksize را -1 قرار دهیم، به آن فیلتر #شار 3x3 گویند که از فیلتر #سوبل 3x3 نتیجه بهتری دارد.
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('blackandwhite.jpg',0)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)
plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])
plt.show()
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('blackandwhite.jpg',0)
sobelx = cv2.Sobel(img,cv2.CV_64F,1,0,ksize=5)
sobely = cv2.Sobel(img,cv2.CV_64F,0,1,ksize=5)
plt.subplot(2,2,1),plt.imshow(img,cmap = 'gray')
plt.title('Original'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,3),plt.imshow(sobelx,cmap = 'gray')
plt.title('Sobel X'), plt.xticks([]), plt.yticks([])
plt.subplot(2,2,4),plt.imshow(sobely,cmap = 'gray')
plt.title('Sobel Y'), plt.xticks([]), plt.yticks([])
plt.show()
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process