画像処理入門 > その他 > Pタイル法

Pタイル法


Pタイル法
2値化の手法の一つ、Pタイル法(Percentile Method)のサンプルです。
画像の2値化したい領域が全画像の領域に占める割合を指定して2値化します。

ヒストグラムのプログラムも使用しています。

サンプルプログラム
プログラムはこちら void PercentileMethod(unsigned char *out, unsigned int *histData, unsigned char *in, int inHeight, int inWidth, int inChannel, double rate){ int i, j; int index; int allData = 0; int th; // ヒストグラムの合計 for(i = 0; i < KIDO_SIZE; ++i){ allData += histData[i]; } // rate分のヒストグラムの合計値 th = allData * rate; // rate分のヒストグラムの合計値を超えた輝度を閾値とする allData = 0; for(i = 0; i < KIDO_SIZE; ++i){ allData += histData[i]; if(allData > th){ th = i; break; } } for(i = 0; i < inHeight; ++i){ for(j = 0; j < inWidth; ++j){ index = i * inWidth + j; if(in[index] > th){ out[index] = 255; } else { out[index] = 0; } } } }