python_developer
1.54K subscribers
3.74K photos
1.97K videos
232 files
434 links
کانال اموزش پایتون @Real_developer
تبلیغات پذیرفته میشود.
Download Telegram
3. Median Filtering
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
median = cv2.medianBlur(img,5)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(median),plt.title('median')
plt.xticks([]), plt.yticks([])
plt.show()
4. Bilateral Filtering
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
bilateralFilter = cv2.bilateralFilter(img,9,75,75)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(bilateralFilter),plt.title('bilateralFilter')
plt.xticks([]), plt.yticks([])
plt.show()
This media is not supported in your browser
VIEW IN TELEGRAM
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
kernel_sharpening = np.array([[0,-1,0],
[-1, 5,-1],
[0,-1,0]])
sharpen = cv2.filter2D(img, -1, kernel_sharpening)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(sharpen),plt.title('Sharpen')
plt.xticks([]), plt.yticks([])
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
kernel_blur = np.array([[0.0625,0.125,0.0625],
[0.125, 0.25,0.125],
[0.0625,0.125,0.0625]])
blur = cv2.filter2D(img, -1, kernel_blur)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(blur ),plt.title('blur ')
plt.xticks([]), plt.yticks([])
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
bottom_sobel = np.array([[-1,-2,-1],
[0, 0,0],
[1,2,1]])
sobel = cv2.filter2D(img, -1, bottom_sobel)
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(sobel ),plt.title('bottom sobel ')
plt.xticks([]), plt.yticks([])
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
emboss = np.array([[-2,-1,0],
[-1,1,1],
[0,1,2]])
embosss = cv2.filter2D(img, -1, emboss )
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(embosss ),plt.title('emboss ')
plt.xticks([]), plt.yticks([])
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
identity = np.array([[0,0,0],
[0,1,0],
[0,0,0]])
identityy = cv2.filter2D(img, -1, identity )
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(identityy ),plt.title('identity ')
plt.xticks([]), plt.yticks([])
plt.show()
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('kh.jpg')
left_sobel = np.array([[1,0,-1],
[2,0,-2],
[1,0,-1]])
left_sobell = cv2.filter2D(img, -1, left_sobel )
plt.subplot(121),plt.imshow(img),plt.title('Original')
plt.xticks([]), plt.yticks([])
plt.subplot(122),plt.imshow(left_sobell ),plt.title('left_sobel')
plt.xticks([]), plt.yticks([])
plt.show()
This media is not supported in your browser
VIEW IN TELEGRAM
فیلتر کردن تصویر در حوزه های مکانی و فرکانسی
فیلترهای مکانی: مربوط به استفاده مستقیم از پیکسلهای تصویر میباشد. هر پیکسل:
پیکسل =مولفه نور یا روشنایی+ قابلیت بازتاب
ولی در فیلتر های مکانی امکان تفکیک این دو مولفه نیس.
فیلتر های مکانی خطی و غیر خطی داریم. فرق این دو : در خطی تمام پیکسل های همسایه درگیر کرنل هستن ولی در غیر خطی اینطور نیس.
فرآیند convolution مستلزم استفاده از ماسک کانولوشن H (معمولا با شکل متقارن و اندازه 𝑤 × 𝑤، w = 2k + 1) است که بر روی تصویر منبع اعمال می شود
با توجه به شکل زیر.
IMG_20211201_112709_516.jpg
4.5 KB
The convolution process in the spatial domain