「lmrcImageBinarization(API)」の版間の差分

提供: Eospedia
移動: 案内検索
(ページの作成:「DataManip/mrcImage/src/'''lmrcImageBinarization'''はmrcImageBinalizationのためのAPI です。 == 定数 == == 構造体 == typedef struct lmrcImageBinarizatio...」)
 
行1: 行1:
DataManip/mrcImage/src/'''lmrcImageBinarization'''[[mrcImageBinalization]]のためのAPI です。
+
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);
extern void    lmrcImageBinarizationUsage(FILE* fpt);
+
 
 +
====特殊処理====
 +
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);