Otsu 自動閾値は背景の強エッジに支配され小さな対象を落とす — 対象のコントラスト帯が既知なら上下でクランプする
画像処理
アルゴリズム
知識
判断
勾配画像やエッジ強度に Otsu の自動閾値をかけて対象(印刷文字など)を抽出する方式は、閾値が画面全体の分布で決まるため、背景に強いエッジ(木目の溝・強テクスチャ)があると閾値が押し上げられ、縮小後の小さな対象信号が丸ごと閾値以下になって消える。逆に平坦なシーンでは閾値が下がりすぎてノイズが通る。「自動だから安全」ではなく、両方向の失敗モードがある。
対処
- 対象のコントラスト帯が事前に既知(例: 印刷文字×紙面)なら、Otsu の結果を物理由来の下限・上限でクランプする。下限は平坦シーンのノイズ押さえ、上限は強エッジ背景での対象消失防止
- クランプ値は失敗クラス両側の実測(対象が消えた入力での対象側勾配値 / 背景ノイズの勾配値)で決める
- クランプ調整の前に処理解像度を確認する。縮小しすぎると対象の勾配自体が補間で消えており、閾値をどう動かしても救えない(実例: 長辺480pxでは名刺の小文字が消え、720pxで保持された)
検証方法
強エッジ背景×小さな対象の入力と、平坦背景のノイズのみの入力の両方を fixture に持ち、クランプ値変更時に両側が同時に成立することを確認する。