このガイドでは、画像処理における閾値処理について解説します。閾値処理とは何か、大津の閾値処理を含むさまざまな画像閾値処理技術について学びます。

このガイドでは、画像処理における閾値処理について解説します。閾値処理とは何か、大津の閾値処理を含むさまざまな画像閾値処理技術について学びます。

人間として、画像を一貫性のある意味のある絵として認識しますが、コンピュータはそれらをデジタル画像の最小構成要素である小さなピクセルのグリッドとして認識します。画像処理と呼ばれるプロセスでは、これらのピクセルを調整または分析して、画像を改善し、有用な情報を抽出できます。
一般的な画像処理技術は、画像閾値処理と呼ばれます。この方法は、各ピクセルを設定値と比較することにより、グレースケール画像(各ピクセルがグレーの濃淡を表す)を白黒画像に変換します。重要な領域と背景を明確に分離します。
閾値処理は、画像セグメンテーションでよく使用されます。これは、画像を意味のある領域に分割して分析しやすくする手法です。通常、マシンが視覚データを解釈するのを支援する最初のステップの1つです。この記事では、閾値処理とは何か、その仕組み、および実際のシナリオでの適用場所について説明します。それでは始めましょう!
閾値処理の仕組みについて掘り下げる前に、まずその背後にある基本的な考え方と、画像処理でどのように使用されているかを詳しく見てみましょう。
例えば、画像を使っていて、その中のオブジェクトを背景から分離したいとします。これを行う1つの方法は、閾値処理を使用することです。これにより、すべてのピクセルが完全に黒または完全に白になるように画像が簡略化されます。結果はバイナリ画像になり、各ピクセルの値は0(黒)または255(白)になります。このステップは、画像の重要な部分を明確に目立たせるため、画像処理で役立つことがよくあります。

同様に、画像の明るさの値がどのように分布しているかを理解したい場合は、ヒストグラムが役立ちます。これは、黒(0)から白(255)まで、各ピクセルの輝度が現れる頻度を示すグラフです。
ヒストグラムを見ることで、画像が暗いか、明るいか、またはその中間にあるかを確認できます。これにより、画像を白黒に変換するときに適切な閾値を簡単に選択できます。一目でパターンとコントラストレベルを把握できるためです。
画像が閾値処理されると、前景と背景の2つの部分に分けられます。前景は通常白で表示され、detectしたいテキスト、図形、物体などの重要な要素を強調します。背景は黒で表示され、それ以外のものです。このように分けることで、機械は画像内の重要な要素に集中することができます。
前述のように、セグメンテーションは、明るさやテクスチャなどの特徴に基づいて、画像を意味のある領域に分割します。閾値処理はこれを行う簡単な方法であり、多くの場合、コンピュータビジョンパイプラインの最初のステップの1つです。
コンピュータビジョンは、人間が行うように、機械が視覚データを処理および解釈できるようにするAIの一分野です。コンピュータビジョンシステムは、プロセスの初期段階で閾値処理を使用することにより、オブジェクトを背景から分離し、検出や認識などの後続のステップが正確に機能するようにします。
閾値処理とは何かについて理解が深まったところで、画像を閾値処理する方法と、画像処理におけるさまざまな種類の閾値処理について順を追って説明します。
例えば、グローバル閾値処理は、二値画像を生成する最も簡単な方法の1つです。画像全体に単一の強度値を適用します。この閾値よりも明るいピクセルは白になり、暗いピクセルは黒になります。これにより、オブジェクトを背景から分離できます。
均一な照明と強いコントラストがある画像に最適です。ただし、照明が不均一な場所やコントラストの低い場所では、単一の閾値では詳細が見落とされたり、エッジがぼやけたりする可能性があります。
これに対処するために、大津の閾値処理などの手法が使用されます。手動で値を設定する代わりに、大津の閾値処理法では、画像のヒストグラムを分析し、ピクセルの強度を前景と背景に最適に分離する閾値を選択します。

