edge detection (Frei_chen, LoG, Prewitt, Roberts_cross, Scharr, Sobel)
Source:R/open_image_rscript.R
edge_detection.Rdedge detection (Frei_chen, LoG, Prewitt, Roberts_cross, Scharr, Sobel)
Usage
edge_detection(
image,
method = NULL,
conv_mode = "same",
approx = F,
gaussian_dims = 5,
sigma = 1,
range_gauss = 2,
laplacian_type = 1
)Arguments
- image
matrix or 3-dimensional array and the third dimension must be equal to 3
- method
the method should be one of 'Frei_chen', 'LoG' (Laplacian of Gaussian), 'Prewitt', 'Roberts_cross', 'Scharr', 'Sobel'
- conv_mode
the convolution mode should be one of 'same', 'full'
- approx
if TRUE, approximate calculation of gradient (applies to all filters except for 'LoG')
- gaussian_dims
integer specifying the horizontal and vertical dimensions of the gaussian filter
- sigma
float parameter sigma for the gaussian filter
- range_gauss
float number specifying the range of values for the gaussian filter
- laplacian_type
integer value specifying the type for the laplacian kernel (one of 1, 2, 3, 4)
Details
This function takes either a matrix or a 3-dimensional array (where the third dimension is equal to 3) and it performs edge detection using one of the following filters : 'Frei_chen', 'LoG' (Laplacian of Gaussian), 'Prewitt', 'Roberts_cross', 'Scharr', 'Sobel'
Examples
path = system.file("tmp_images", "1.png", package = "OpenImageR")
image = readImage(path)
res = edge_detection(image, method = 'Frei_chen', conv_mode = 'same')