Tuesday, 7 October 2025

Experiment : 11 : Capture Images from Web Camera using Raspberry Pi and Apply Filters to Increase Image Quality

import cv2

import numpy as np

cap = cv2.VideoCapture(0, cv2.CAP_V4L2)

if not cap.isOpened():

    print("Error: Could not open web camera.")

    exit()

ret, frame = cap.read()

if not ret:

   print("Error: Could not capture image.")

     exit()

cap.release()

image_path = "captured_image.jpg"

cv2.imwrite(image_path, frame)

image = cv2.imread(image_path)

blurred_image = cv2.GaussianBlur(image, (5, 5), 0)

kernel = np.array([[0,-1, 0], [-1, 5,-1], [0,-1, 0]])

sharpened_image = cv2.filter2D(blurred_image,-1, kernel)

gray_image = cv2.cvtColor(sharpened_image, cv2.COLOR_BGR2GRAY)

equalized_image = cv2.equalizeHist(gray_image)

cv2.imwrite("blurred_image.jpg", blurred_image)

cv2.imwrite("sharpened_image.jpg", sharpened_image)

cv2.imwrite("equalized_image.jpg", equalized_image)

cv2.imshow("Original Image", image)

cv2.imshow("Blurred Image", blurred_image)

cv2.imshow("Sharpened Image", sharpened_image)

cv2.imshow("Equalized Image", equalized_image)

cv2.waitKey(0)

cv2.destroyAllWindows()