OpenCV 4.13.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 4.13.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
画像のしきい値処理

目標

  • このチュートリアルでは、単純なしきい値処理、適応的しきい値処理、大津のしきい値処理などを学ぶ。
  • 次の関数を学ぶ: cv.threshold, cv.adaptiveThreshold など。

単純なしきい値処理

ここでは話は単純である。ピクセル値がしきい値より大きければある値(白かもしれない)が割り当てられ、そうでなければ別の値(黒かもしれない)が割り当てられる。

関数 cv.threshold (src, dst, thresh, maxval, type) を使う

引数
src入力配列。
dstsrc と同じサイズ・型・同じチャンネル数の出力配列。
threshしきい値。
maxvalcv.THRESH_BINARY および cv.THRESH_BINARY_INV のしきい値処理タイプで使う最大値。
typeしきい値処理タイプ(cv.ThresholdTypes を参照)。

しきい値処理タイプ - OpenCVはさまざまなスタイルのしきい値処理を提供しており、関数の4番目の引数によって決まる。各タイプは次のとおり:

覚え書き
cv.THRESH_OTSU または cv.THRESH_TRIANGLE フラグの場合、入力画像はシングルチャンネルでなければならない

試してみる

適応的しきい値処理

前のセクションでは、しきい値としてグローバルな値を使った。しかし、画像の領域ごとに照明条件が異なる場合には、すべての条件で良い結果になるとは限らない。その場合は適応的しきい値処理を用いる。これは、アルゴリズムが画像の小さな領域ごとにしきい値を計算するものである。そのため、同じ画像でも領域ごとに異なるしきい値が得られ、照明が変化する画像に対してより良い結果が得られる。

関数 cv.adaptiveThreshold (src, dst, maxValue, adaptiveMethod, thresholdType, blockSize, C) を使う

引数
src入力の8ビットシングルチャンネル画像。
dstsrcと同じサイズ・同じ型の出力画像。
maxValue条件を満たすピクセルに割り当てられる非ゼロ値
adaptiveMethod使用する適応的しきい値処理アルゴリズム。
thresholdTypecv.THRESH_BINARY または cv.THRESH_BINARY_INV のいずれかでなければならないしきい値処理タイプ。
blockSizeピクセルのしきい値を計算するために使われるピクセル近傍のサイズ: 3, 5, 7 など。
C平均または加重平均から減算される定数(詳細は後述)。通常は正だが、ゼロや負でもよい。

adaptiveMethod - しきい値の計算方法を決める:

試してみる