Threshold Operations
[Image Processing]
Detailed Description
- Operations that converts a usually IM_GRAY/IM_BYTE image into a IM_BINARY image using several threshold techniques.
- See im_process_pon.h
Functions | |
int | imProcessRangeContrastThreshold (const imImage *src_image, imImage *dst_image, int kernel_size, int min_range) |
int | imProcessLocalMaxThreshold (const imImage *src_image, imImage *dst_image, int kernel_size, int min_level) |
void | imProcessThreshold (const imImage *src_image, imImage *dst_image, int level, int value) |
void | imProcessThresholdByDiff (const imImage *src_image1, const imImage *src_image2, imImage *dst_image) |
void | imProcessHysteresisThreshold (const imImage *src_image, imImage *dst_image, int low_thres, int high_thres) |
void | imProcessHysteresisThresEstimate (const imImage *image, int *low_level, int *high_level) |
int | imProcessUniformErrThreshold (const imImage *src_image, imImage *dst_image) |
void | imProcessDifusionErrThreshold (const imImage *src_image, imImage *dst_image, int level) |
int | imProcessPercentThreshold (const imImage *src_image, imImage *dst_image, float percent) |
int | imProcessOtsuThreshold (const imImage *src_image, imImage *dst_image) |
int | imProcessMinMaxThreshold (const imImage *src_image, imImage *dst_image) |
void | imProcessLocalMaxThresEstimate (const imImage *image, int *level) |
void | imProcessSliceThreshold (const imImage *src_image, imImage *dst_image, int start_level, int end_level) |
Function Documentation
|
Threshold using a rank convolution with a range contrast function. Reference: Bernsen, J: "Dynamic thresholding of grey-level images" Proc. of the 8th ICPR, Paris, Oct 1986, 1251-1255. Author: Oivind Due Trier
im.ProcessRangeContrastThreshold(src_image: imImage, dst_image: imImage, kernel_size: number, min_range: number) -> counter: boolean [in Lua 5] im.ProcessRangeContrastThresholdNew(image: imImage, kernel_size: number, min_range: number) -> counter: boolean, new_image: imImage [in Lua 5] |
|
Threshold using a rank convolution with a local max function.
im.ProcessLocalMaxThreshold(src_image: imImage, dst_image: imImage, kernel_size: number, min_level: number) -> counter: boolean [in Lua 5] im.ProcessLocalMaxThresholdNew(image: imImage, kernel_size: number, min_level: number) -> counter: boolean, new_image: imImage [in Lua 5] |
|
Apply a manual threshold.
im.ProcessThreshold(src_image: imImage, dst_image: imImage, level: number, value: number) [in Lua 5] im.ProcessThresholdNew(src_image: imImage, level: number, value: number) -> new_image: imImage [in Lua 5] |
|
Apply a threshold by the difference of two images.
im.ProcessThresholdByDiff(src_image1: imImage, src_image2: imImage, dst_image: imImage) [in Lua 5] im.ProcessThresholdByDiffNew(src_image1: imImage, src_image2: imImage) -> new_image: imImage [in Lua 5] |
|
Apply a threshold by the Hysteresis method.
im.ProcessHysteresisThreshold(src_image: imImage, dst_image: imImage, low_thres: number, high_thres: number) [in Lua 5] im.ProcessHysteresisThresholdNew(src_image: imImage, low_thres: number, high_thres: number) -> new_image: imImage [in Lua 5] |
|
Estimates hysteresis low and high threshold levels.
im.ProcessHysteresisThresEstimate(image: imImage) -> low_level: number, high_level: number [in Lua 5] |
|
Calculates the threshold level for manual threshold using an uniform error approach. Reference: S. M. Dunn & D. Harwood & L. S. Davis: "Local Estimation of the Uniform Error Threshold" IEEE Trans. on PAMI, Vol PAMI-6, No 6, Nov 1984. Comments: It only works well on images whith large objects. Author: Olav Borgli, BLAB, ifi, UiO Image processing lab, Department of Informatics, University of Oslo
im.ProcessUniformErrThreshold(src_image: imImage, dst_image: imImage) -> level: number [in Lua 5] im.ProcessUniformErrThresholdNew(src_image: imImage) -> level: number, new_image: imImage [in Lua 5] |
|
Apply a dithering on each image channel by using a difusion error method.
im.ProcessDifusionErrThreshold(src_image: imImage, dst_image: imImage, level: number) [in Lua 5] im.ProcessDifusionErrThresholdNew(src_image: imImage, level: number) -> new_image: imImage [in Lua 5] |
|
Calculates the threshold level for manual threshold using a percentage of pixels that should stay bellow the threshold.
im.ProcessPercentThreshold(src_image: imImage, dst_image: imImage, percent: number) -> level: number [in Lua 5] im.ProcessPercentThresholdNew(src_image: imImage, percent: number) -> level: number, new_image: imImage [in Lua 5] |
|
Calculates the threshold level for manual threshold using the Otsu approach.
im.ProcessOtsuThreshold(src_image: imImage, dst_image: imImage) -> level: number [in Lua 5] im.ProcessOtsuThresholdNew(src_image: imImage) -> level: number, new_image: imImage [in Lua 5] |
|
Calculates the threshold level for manual threshold using (max-min)/2.
im.ProcessMinMaxThreshold(src_image: imImage, dst_image: imImage) -> level: number [in Lua 5] im.ProcessMinMaxThresholdNew(src_image: imImage) -> level: number, new_image: imImage [in Lua 5] |
|
Estimates Local Max threshold level for IM_BYTE images.
im.ProcessLocalMaxThresEstimate(image: imImage) -> level: number [in Lua 5] |
|
Apply a manual threshold using an interval.
im.ProcessSliceThreshold(src_image: imImage, dst_image: imImage, start_level: number, end_level: number) [in Lua 5] im.ProcessSliceThresholdNew(src_image: imImage, start_level: number, end_level: number) -> new_image: imImage [in Lua 5] |