-
Notifications
You must be signed in to change notification settings - Fork 31
op threshold
The FireSight wrapper for OpenCV threshold compares each pixel to a threshold value and replaces the pixel with a value determined by the threshold type.
-
type Default value is
THRESH_BINARY
. -
thresh Threshold value, normally between 0 and 255. Default is
OTSU
, which will add the THRESH_OTSU flag to type for automatic thresholding using Otsu's method. See Example 5. -
maxval For THRESH_BINARY and THRESH_BINARY_INV, the replacement value for the type. Default is
255
, which is ideal for creating image masks for 8-bit images. -
gray Default is
true
, which converts image to grayscale. Iffalse
, each channel will be thresholded, unless Otsu's method is chosen, in which the image is autoatically converted to grayscale. (FireSight only)
FireSight only:
-
gray Default value is
true
, which converts input image to grayscale before threshold
{}
Example 1: threshold Pointilism pipeline
firesight -i img/absdiff.png -p json/threshold.json -o target/threshold1-color.png -Dthresh=1 -Dgray=false
Pixel:0.5ms
The input image appears bland and simple →
However, setting a threshold of 1 reveals subtle detail →
Example 2: threshold 64 color pipeline
firesight -i img/absdiff.png -p json/threshold.json -o target/threshold64-color.png -Dthresh=64 -Dgray=false
Pixel:0.5ms
Increasing the threshold to 64 reduces the detail, but accentuates colors →
Example 3: threshold 64 grayscale pipeline
firesight -i img/absdiff.png -p json/threshold.json -o target/threshold64.png -Dthresh=64
Pixel:0.2ms
Converting to grayscale gives the expected mask →
Example 4: threshold type THRESH_BINARY_INV pipeline
firesight -i img/absdiff.png -p json/threshold.json -o target/threshold64-inv.png -Dthresh=64 -Dtype=THRESH_BINARY_INV
Pixel:0.2ms
Changing the threshold type to THRESH_BINARY_INV produces the following →
Example 5: Otsu's Method pipeline
firesight -i img/part1-0.png -p json/threshold.json -o target/threshold-otsu.png -Dthresh=OTSU
Pixel:0.7ms
Otsu's method provides automatic thresholding. As with the preceding examples, the original image is generated via absdiff and has many non-zero background pixel differences:
Using Otsu's method, we can easily calculate a foreground/background threshold. Otsu's method does take more time (compare Example 4), but may be worth the convenience.