Python Pillow - ImageChops.hard_light() Function



The Python image processing library Pillow (PIL) offers a variety of functions within its ImageChops module for performing arithmetical and logica operations on images. Additionally, the library includes functions specifically designed for blending modes, which are techniques for merging two images or layers to generate a distinctive result. One such blending mode is Hard Light.

The ImageChops.hard_light() function is used to superimpose two images on top of each other using the Hard Light algorithm.

Syntax

Following is the syntax of the function −

PIL.ImageChops.hard_light(image1, image2)

Parameters

Here are the details of this function parameters −

  • image1 − The first input image.

  • image2 − The second input image.

Return Value

The return type of this function is an Image.

Examples

Example 1

Here is an example demonstrating the working of the ImageChops.hard_light() function for superimposing the two images using the Hard Light algorithm.

from PIL import Image, ImageChops
import numpy as np

# Create two input images
array1 = np.array([(154, 64, 3), (255, 0, 0), (255, 255, 0), (255, 255, 255), (164, 0, 3)], dtype=np.uint8)
array2 = np.array([(200, 14, 3), (20, 222, 0), (255, 155, 0), (255, 55, 100), (180, 0, 78)], dtype=np.uint8)

image1 = Image.fromarray(array1)
image2 = Image.fromarray(array2)

# Display the pixel values of the two input images
print("Pixel values of image1 at (0, 0):", image1.getpixel((0, 0)))
print("Pixel values of image2 at (0, 0):", image2.getpixel((0, 0)))

# Superimpose the two images using the hard_light algorithm
result = ImageChops.hard_light(image1, image2)

# Display the pixel values of the resulting image at (0, 0)
print("Pixel values of the result at (0, 0) after hard_light:", result.getpixel((0, 0)))

Output

Pixel values of image1 at (0, 0): 154
Pixel values of image2 at (0, 0): 200
Pixel values of the result at (0, 0) after hard_light: 212

Example 2

Here is another example demonstrating the working of the ImageChops.hard_light() function for superimposing the two PNG images using the Hard Light algorithm.

from PIL import Image, ImageChops

# Open the two image files
image1 = Image.open("Images/pillow-logo-w.png")
image2 = Image.open("Images/ColorDots.png")

# Apply the Hard Light algorithm
result = ImageChops.hard_light(image1, image2)

# Display the input and resulting images
image1.show()
image2.show()
result.show()

Output

Input Image 1

pillow logo w

Input Image 2

color dots

Output Image

imagechops hard light

Example 3

Here is an example that demonstrates the use of Hard Light blend mode with two JPEG image files.

from PIL import Image, ImageChops

# Open the two image files
image1 = Image.open("Images/Tajmahal_2.jpg")
image2 = Image.open("Images/Flower1.jpg")

# Apply the Hard Light algorithm
result = ImageChops.hard_light(image1, image2)

# Display the input and resulting images
image1.show()
image2.show()
result.show()

Output

Input Image 1

tajmahal birds

Input Image 2

flower

Output Image

chops hard light
python_pillow_function_reference.htm
Advertisements