Python Pillow - ImageChops.constant() Function
The PIL.ImageChops.constant function is used to fill a channel of an image with a given grey level. This grey level value should be within the valid range for pixel values (e.g., 0 to 255 for an 8-bit image).
Syntax
Following is the syntax of the function −
PIL.ImageChops.constant(image, value)
Parameters
Here's a brief explanation of the parameters −
image − The input image.
value − Integer value that represents the grey level value to fill the channel.
Return Value
The return type of this function is an Image.
Examples
Example 1
Here's an example that demonstrates the pixel values before and after using ImageChops.constant() function.
from PIL import Image, ImageChops
import numpy as np
# Create a simple RGB image with some variation in pixel values
original_image = Image.fromarray(np.array([(35, 64, 3), (255, 0, 0), (255, 255, 0), (255, 255, 255), (164, 0, 3)]), mode="RGB")
print("Original Pixel values at (0, 0):", original_image.getpixel((0, 0)))
# Fill the red channel with a constant grey level value of 128
result = ImageChops.constant(original_image, value=100)
print("Pixel values of the result at (0, 0) after constant:", result.getpixel((0, 0)))
Output
Original Pixel values at (0, 0): (35, 0, 0) Pixel values of the result at (0, 0) after constant: 100
Example 2
In this example, the ImageChops.constant() function is used to fill the original image of PNG type with a constant grey level value of 128.
from PIL import Image, ImageChops
# Open an image file
original_image = Image.open('Images/pillow-logo-w.png')
# Fill the red channel with a constant grey level value of 128
result = ImageChops.constant(original_image, value=128)
# Display the input and resulting images
original_image.show()
result.show()
Output
Input Image
Output Image
Example 3
The following example demonstrates how to modify the image pixel values by filling it with a constant grey level value of 100.
from PIL import Image, ImageChops
# Open an image file
original_image = Image.open('Images/butterfly.jpg')
print("Original Pixel values at (0, 0):", original_image.getpixel((0, 0)))
# Fill the red channel with a constant grey level value of 128
result = ImageChops.constant(original_image, value=100)
print("Pixel values of the result at (0, 0) after constant:", result.getpixel((0, 0)))
# Display the input and resulting images
original_image.show()
result.show()
Output
Input Image 1
Output Image