image_otsu: Image segmentation using Otsu

Description Usage Arguments Value Examples

View source: R/pkg.R

Description

An implementation of the Otsu's image segmentation algorithm explained at https://doi.org/10.5201/ipol.2016.158.

Usage

1
image_otsu(x, threshold = 0)

Arguments

x

an object of class magick-image or a greyscale matrix of image pixel values in the 0-255 range

threshold

integer value in range of 0-255. To override the threshold. Defaults to 0 indicating not to override the threshold.

Value

In case x is a matrix, a list with elements x (containing the thresholded image) and threshold is returned
In case x is a magick-image, the thresholded magick-image is returned alongside which also now has an attribute called threshold with the exact Otsu threshold value

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
library(magick)
path <- system.file(package="image.Otsu", "extdata", "coins.jpeg")
x    <- image_read(path)
x
img  <- image_otsu(x)
img
attr(img, "threshold")
img  <- image_otsu(x, threshold = 180)
img

img  <- image_data(x, channels = "gray")
img  <- as.integer(img, transpose = TRUE)
img  <- img[, , 1]
img  <- image_otsu(img)
str(img)

image.Otsu documentation built on July 27, 2020, 5:07 p.m.