Wand statistic function – Python
The statistic() function is an inbuilt function in the Python Wand ImageMagick library which is used to replace each pixel with the statistic results from neighboring pixel values. The width & height defines the size, or aperture, of the neighboring pixels.
Syntax:
statistic(stat, width, height, channel)Parameters: This function accepts four parameters as mentioned above and defined below:
- stat: This parameter stores the type of statistic to calculate. Some of the available statistics are ‘undefined’, ‘gradient’, ‘maximum’, ‘mean’, ‘median’, ‘minimum’, ‘mode’, ‘nonpeak’, ‘root_mean_square’, ‘standard_deviation’.
- width: This parameter stores the size of neighboring pixels on the X-axis.
- height: This parameter stores the size of neighboring pixels on the Y-axis.
- channel: This parameter stores the available color channel.
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 = '../w3wiki.png' ) as image: # Clone the image in order to process with image.clone() as statistic: # Invoke statistic function with statistic as median, width as 20 # height as 10, channel as 'yellow' statistic.statistic( 'median' , 20 , 10 , 'yellow' ) # Save the image statistic.save(filename = 'statistic1.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 ), 'w3wiki !' ) # Draw the picture draw(pic) # Invoke statistic function with statistic as root_mean_square, width as 20 # height as 10, channel as 'green' pic.statistic( 'root_mean_square' , 20 , 10 , 'green' ) # Save the image pic.save(filename = 'statistic2.jpg' ) |
Output: