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
from wand.image import Image
with Image(filename = '../geeksforgeeks.png' ) as image:
with image.clone() as canny:
canny.canny( 3 , 2 , 0.2 , 0.8 )
canny.save(filename = 'canny1.jpg' )
|
Output:

Example 2:
Python3
from wand.image import Image
from wand.drawing import Drawing
from wand.color import Color
with Drawing() as draw:
draw.stroke_color = Color( 'black' )
draw.stroke_width = 1
draw.fill_color = Color( 'white' )
draw.circle(( 200 , 200 ),
( 100 , 100 ))
draw.font = '../Helvetica.ttf'
draw.font_size = 30
with Image(width = 400 , height = 400 , background = Color( '# 45ff33' )) as pic:
draw.text( int (pic.width / 3 ), int (pic.height / 2 ), 'GeeksForGeeks !' )
draw(pic)
pic.canny( 4 , 2 , 0.3 , 0.7 )
pic.save(filename = 'canny2.jpg' )
|
Output:
