AppDividend
Latest Code Tutorials

Python cv2: How to Filter Image Pixels using OpenCV

0

To filter image pixels means you can convert the image from color to grayscale or add an extra layer to the image. To convert a color image to a grayscale image, use cv2.cvtColor() method. We can then write the image to the disk using the cv2.imwrite() function.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)

gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

Python cv2.imread() function reads the image and 1 indicates reads in full color and then convert that image to gray scale using cv2.cvtColor() method.

Python cv2: How to add a new channel in the image

To add a new channel in of transparency, first, divide the original image into three channels and then use the cv2.merge() function and pass the fourth channel as the fourth parameter.

# app.py

import numpy as np
import cv2

img = cv2.imread('data.png', 1)

b = img[:, :, 0]
g = img[:, :, 1]
r = img[:, :, 2]

rgba = cv2.merge((b, g, r, g))
cv2.imwrite('rgba.png', rgba)

In this code, if you look carefully to merge() method, I have passed four arguments: b, g, r, g.

The fourth g is the fourth layer of the image. By adding the fourth layer, we have filtered the image. The original image is the following.

 

How to Filter Image Pixels using OpenCV

After adding a fourth layer, the image looks like the following.

Output

 

Filter Image Pixels in cv2

In this rgba.png image, the gray part of the image is a transparent part of the image. The jpg type of image does not support the layer; the png type supports the layered image. So, if you are reading a jpg image and add an extra layer to that image, then write that image in a png file. 

If you are reading png image already, then you will write in png, but for jpg, you have to consider converting it into png.

To view this image, you can’t use an inbuilt Python interpreter because it also does not support layered images. So you have to use external software to view this image. For example, if you are using Mac, then you can use preview inbuilt software to view this image.

That is it for filtering the image in Python using OpenCV.

Leave A Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.