Locked learning resources

Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Locked learning resources

This lesson is for members only. Join us and get access to thousands of tutorials and a community of expert Pythonistas.

Unlock This Lesson

Creating Images With NumPy

00:00 Using NumPy to Create Images. Having seen how to manipulate images using NumPy and Pillow, you can go further and create them from scratch. You can start by creating a grayscale image.

00:12 On-screen, you’ll see how to create a simple image containing a square, but you can create more elaborate images in the same way.

00:25 You create a 600x600 array containing zeros everywhere, and then you set the value of a set of pixels at the center of the array to 255. You can index NumPy arrays using both rows and columns.

00:45 In this example, the first slice of 200:400 represents the rows 200 to 399. The second slice represents the columns 200 to 399.

00:59 Once again, you use Image.fromarray() to convert the NumPy array into an object of type Image. Finally, you show the output on-screen.

01:11 You’ve created a grayscale image containing a square. The mode of the image is inferred automatically when you use Image.fromarray(). In this case, mode "F" is used, which corresponds to an image with 32-bit floating-point pixels.

01:27 It’s easy to convert this into a simpler grayscale image with 8-bit pixels.

01:37 You can go further and create a color image. The process is repeated to create three images: one corresponding to the red, one to the green, and a final one corresponding to the blue channel.

01:53 Once more, you create a square in each, but in different locations.

02:07 You create an Image object from each NumPy array and convert them to grayscale images using mode "L".

02:31 Now, you can combine these three separate images into one RGB image using Image.merge(). The first argument in Image.merge() is the mode of the image output.

02:44 The second argument is a sequence with the individual single-band images. Finally, you show the image on-screen. You combine the separate bands into an RGB color image.

03:01 In the next section of the course, you’ll go a step further and create an animation using NumPy and Pillow.

Become a Member to join the conversation.