helper/canny library

Classes

Index2d
This class represents an immutable 2-Tuple for integers. It represents two dimentional indices for pixels in an image.

Functions

canny(Image image, {int blurRadius = 2, int? lowThreshold, int? highThreshold, void onGrayConvertion(Image image)?, void onBlur(Image image)?, void onSobel(Image image)?, void onNonMaxSuppressed(Image image)?, void onImageResult(Image image)?}) → Set<Set<Index2d>>
Detects edges on a given image using the canny edge detection algorithm. This function changes the input image and stores a visualized result of cannys edge detection algorithm in it after this function terminatates. If you dont want your image object to be changed, call image.clone() beforehand. Canny edge detection is a multi stage algotithm. After each stage, the resulting image can be viewed by utilizing onGrayConvertion, onBlur, onSobel, onNonMaxSuppressed and onImageResult function parameters. Do not change any pixels of the images of the intermediate steps, because they are needed for the following steps. If you want to use the images of the intermediate steps use image.clone()! This function returns a set of all found edges, where an edge is a set of edge-indicating pixels which are connected along the direction of the edge. lowThreshold and highThreshold parameters determine when a possible edge is defenetly supressed (if signal is lower than lowThreshold) and when an edge is defenetly preserved (if signal is higher than highThreshold). If at least one of the thresholds are given, the other one is set to its double or to its half. If no threshold is given, highThreshold is determined by otsus method which splits an image into two classes (foreground & background) and lowThreshold is set to half of highThreshold.