پردازش تصویر با پایتون
651 subscribers
210 photos
4 videos
1 file
209 links
Download Telegram
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
1397/4/9
💢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
#اینجا_1
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
یکی از این عمیلات، مشتق است.
مشتق ، یک عمل ریاضی است که به شما اجازه می دهد تا مقادیر عددی را که نشان دهنده سرعت در حال تغییر یک مقدار هستند را بدست آورید.
⁉️ حالا سوال اینکه چطور مشتق میتونه در تصویر اهمیت داشته باشه؟
وقتی علاقمند به تغییر رنگ که gradient
نامیده میشود، باشیم.
گرادیان رنگ، یک ابزار عالی برای محاسبه لبه های یک تصویر است.
مثلا تشخیص خط لب از تغییر رنگ مثلا قرمز به رنگ پوست شاید یه مثال واضح باشه.

💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
#اینجا_1
💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
همانطور که در شکل می بینید، یک لبه چیزی بیش از یک انتقال سریع از یک رنگ به رنگ دیگر نیست. برای ساده کردن، 0 سیاه است و 1 سفید است. تمام سایه رنگ خاکستری بین 0 تا 1 است.
به مثال زیر توجه کنید:

💢💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
تغییر زیاد در gradient ، نشان دهنده یک تغییر عمده در تصویر است. اندازه گیری این تغییرات توسط مشتق صورت میگیرد.
💢💢💢💢💢💢💢💢💢

🆔@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
💢1. Sobel and Scharr Derivatives💢
میدانیم تصویر یک سیگنال دو بعدی است.
در راستای x,y.
اگر بخواهیم لبه را در راستای x یا y بدست آوریم، از این فیلتر استفاده میکنیم.

💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
Forwarded from اتچ بات
اگر I تصویر ما باشد، دو مشتق را محاسبه می کنیم:
تغییرات افقی:
تصویر I، توسط convolving با هسته Gx و سایز فرد، محاسبه میشود.

💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
Forwarded from اتچ بات
تغییرات عمودی:
تصویر I، توسط convolving با هسته Gy و سایز فرد، محاسبه میشود.

💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process
cv2.Sobel(src, ddepth, dx, dy[, dst[, ksize[, scale[, delta[, borderType]]]]]) → dst
اگر 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
💢💢💢💢💢💢💢💢💢
🆔@image_Process
🌐https://t.me/image_Process