Open In App

Wand unsharp_mask() function – Python

Last Updated : 08 Jul, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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 ='../geeksforgeeks.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: 
 

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads