Skip to content
Snippets Groups Projects
Commit 9150874c authored by LexvanGastel's avatar LexvanGastel
Browse files

vraag 24

parent 94985864
Branches
No related tags found
No related merge requests found
...@@ -7,8 +7,9 @@ class ImageProcessor: ...@@ -7,8 +7,9 @@ class ImageProcessor:
self.image = cv2.imread(image_path) self.image = cv2.imread(image_path)
self.image_rgb = cv2.cvtColor(self.image, cv2.COLOR_BGR2RGB) self.image_rgb = cv2.cvtColor(self.image, cv2.COLOR_BGR2RGB)
def apply_median_filter(self, kernel_size): def apply_median_filter(self, kernel_size = 5):
return filterd_image filtered_image = cv2.medianBlur(self.image_rgb,kernel_size)
return filtered_image
def get_color_channels(self): def get_color_channels(self):
red_channel = self.image_rgb[:, :, 0] red_channel = self.image_rgb[:, :, 0]
...@@ -73,7 +74,21 @@ class Plotter: ...@@ -73,7 +74,21 @@ class Plotter:
axes[2].set_ylabel('Frequency') axes[2].set_ylabel('Frequency')
#plt.show() #plt.show()
@staticmethod
def plot_filtered_image(original, filtered):
fig, axes = plt.subplots(1, 2, figsize=(12,6))
axes[0].imshow(original)
axes[0].set_title("Original Image")
axes[0].axis("off")
axes[1].imshow(filtered)
axes[1].set_title("Filtered Image (Median Blur)")
axes[1].axis("off")
plt.show()
image_path = "traffic_light_image_1.png" image_path = "traffic_light_image_1.png"
processor = ImageProcessor(image_path) processor = ImageProcessor(image_path)
red, green, blue = processor.get_color_channels() red, green, blue = processor.get_color_channels()
...@@ -82,10 +97,13 @@ snr_red = processor.calculate_snr(red) ...@@ -82,10 +97,13 @@ snr_red = processor.calculate_snr(red)
snr_green = processor.calculate_snr(green) snr_green = processor.calculate_snr(green)
snr_blue = processor.calculate_snr(blue) snr_blue = processor.calculate_snr(blue)
print(f"SNR for Red Channel {snr_red:.2f}") #print(f"SNR for Red Channel {snr_red:.2f}")
print(f"SNR for Green Channel {snr_green:.2f}") #print(f"SNR for Green Channel {snr_green:.2f}")
print(f"SNR for Blue Channel {snr_blue:.2f}") #print(f"SNR for Blue Channel {snr_blue:.2f}")
filtered_image = processor.apply_median_filter(kernel_size = 5)
Plotter.plot_image_channels(processor.image_rgb,red,green,blue) Plotter.plot_image_channels(processor.image_rgb,red,green,blue)
Plotter.plot_histograms(red, green, blue) Plotter.plot_histograms(red, green, blue)
\ No newline at end of file Plotter.plot_filtered_image(processor.image_rgb, filtered_image)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment