Hello,
In today’s post, we’ll discuss how to swap colors in an image using OpenCV and Python. Often, while writing OpenCV program, you’ll have a need to change the source color to a different color for maybe better understanding or computation. Here’s how you can easily achieve it.
There is a pre-requisite to have numpy installed. NumPy is awesome, because it allows you to manipulate tabular data, like tables and images, in a vectorized manner. In our example, we’ll use numpy so that we don’t have to write a for-loop to change all the pixels by iterating over them but instead, we can use a declarative selector which selects all black pixels in the image and then assign them a desired value which in our case is RED.
1 2 3 4 5 6 | import numpy as np import cv2 im = cv2.imread('your_input_image.png') im[np.where((im == [0,0,0]).all(axis = 2))] = [0,33,166] cv2.imwrite('your_output_image.png', im) |
Result: