The unsharp_mask() function is an inbuilt function in the Python Wand ImageMagick library which is used to sharpen an image. This function convolves the image with a Gaussian operator of the given radius and standard deviation.
Syntax:
unsharp_mask(radius, sigma, amount, threshold, channel)Parameters: This function accepts four parameters as mentioned above and defined below:
- Radius: This parameter stores the radius of the Gaussian blur effect.
- Sigma: This parameter stores the standard deviation of the Gaussian effect.
- Amount: This parameter stores the percentage of the difference between the original and the blur image that is added back into the original.
- Threshold: This parameter stores the threshold in pixels needed to apply the difference amount.
- Channel: This parameter is used to specify the value of image channel as undefined, ‘red’, ‘gray’, ‘cyan’, ‘green’, ‘magenta’, ‘blue’, ‘yellow’, ‘alpha’, ‘opacity’, ‘black’, ‘index’, ‘composite_channels’, ‘all_channels, ‘sync_channels’, ‘default_channels’.
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 unsharp_mask: # Invoke unsharp_mask function with radius as 12, sigma as 10, # amount as 0.5, threshold as 0.8 and channel as 'Green' unsharp_mask.unsharp_mask( 12 , 10 , 0.5 , 0.8 , 'Green' ) # Save the image unsharp_mask.save(filename = 'unsharp_mask1.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 unsharp_mask function with radius as 10, sigma as 5, # amount as 0.8, threshold as 0.5 and channel as 'Red' pic.unsharp_mask( 10 , 5 , 0.8 , 0.5 , 'Red' ) # Save the image pic.save(filename = 'unsharp_mask2.jpg' ) |
Output: