「lmrcImageBinarization(API)」の版間の差分
提供: Eospedia
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageBinarization'''はmrcImageBinalizationのためのAPI です。 == 定数 == == 構造体 == typedef struct lmrcImageBinarizatio...」) |
|||
行1: | 行1: | ||
− | DataManip/mrcImage/src/'''lmrcImageBinarization''' | + | DataManip/mrcImage/src/'''lmrcImageBinarization'''は2値化のためのAPI です。[[mrcImageBinalization]]で使用されています。 |
== 定数 == | == 定数 == | ||
== 構造体 == | == 構造体 == | ||
+ | lmrcImageBinarizationなどで使用する設定です。 | ||
typedef struct lmrcImageBinarizationInfo { | typedef struct lmrcImageBinarizationInfo { | ||
double thresHold; | double thresHold; | ||
行14: | 行15: | ||
== API == | == API == | ||
+ | ===2値化処理=== | ||
+ | ====メイン==== | ||
extern void lmrcImageBinarization(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode); | extern void lmrcImageBinarization(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode); | ||
+ | 1バイト上位ビット(&0xf0)が1以上にすると、通常の2値化処理の前に特殊処理行います。 | ||
+ | <table border="1"> | ||
+ | <tr> | ||
+ | <th>mode</th> | ||
+ | <th>使用関数</th> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>0x00</td> | ||
+ | <td>処理なし</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>0x10</td> | ||
+ | <td>lmrcImageDeterminationOfThresholdForBinarizationByKittlerMethod</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>0x20</td> | ||
+ | <td>lmrcImageDeterminationOfThresholdForBinarizationByOhtsuMethod</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>0x30</td> | ||
+ | <td>lmrcImageDeterminationOfThresholdForBinarizationByptileMethod</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>0x40</td> | ||
+ | <td>lmrcImageDeterminationOfThresholdForBinarizationByDifferentialHistogramMethod</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td>0x50</td> | ||
+ | <td>lmrcImageDeterminationOfThresholdForBinarizationByLaplacianHistogramMethod</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | <br> | ||
+ | |||
+ | ====通常処理==== | ||
extern void lmrcImageBinarization0(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode); | extern void lmrcImageBinarization0(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode); | ||
− | + | ||
+ | ====特殊処理==== | ||
+ | Kittler Method | ||
extern double lmrcImageDeterminationOfThresholdForBinarizationByKittlerMethod(mrcImage* mrc, int L, int mode); | extern double lmrcImageDeterminationOfThresholdForBinarizationByKittlerMethod(mrcImage* mrc, int L, int mode); | ||
+ | Ohtsu Method | ||
extern double lmrcImageDeterminationOfThresholdForBinarizationByOhtsuMethod(mrcImage* mrc, int L, int mode); | extern double lmrcImageDeterminationOfThresholdForBinarizationByOhtsuMethod(mrcImage* mrc, int L, int mode); | ||
+ | p-tile Method | ||
extern double lmrcImageDeterminationOfThresholdForBinarizationByptileMethod(mrcImage* mrc, int L, double p, int mode); | extern double lmrcImageDeterminationOfThresholdForBinarizationByptileMethod(mrcImage* mrc, int L, double p, int mode); | ||
+ | Differential-Histogram Method | ||
extern double lmrcImageDeterminationOfThresholdForBinarizationByDifferentialHistogramMethod(mrcImage* mrc, int L, int mode); | extern double lmrcImageDeterminationOfThresholdForBinarizationByDifferentialHistogramMethod(mrcImage* mrc, int L, int mode); | ||
+ | Laplacian-Histogram Method | ||
extern double lmrcImageDeterminationOfThresholdForBinarizationByLaplacianHistogramMethod(mrcImage* mrc, int L, int mode); | extern double lmrcImageDeterminationOfThresholdForBinarizationByLaplacianHistogramMethod(mrcImage* mrc, int L, int mode); | ||
+ | Ohtsu Methodによる閾値の計算 | ||
extern double determinationThresholdFromGraylevelHistogramByOhtsuMethod(int* tile, int L); | extern double determinationThresholdFromGraylevelHistogramByOhtsuMethod(int* tile, int L); | ||
+ | |||
+ | ===ヘルプ=== | ||
+ | extern void lmrcImageBinarizationUsage(FILE* fpt); |
2014年5月23日 (金) 06:32時点における版
DataManip/mrcImage/src/lmrcImageBinarizationは2値化のためのAPI です。mrcImageBinalizationで使用されています。
定数
構造体
lmrcImageBinarizationなどで使用する設定です。
typedef struct lmrcImageBinarizationInfo { double thresHold; double value; int flagNear; double near; /* pixel unit */ int nLevel; double p; }lmrcImageBinarizationInfo;
API
2値化処理
メイン
extern void lmrcImageBinarization(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode);
1バイト上位ビット(&0xf0)が1以上にすると、通常の2値化処理の前に特殊処理行います。
mode | 使用関数 |
---|---|
0x00 | 処理なし |
0x10 | lmrcImageDeterminationOfThresholdForBinarizationByKittlerMethod |
0x20 | lmrcImageDeterminationOfThresholdForBinarizationByOhtsuMethod |
0x30 | lmrcImageDeterminationOfThresholdForBinarizationByptileMethod |
0x40 | lmrcImageDeterminationOfThresholdForBinarizationByDifferentialHistogramMethod |
0x50 | lmrcImageDeterminationOfThresholdForBinarizationByLaplacianHistogramMethod |
通常処理
extern void lmrcImageBinarization0(mrcImage* out, mrcImage* in, lmrcImageBinarizationInfo linfo, int mode);
特殊処理
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);
Ohtsu Methodによる閾値の計算
extern double determinationThresholdFromGraylevelHistogramByOhtsuMethod(int* tile, int L);
ヘルプ
extern void lmrcImageBinarizationUsage(FILE* fpt);