21bai1724 MV Lab04
21bai1724 MV Lab04
MACHINE VISION
LAB 04
NAME - SHRINIVAS CHIGARE
REG.NO - 21BAI1724
[1]: pip install scikit-image numpy matplotlib
1
Requirement already satisfied: python-dateutil>=2.7 in
/usr/local/lib/python3.10/dist-packages (from matplotlib) (2.8.2)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.10/dist-
packages (from python-dateutil>=2.7->matplotlib) (1.16.0)
# Load an image
image = io.imread('/content/1.jpg', as_gray=True)
plt.subplot(1, 2, 2)
plt.title('Min Filtered Image')
plt.imshow(min_filtered_image, cmap='gray')
plt.axis('off')
plt.show()
2
[5]: def apply_max_filter(image, selem):
return filters.rank.maximum(image, selem)
plt.subplot(1, 2, 2)
plt.title('Max Filtered Image')
plt.imshow(max_filtered_image, cmap='gray')
plt.axis('off')
plt.show()
3
[6]: from skimage.filters import median
plt.subplot(1, 2, 2)
plt.title('Median Filtered Image')
plt.imshow(median_filtered_image, cmap='gray')
plt.axis('off')
plt.show()
4
ANOTHER EXAMPLE
[7]: import numpy as np
from skimage import data, util, filters, morphology
import matplotlib.pyplot as plt
5
filtered = np.zeros_like(image)
for i in range(image.shape[2]): # Process each color channel
filtered[:, :, i] = filters.median(image[:, :, i], selem)
return filtered
# Apply filters
min_filtered_image = apply_min_filter(noisy_image, selem)
max_filtered_image = apply_max_filter(noisy_image, selem)
median_filtered_image = apply_median_filter(noisy_image, selem)
plt.subplot(2, 3, 1)
plt.title('Noisy Image')
6
plt.imshow(noisy_image)
plt.axis('off')
plt.subplot(2, 3, 2)
plt.title('Min Filtered Image')
plt.imshow(min_filtered_image)
plt.axis('off')
plt.subplot(2, 3, 3)
plt.title('Max Filtered Image')
plt.imshow(max_filtered_image)
plt.axis('off')
plt.subplot(2, 3, 4)
plt.title('Median Filtered Image')
plt.imshow(median_filtered_image)
plt.axis('off')
plt.tight_layout()
plt.show()
7
[10]: # Plot histograms for each filtered image separately
plot_histogram(noisy_image, 'Noisy Image')
plot_histogram(min_filtered_image, 'Min Filtered Image')
plot_histogram(max_filtered_image, 'Max Filtered Image')
plot_histogram(median_filtered_image, 'Median Filtered Image')
8
9