| 20 | #include "IPLCanny.h" |
| 21 | |
| 22 | void IPLCanny::init() |
| 23 | { |
| 24 | // init |
| 25 | _result = NULL; |
| 26 | _binaryImage = NULL; |
| 27 | _orientedImage = NULL; |
| 28 | |
| 29 | // basic settings |
| 30 | setClassName("IPLCanny"); |
| 31 | setTitle("Canny Edge Detector"); |
| 32 | setCategory(IPLProcess::CATEGORY_LOCALOPERATIONS); |
| 33 | setOpenCVSupport(IPLOpenCVSupport::OPENCV_ONLY); |
| 34 | setDescription("The Canny edge detector delivers the magnitude and the gradient of the edge " |
| 35 | "image. Thresholding has to be done by an appropriate operator. The σ value " |
| 36 | "is used for both, smoothing and derivation operation."); |
| 37 | |
| 38 | // inputs and outputs |
| 39 | addInput("Image", IPL_IMAGE_COLOR); |
| 40 | addOutput("Magnitude", IPL_IMAGE_GRAYSCALE); |
| 41 | addOutput("Edge", IPL_IMAGE_GRAYSCALE); |
| 42 | addOutput("Gradient", IPL_IMAGE_GRAYSCALE); |
| 43 | |
| 44 | // properties |
| 45 | addProcessPropertyInt("window", "Window", "", 3, IPL_WIDGET_SLIDER_ODD, 3, 7); |
| 46 | addProcessPropertyDouble("sigma", "Sigma", "", 1.5, IPL_WIDGET_SLIDER, 0.5, 10); |
| 47 | addProcessPropertyDouble("lowThreshold", "Low Threshold", "", 0.3, IPL_WIDGET_SLIDER, 0.0, 1.0); |
| 48 | addProcessPropertyDouble("highThreshold", "High Threshold", "Thresholds for the hysteresis procedure", 0.6, IPL_WIDGET_SLIDER, 0.0, 1.0); |
| 49 | } |
| 50 | |
| 51 | void IPLCanny::destroy() |
| 52 | { |
nothing calls this directly
no test coverage detected