lmrcImageBinarization(API)
From EosPedia
DataManip/mrcImage/src/lmrcImageBinarization is API for Binalization.It is used by mrcImageBinalization.
Contents
constant
struct
Setting for lmrcImageBinarization
typedef struct lmrcImageBinarizationInfo { double thresHold; double value; int flagNear; double near; /* pixel unit */ int nLevel; double p; }lmrcImageBinarizationInfo;
API
Binalization
Main
extern void lmrcImageBinarization(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode);
If higher bit in 1 byte(&0xf0) is 1 or more, perform special process before usual binalization process.
mode | used function |
---|---|
0x00 | no process |
0x10 | lmrcImageDeterminationOfThresholdForBinarizationByKittlerMethod |
0x20 | lmrcImageDeterminationOfThresholdForBinarizationByOhtsuMethod |
0x30 | lmrcImageDeterminationOfThresholdForBinarizationByptileMethod |
0x40 | lmrcImageDeterminationOfThresholdForBinarizationByDifferentialHistogramMethod |
0x50 | lmrcImageDeterminationOfThresholdForBinarizationByLaplacianHistogramMethod |
Usual process
extern void lmrcImageBinarization0(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode);
Special process
Kittler Method
extern double lmrcImageDeterminationOfThresholdForBinarizationByKittlerMethod(mrcImage* mrc, int L, int mode);
Ohtsu Method
extern double lmrcImageDeterminationOfThresholdForBinarizationByOhtsuMethod(mrcImage* mrc, int L, int mode);
p-tile Method
extern double lmrcImageDeterminationOfThresholdForBinarizationByptileMethod(mrcImage* mrc, int L, double p, int mode);
Differential-Histogram Method
extern double lmrcImageDeterminationOfThresholdForBinarizationByDifferentialHistogramMethod(mrcImage* mrc, int L, int mode);
Laplacian-Histogram Method
extern double lmrcImageDeterminationOfThresholdForBinarizationByLaplacianHistogramMethod(mrcImage* mrc, int L, int mode);
Calculating threshold by Ohtsu Method
extern double determinationThresholdFromGraylevelHistogramByOhtsuMethod(int* tile, int L);
Help
extern void lmrcImageBinarizationUsage(FILE* fpt);