Otsu Auto Threshold

Creates a binary image from a gray image based on the threshold values.

plantcv.threshold.otsu(gray_img, max_value, object_type="light")

returns thresholded/binary image

Grayscale image (green-magenta channel)

Screenshot

from plantcv import plantcv as pcv

# Set global debug behavior to None (default), "print" (to file), or "plot" (Jupyter Notebooks or X11)
pcv.params.debug = "print"

# Create binary image from a gray image based on threshold values. Targeting light objects in the image.
threshold_light = pcv.threshold.otsu(gray_img, 255, 'dark')

Thresholded image

Screenshot

Grayscale image (blue-yellow channel)

Screenshot

from plantcv import plantcv as pcv

# Set global debug behavior to None (default), "print" (to file), or "plot" (Jupyter Notebooks or X11)
pcv.params.debug = "print"

# Create binary image from a gray image based on threshold values. Targeting dark objects in the image.
threshold_dark = pcv.threshold.otsu(gray_img, 255, 'light')

Thresholded image (inverse)

Screenshot