The adaptive_threshold() function is an inbuilt function in the Python Wand ImageMagick library which is used to apply threshold for each pixel. It is present in class wand.image.
Syntax:
adaptive_threshold(width, height, offset)Parameters: This function accepts three parameters as mentioned above and defined below:
- width: This parameter is used to specify the value of width which is the size of neighboring pixels on the X-axis.
- height: This parameter is used to specify the value of height which is the size of neighboring pixels on the Y-axis.
- offset: This parameter is used to specify the value of offset which is normalized number between 0.0 and quantum_range.
It forces the pixels to black if values are below offset.NOTE: quantum_range: It is the maximum value of a color channel that is supported by the ImageMagick library.
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 = '../neveropen.png' ) as image: # Clone the image in order to process with image.clone() as adaptive_threshold: # Invoke adaptive_threshold function with width as 2, height as # 3 and offset as 2 adaptive_threshold.adaptive_threshold( 2 , 3 , 2 ) # Save the image adaptive_threshold.save(filename = 'adaptive_threshold1.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 adaptive_threshold function with width as 0, Height as 1 and offset as 0.3 pic.adaptive_threshold( 4 , 5 , 0.7 ) # Save the image pic.save(filename = 'adaptive_threshold2.jpg' ) |
Output: