Skip to main content

Posts

Showing posts from April, 2017

Red Eye Correction from an Image using OpenCV .

We’ve all experienced taking photographs in which everyone ends up with bright red devil eyes. So the question arises "Why ....? " Why Do Eyes Look Red in Photos? In dim light or at night,  pupil very often expands due to lack of light. As camera's flash goes on, pupil doesn't have time to react (contract). Therefore, a large burst of light reaches the retina, reflects back on camera  There’s a layer on the back of the eye called the choroid which is full of blood causing the reflection color to be red.   Many cameras now have a setting, it shoots a series of flashes before the camera takes a picture allowing time for the pupil to construct accordingly.  But the good thing is we can remove it using ImageProcessing Techniques discussed below. How to remove Red-Eyes Automatically? Step1: Eye detection We will use the standard OpenCV Haar detector (haarcascade_eye.xml) for eyes detection . To keep things simple, assume the image is a ...

Popular Posts

Transparent Image overlay(Alpha blending) with OpenCV and Python

(a)Final Blended Image                     (b) Background Image                             (c)Foreground Image                               Alpha blending Alpha blending is the process of overlaying a foreground image with transparency over a background Image. The transparent image is generally a PNG image.It consists of four channels (RGBA).The fourth channel is the alpha channel which holds the transparency magnitude. Image (b) is a background image and image (c) is the foreground / overlay image. Image (a) is the final blended image obtained by blending  the overalay image using the alpha mask.  Below is the image(Fig d) of the alpha channel of the overlay  image. (d).Alpha Channel At every pixel of the image, we blend the background...

Fast Pixel Processing with OpenCV and Python

In this post. I will explain how fast pixel manipulation of an image can be done in Python and OpenCV. Image processing is a CPU intensive task. It involves processing on large arrays. Hence when you are implementing your Image Processing algorithm, you algorithm needs to be highly efficient. The type of operation that can be applied on an Image can be classified into three categories.