Archsalt Pepper Noise S3.Ipynb - Colab
Archsalt Pepper Noise S3.Ipynb - Colab
import random
import cv2
import matplotlib.pyplot as plt
import numpy as np
img.shape
(512, 512)
def add_noise(img):
# Randomly pick some pixels in the image for coloring them white
number_of_pixels_w = random.randint(1, row)
for i in range(number_of_pixels_w):
# Pick a random y coordinate
y_coord=random.randint(0, row - 1)
# Randomly pick some pixels in the image for coloring them black
number_of_pixels_b = random.randint(1 , row)
for i in range(number_of_pixels_b):
noised = add_noise(img)
plt.imshow(noised,cmap="gray")
plt.axis("off")
plt.savefig('noised.jpg')
keyboard_arrow_down
Applying filters using opencv
plt.figure(figsize=(8, 12))
plt.subplot( 1,5, 1)
plt.title('Original Image')
plt.imshow(img, cmap='gray')
plt.axis('off')
plt.subplot(1,5, 2)
plt.title('Mean Filter')
plt.imshow(mean_filter, cmap='gray')
plt.axis('off')
plt.subplot(1, 5, 3)
plt.title('Median Filter')
plt.imshow(median_filter, cmap='gray')
plt.axis('off')
plt.subplot(1, 5, 4)
plt.title('Max Filter')
plt.imshow(min_filter, cmap='gray')
plt.axis('off')
plt.subplot(1, 5, 5)
plt.title('Min Filter')
plt.imshow(max_filter, cmap='gray')
plt.axis('off')
plt.tight_layout()
plt.show()
# trial
maxx = cv2.dilate(min_filter, np.ones((5, 5), np.uint8))
keyboard_arrow_down
1. Mean (Average) filter
return filtered_image
mean_filtered = mean_filter(img,5)
plt.title('Mean filter')
plt.imshow(mean_filtered, cmap='gray')
plt.axis('off')
keyboard_arrow_down
2. Median filter
ered result
l image
median_filtered = median_filter(img,3)
plt.title('Median filter')
plt.imshow(median_filtered, cmap='gray')
plt.axis('off')
(np.float64(-0.5), np.float64(511.5), np.float64(511.5), np.float64(-0.5))
keyboard_arrow_down
3. Maximum filter
keyboard_arrow_down
4. Minimum filter