グローバル閾値処理とは異なり、適応的またはローカル閾値処理では、画像の異なる部分に対して個別に閾値を計算します。これにより、影のあるスキャンされたドキュメントやテクスチャのある表面など、照明が均一でない画像に対してより効果的になります。
画像を小さな領域に分割し、各ブロックのローカル閾値を計算することで機能し、前景と背景のコントラストを維持するのに役立ちます。このアプローチは、テキスト認識、医用画像処理、および画像全体の照明が変化する表面検査などのタスクで広く使用されています。
画像処理における適応的閾値処理への一般的なアプローチには、適応的平均閾値処理と適応的ガウス閾値処理が含まれます。適応的平均閾値処理では、ローカル近傍の平均ピクセル強度を中心ピクセルの閾値として使用します。一方、適応的ガウス閾値処理では、ガウス窓による加重平均を使用し、中心に近いピクセルをより重視します。
次に、画像閾値処理が実際のアプリケーションでどのように使用されているかを探ります。
古い書籍や手書きの手紙は、保存したり、OCR(光学文字認識)を使用してデジタルテキストに変換したりするためにスキャンされることがよくあります。OCRとは、印刷された文字や手書きの文字を読み取る技術です。テキストを抽出する前に、通常、ドキュメントのクリーニングや前処理が必要になります。スキャンされた画像には、影、インクのかすれ、または不均一な照明が含まれていることが多く、文字認識が困難になる可能性があります。
明瞭度を向上させるために、閾値処理を使用してグレースケール画像をバイナリ形式に変換し、テキストを背景から分離しやすくします。文字などの暗い領域は黒になり、明るい背景は白に変わるため、OCRシステムがテキストを読みやすくなります。

同様に、医用画像処理では、X線画像内の骨や肺など、スキャン内の特定の構造を分離するために、閾値処理が一般的に使用されます。グレースケール画像をバイナリ形式に変換することで、関心領域を周囲の組織から分離し、さらなる分析のために画像を準備することが容易になります。より複雑なケースでは、マルチレベル閾値処理を適用して画像をいくつかの異なる領域に分割し、異なる種類の組織や構造を同時に識別できます。

画像処理における閾値処理を使用する主な利点を以下に示します。
画像閾値処理は多くのシナリオで役立ちますが、いくつかの制限もあります。考慮すべき閾値処理に関連する課題を以下に示します。
閾値処理は、制御された設定での単純なセグメンテーションタスクに適しています。ただし、複数のオブジェクトまたは背景ノイズがある複雑な画像を処理する場合、多くの場合苦労します。固定されたルールに依存しているため、閾値処理にはほとんどの実際のアプリケーションに必要な柔軟性がありません。
これらの限界を超えるために、現在では多くの最先端システムがコンピューター・ビジョンを使用している。閾値処理とは対照的に、ビジョンAIモデルは複雑なパターンや特徴をdetect するように訓練されているため、はるかに正確で適応性が高い。
例えば、次のようなコンピュータビジョンモデルがある。 Ultralytics YOLO11のようなコンピュータビジョンモデルは、リアルタイムで物体をdetect し、画像をsegment ことができる。そのため、自律走行車における交通信号の発見や、農業における作物の問題の特定といったタスクに最適です。
特に、YOLO11 、画像内の各オブジェクトを個別にセグメンテーションするインスタンスセグメンテーションなど、さまざまなコンピュータビジョンタスクをサポートしている。また、姿勢推定(物体の位置や姿勢を決定する)や物体追跡(ビデオフレームを移動する物体を追跡する)など、他のビジョンベースのタスクも実行できる。

閾値処理は単純なタスクや初期のアイデアのテストには適していますが、速度、精度、柔軟性を必要とするアプリケーションでは、通常、コンピュータビジョンの方が適しています。
閾値処理は、オブジェクトを背景から分離するために迅速かつ簡単に使用できるため、画像処理において重要なツールです。スキャンされたドキュメント、医療画像、および工場での製品の欠陥チェックに適しています。
しかし、画像や動画がより複雑になると、画像の閾値処理のような基本的な画像処理方法では苦戦を強いられることがある。そこで、高度なコンピューター・ビジョン・モデルの出番となる。YOLO11 ようなモデルは、より多くのタスクを理解し、実行することができ、一度に多くのオブジェクトを発見し、リアルタイムで動作するため、多くのユースケースで有用である。
AIについてもっと知りたいですか?コミュニティとGitHubリポジトリをご覧ください。ロボティクスにおけるAIや農業におけるコンピュータビジョンについては、ソリューションページをご覧ください。ライセンスオプションを確認して、今日からコンピュータビジョンを使った開発を始めましょう。