-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathimage_noise_reduction.py
More file actions
22 lines (18 loc) · 865 Bytes
/
image_noise_reduction.py
File metadata and controls
22 lines (18 loc) · 865 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import cv2
def reduce_noise(image_path, output_path, method='gaussian', ksize=5):
image = cv2.imread(image_path)
if method == 'gaussian':
denoised_image = cv2.GaussianBlur(image, (ksize, ksize), 0)
elif method == 'median':
denoised_image = cv2.medianBlur(image, ksize)
elif method == 'bilateral':
denoised_image = cv2.bilateralFilter(image, ksize, 75, 75)
else:
print(f"Error: Unknown method '{method}'")
return
cv2.imwrite(output_path, denoised_image)
print(f"Noise reduced image saved to {output_path}")
# Example usage
reduce_noise('input_image.jpg', 'denoised_image.jpg', method='gaussian', ksize=5)
reduce_noise('input_image.jpg', 'denoised_image_median.jpg', method='median', ksize=5)
reduce_noise('input_image.jpg', 'denoised_image_bilateral.jpg', method='bilateral', ksize=15)