To create a black image, we can use the np.zeros() method. It creates a numpy n-dimensional array of a given size, with all elements being 0. Since all elements are zero, it shows black image when we display it using cv2.imshow() or plt.imshow() function.
To create a white image, we can use the np.ones() method. It creates a numpy n-dimensional array of a given size, with all elements being 1. We multiply this array by 255 to create the white image. Now all elements are 255 so when we display it using cv2.imshow() or plt.imshow() function it will give white color image.
Note - When creating a numpy.ndarray using np.zeros() or np.ones(), we pass dtype = np.uint8 as argument.
You can create a black and white image by following the steps given below -
Import the required libraries. In all of the following Python examples, the required Python libraries are OpenCV, NumPy, and Matplotlib. Make sure you have them installed.
import cv2 import matplotlib.pyplot as plt import numpy as np
Create a numpy.ndarray using np.zeros() to create the black image. Pass >size and dtype as parameters to these methods. The data type here is np.uint8.
img = np.zeros((350, 500, 3), dtype = np.uint8)
Create a numpy.ndarray using np.ones() to create the white image. Pass size and dtype as parameters to these methods. The data type here is np.uint8. Now we multiply the array by 255.
img = np.ones((350, 500, 3), dtype = np.uint8) img = 255*img
Display black and white images.
cv2.imshow('black image', img)
Let’s look at different examples for clear understanding.
In this example, we create a 700x350 black image. Here the image width is 700 and height is 350.
# import required libraries import cv2 import numpy as np # create a black image img = np.zeros((350, 700, 3), dtype = np.uint8) # display the image using opencv cv2.imshow('black image', img) cv2.waitKey(0)
When you run the above Python program, it will produce the following output window.
In this example, we create a 700x350 white image. Please note that the width of the image here is 700 and the height is 350.
# import required libraries import cv2 import numpy as np # create a white image img = np.ones((350, 700, 3), dtype = np.uint8) img = 255* img # display the image using opencv cv2.imshow('white image', img) cv2.waitKey(0)
When you run the above Python program, it will produce the following output window.
The above is the detailed content of How to create a black image and a white image using OpenCV Python?. For more information, please follow other related articles on the PHP Chinese website!