This project applies a convolution operation to a grayscale image using a custom kernel. The program demonstrates the core concepts of kernel convolution, which is commonly used in computer vision and convolutional neural networks (CNNs) for image filtering and feature extraction.
├── images/                 # Directory for input images
│   ├── dog_picture.jpg     # Example image used for convolution
├── lernel_convolution.py   # Python script implementing the convolution operation
├── README.md               # Project documentation
└── requirements.txt        # Python dependencies
- Convolution Operation: Applies a 5x5 Gaussian blur filter using a custom kernel.
 - Image Padding: Pads the original image with zeros to handle edge pixels during convolution.
 - Pixel Processing: Each pixel in the image is processed using the convolution operation, and a new filtered image is generated.
 - Output: The filtered image is displayed after applying the convolution.
 
- Python 3.8+
 - Pillow (PIL)
 
You can install the dependencies by running:
pip install -r requirements.txt- Place your input image in the 
images/directory. - Modify the 
kernel_convolution.pyscript to load your image file. - Run the script to apply the convolution:
The script reads the input image, converts it to grayscale, applies a 5x5 Gaussian blur kernel, and displays the resulting filtered image.
python kernel_convolution.py
 
This project was used to understand:
- How convolution works in image processing.
 - The role of kernels in feature extraction and image filtering.
 - The fundamental concepts behind convolutional neural networks (CNNs).
 
- Experiment with different kernels for edge detection, sharpening, and other image transformations.
 - Extend the project to process images in batches or integrate it into a more complex CNN pipeline.