The canny() function is an inbuilt function in the Python Wand ImageMagick library which is used to detect edges by leveraging a multi-stage Canny algorithm.
Syntax:
canny(radius, sigma, lower_percent, upper_percent)Parameters: This function accepts two parameters as mentioned above and defined below:
- radius: This parameter stores the radius of the gaussian filter.
- sigma: This parameter stores the standard deviation of the gaussian filter.
- lower_percent: This parameter which stores the normalized lower threshold.
- upper_percent: This parameter which stores the normalized upper threshold.
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 canny: # Invoke canny function canny.canny( 3 , 2 , 0.2 , 0.8 ) # Save the image canny.save(filename = 'canny1.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 canny function pic.canny( 4 , 2 , 0.3 , 0.7 ) # Save the image pic.save(filename = 'canny2.jpg' ) |
Output: