SOD C/C++ API Reference - Image Processing


sod_img sod_canny_edge_image(sod_img input, int reduce_noise);


Perform canny edge detection on an input image. This works only on grayscale images. If you want to convert the colorspace of your input picture to the gray color model, call sod_grayscale_image(), sod_grayscale_image_3c() before or simply load your image from disk using the macro sod_img_load_grayscale(). A typical input image after processing should look like the following:

Input Picture

image before processing

After Processing via sod_canny_edge_image()

image after canny edge


sod_img    input

The input image to be processed which must be in the grayscale colorspace. The image can be loaded from disk using sod_img_load_from_file(), from memory (i.e. network socket) via sod_img_load_from_mem() or dynamically created via sod_make_image().

int    reduce_noise

If true (any value different from zero), then call sod_gaussian_noise_reduce() before canny edge.

Return Value

Processed image is returned in an instance of the sod_img object. if something goes wrong during processing, then an empty image is returned via sod_make_empty_image(). Once done, you must release the memory allocated to this object via sod_free_image() to avoid memory leaks.


Checkout the introduction course, the C/C++ samples on the download page or refer to the SOD Github Repository.

See also