Self Portrait
Michael O'Halloran

Python Computer Vision
Development of Python image processing algorithms using scikit-learn
microk8s logo

Brief

Computer vision has emerged as an important field in modern society. Machines can be programmed to interpret & visualise data via Python.

Powerful Python libraries for data processing like Pandas, NumPy & OpenCV are excellent choices for developing algorithms.

My knowledge of scikit-learn can be transferred to other Python computer vision libraries & technologies like OpenCV, TensorFlow, & PyTorch.

Algorithms

Edge detection algorithms aim to identify boundaries within images by searching the image as a 2x2 matrix, highlighting points where image intensity varies. Edge detection is crucial for object recognition. Sobel, Prewitt, & Canny edge detection algorithms are the best options for most image processing needs.

Image sharpening involves applying a convolution kernel to an image, in which intensity differences are emphasised, allowing for edges to be more pronounced. It is essential to understand the lower-tier computer vision concepts, since each algorithm often combines with another for a combined effect. I implemented a sharpening algorithm by way of Laplacian filter, utilising my maths knowledge.

Gaussian blurring is a powerful algorithm for noise reduction. Pixel values are smoothened by means of pixel intensity averaging.

Machine learning (ML) algorithms work by implementing training algorithms to perform image processing tasks like object recognition via edge detection. ML algorithms, particularly when integrated with techniques like edge detection, enable systems to autonomously recognize objects within images. Neural networks are commonly initialised for image processing tasks due to their ability to process key image features efficiently.

Contact You can contact me on the following:
Email: michaeljohalloran01@gmail.com
or by visiting my Github/LinkedIn.