Reading about Python? Actually practice it. Try PyChallenge free

Python Tutorial

Image data and operations

OpenCV (cv2) can be used to extract data from images and do operations on them. We demonstrate some examples of that below:

Related courses:

Image properties We can extract the width, height and color depth using the code below:

import cv2
import numpy as np

# read image into matrix. m = cv2.imread("python.png")

# get image properties. h,w,bpp = np.shape(m)

# print image properties. print "width: " + str(w) print "height: " + str(h) print "bpp: " + str(bpp)

Access pixel data We can access the pixel data of an image directly using the matrix, example:

import cv2
import numpy as np

# read image into matrix. m = cv2.imread("python.png")

# get image properties. h,w,bpp = np.shape(m)

# print pixel value y = 1 x = 1 print m[y][x]

To iterate over all pixels in the image you can use:

import cv2
import numpy as np

# read image into matrix. m = cv2.imread("python.png")

# get image properties. h,w,bpp = np.shape(m)

# iterate over the entire image. for py in range(0,h): for px in range(0,w): print m[py][px]

Image manipulation You can modify the pixels and pixel channels (r,g,b) directly. In the example below we remove one color channel:

import cv2
import numpy as np

# read image into matrix. m = cv2.imread("python.png")

# get image properties. h,w,bpp = np.shape(m)

# iterate over the entire image. for py in range(0,h): for px in range(0,w): m[py][px][0] = 0

# display image cv2.imshow('matrix', m) cv2.waitKey(0)

To change the entire image, you'll have to change all channels:   m[py][px][0], m[py][px][1], m[py][px][2].

Save image You can save a modified image to the disk using:

cv2.imwrite('filename.png',m)
BackNext
Practice
Stop reading. Start writing Python.
PyChallenge gives you interactive exercises in your browser — no install needed.
Practice Python with interactive exercises