Python: OpenCV Pepper and Salt Noise

From delarco wiki
Jump to navigation Jump to search
PYTHON OPENCV PEPPER AND SALT NOISE

row,col,ch = crop_img.shape
p = 0.5
a = 0.009
noisy = crop_img.copy()

# Salt mode
num_salt = np.ceil(a * crop_img.size * p)
coords = [np.random.randint(0, i - 1, int(num_salt)) for i in crop_img.shape]
noisy[coords] = 1

# Pepper mode
num_pepper = np.ceil(a * crop_img.size * (1. - p))
coords = [np.random.randint(0, i - 1, int(num_pepper)) for i in crop_img.shape]
noisy[coords] = 0

median_blur= cv2.medianBlur(noisy, 3)

display(Image.fromarray(noisy))