top of page

Image Filtering, Gaussian Kernels, and Object Counting

Role: NN engineer

Developed an end-to-end computer vision workflow in Python to explore spatial filtering, edge detection, and object segmentation techniques using OpenCV and NumPy. The project demonstrates practical understanding of image smoothing, Gaussian kernel construction, and contour detection for quantitative analysis.

Implemented custom 3×3 and 5×5 box filters to analyze blurring effects and quantify image smoothness differences.

Generated normalized Gaussian kernels (σ² = 1, 1.2, 1.6) with dynamic kernel sizes (3×3, 5×5, 9×9) to compare effects of variance and scale on image sharpness.

Applied Gaussian convolution to real images and evaluated visual fidelity versus computational complexity.

Implemented Sobel filtering and Canny edge detection with tunable hysteresis thresholds to visualize gradient intensity and noise sensitivity.

Applied bilateral filtering to preserve edges while smoothing noise in grayscale images.

Utilized morphological closing and contour detection to isolate and count rice grains from a complex image, automating segmentation through pixel topology analysis.

Demonstrated image feature extraction and filtering trade-offs between kernel size, σ values, and filter type.

Produced visual comparisons and analytical conclusions showing how larger or higher-sigma Gaussian filters improve smoothness at the cost of edge detail, and achieved accurate rice-grain counting through refined contour detection.

bottom of page