Loading and saving an image
OpenCV provides multiple ways of loading an image. Let's say we want to load a color image in grayscale mode, we can do that using the following piece of code:
import cv2 gray_img = cv2.imread('images/input.jpg', cv2.IMREAD_GRAYSCALE) cv2.imshow('Grayscale', gray_img) cv2.waitKey()
Here, we are using the ImreadFlag, as cv2.IMREAD_GRAYSCALE
, and loading the image in grayscale mode, although you may find more read modes in the official documentation.
You can see the image displayed in the new window. Here is the input image:
Following is the corresponding grayscale image:
We can save this image as a file as well:
cv2.imwrite('images/output.jpg', gray_img)
This will save the grayscale image as an output file named output.jpg
. Make sure you get comfortable with reading, displaying, and saving images in OpenCV, because we will be doing this quite a bit during the course of this book.
Changing image format
We can save this image as a file as well, and change the original image format to PNG:
import cv2 img = cv2.imread('images/input.jpg') cv2.imwrite('images/output.png', img, [cv2.IMWRITE_PNG_COMPRESSION])
The imwrite()
method will save the grayscale image as an output file named output.png
. This is done using PNG compression with the help of ImwriteFlag and cv2.IMWRITE_PNG_COMPRESSION
. The ImwriteFlag allows the output image to change the format, or even the image quality.