Whether you are seeking a head start for your career or looking for some real-life industrial grind, an internship is the best way to start with. My first ever intern experience was with Tact Labs. I worked as a data science intern for three months, during which I worked on Natural Language Processing, Computer Vision, and Image Processing. I was introduced to cutting-edge technologies in the field of Data Science and Computer Vision, which I personally think I would have never known so soon in my career if it was not for this internship.

Photo by Nathan Dumlao on Unsplash

Technologies I learned during the Internship:


Version control systems have taken over…

Photo by Jerin J on Unsplash

There are a handful of colour spaces to represent an image such as RGB, BGR, HSV, CMYK etc. But there is something they all have in common. They are the channels, which these colour spaces use, to collectively form an image. Let us look at some definitions of channels. Wikipedia says that,

Color digital images are made of pixels, and pixels are made of combinations of primary colors represented by a series of code. A channel in this context is the grayscale image of the same size as a color image, made of just one of these primary colors.


Have you ever thought of separating a single hue of colour from an image? This article walks you through the process of filtering specific colours from a regular RGB image using OpenCV python. So let’s get started.

Photo by Robert Katzki on Unsplash


Before starting to filter colours, it is good to have a basic understanding of what hue is. This is one of the definitions of hue from wikipedia

In color theory, hue is one of the main properties (called color appearance parameters) of a color, defined technically in the CIECAM02 model as “The degree to which a stimulus can be described as similar to…

Have you noticed lines drawn around mountain areas and areas with an elevation in topographical maps? These lines are known as topographical contours. They give you the elevation profile of a terrain. These lines are either drawn manually or computer-generated. In this article, we will see how to use OpenCV to draw contour lines on a simple image.

Background vector created by freepik — www.freepik.com

The findContours function:

OpenCV provides us with the “findContours” function which finds the contours in a binary image and stores it as a numpy array of coordinate points. The function definition is as follows.

offset]]]) ->contours, hierarchy

image- Source, an…

Have you ever wondered how blended images are created? What is actually happening under the hoods? Don’t worry, you are about to find it out in a minute. In this article, we will use OpenCV’s addWeighted method to demonstrate the blending of images.

Before watching some real action, let us see what the OpenCV documentation has to say about blending images:

The documentation says that image blending basically images addition, but different weights are given to images so that it gives a feeling of blending or transparency. Images are added as per the equation below:

By varying α from 0→1…

Thresholding is the process of converting a grayscale image to a binary image (an image that contains only black and white pixels). This process is explained in the steps below:

  • A threshold value is determined according to the requirements (Say 128).
  • The pixels of the grayscale image with values greater than the threshold (>128) are replaced with pixels of maximum pixel value(255).
  • The pixels of the grayscale image with values lesser than the threshold (<128) are replaced with pixels of minimum pixel value(0).

Keras is an open-source software library that provides a Python interface for Artificial Neural Networks. Keras acts as an interface for the TensorFlow library. This article explores the usage of ImageDataGenertor class of Keras to augment images.

What is Image Augmentation?

Image Augmentation is the process of expanding the image training data, by using transformations such as random rotations, shear transforms, shifts zooms and flips, on available image data.

Where do we use Image Augmentation?

We use image augmentation when we don’t have enough training data to train our model. In such situations, we can create new images out of the existing images, by applying transformations to them. Though these…

OpenCV is a library of programming functions mainly aimed at real-time computer vision. In this article, we are going to perform bitwise operations on images using OpenCV.

When do we require bitwise operations to be performed on images?

Bitwise operations are performed on an image when we need to extract only the required parts of the image. Consider a situation, in which we need to extract an irregular-shaped object from an image and paste it on another image. That’s exactly when we use bitwise operations on the image to separate the foreground from the background.

Let us begin with the basics…

And, Or and Not operations on images

OpenCV has inbuilt methods to perform and, or and not…

spaCy is an open-source software library for advanced natural language processing, written in the programming languages Python and Cython. It features NER, POS tagging, dependency parsing, word vectors, and more. This article will explore spaCy’s token matcher and phrase matcher.

The Token Matcher

spaCy features a rule-based matching engine, the Matcher, that operates over tokens, similar to regular expressions. The Matcher allows us to specify rules to match, which includes flags such as IS_PUNCT, IS_DIGIT, etc.

When we pass a sentence into a nlp pipeline in spacy, it returns a doc object which contains the same sentence but with attributes added to it…

Selenium is an open-source automated test framework for web applications. Selenium scripts can be written in any of these programming languages: Java, Python, C#, Perl, Ruby, .net and PHP. In this tutorial we are going to use Selenium Python to demonstrate basic automation functions of selenium.


This article gives you a brief idea on these topics:

  • Installation and setting up
  • Logging into a website using Selenium
  • An introduction to the ExpectedCondition class of selenium

Installation and Setting up:

Installing any package in python has always been a piece of cake, just pip install it.

pip install selenium

Hold on, only half of the job…


Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store