The posterize() function is an inbuilt function in the Python Wand ImageMagick library which is used to reduce color levels per channel.
Syntax:
posterize(level, dither)Parameters: This function accepts three parameters as mentioned above and defined below:
- level: This parameter stores the number of levels per channel.
- dither: This parameter stores the dither method to apply. Some of the available methods are ‘undefined’, ‘no’, ‘riemersma’, ‘floyd_steinberg’.
Return Value: This function returns the Wand ImageMagick object.
Original Image:
Example 1:
Python3
# Import library from Image from wand.image import Image
# Import the image with Image(filename = '../geeksforgeeks.png' ) as image:
# Clone the image in order to process
with image.clone() as posterize:
# Invoke posterize function
posterize.posterize( 2 , 'no' )
# Save the image
posterize.save(filename = 'posterize1.jpg' )
|
Output:
Example 2:
Python3
# Import libraries from the wand from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
with Drawing() as draw: # Set Stroke color the circle to black
draw.stroke_color = Color( 'black' )
# Set Width of the circle to 2
draw.stroke_width = 1
# Set the fill color to 'White (# FFFFFF)'
draw.fill_color = Color( 'white' )
# Invoke Circle function with center at 50, 50 and radius 25
draw.circle(( 200 , 200 ), # Center point
( 100 , 100 )) # Perimeter point
# Set the font style
draw.font = '../Helvetica.ttf'
# Set the font size
draw.font_size = 30
with Image(width = 400 , height = 400 , background = Color( '# 45ff33' )) as pic:
# Set the text and its location
draw.text( int (pic.width / 3 ), int (pic.height / 2 ), 'GeeksForGeeks !' )
# Draw the picture
draw(pic)
# Invoke posterize function method
pic.posterize( 3 , 'floyd_steinberg' )
# Save the image
pic.save(filename = 'posterize2.jpg' )
|
Output: