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

このガイドでは、画像処理における閾値処理について解説します。閾値処理とは何か、大津の閾値処理を含むさまざまな画像閾値処理技術について学びます。
人間として、画像を一貫性のある意味のある絵として認識しますが、コンピュータはそれらをデジタル画像の最小構成要素である小さなピクセルのグリッドとして認識します。画像処理と呼ばれるプロセスでは、これらのピクセルを調整または分析して、画像を改善し、有用な情報を抽出できます。
一般的な画像処理技術は、画像閾値処理と呼ばれます。この方法は、各ピクセルを設定値と比較することにより、グレースケール画像(各ピクセルがグレーの濃淡を表す)を白黒画像に変換します。重要な領域と背景を明確に分離します。
閾値処理は、画像セグメンテーションでよく使用されます。これは、画像を意味のある領域に分割して分析しやすくする手法です。通常、マシンが視覚データを解釈するのを支援する最初のステップの1つです。この記事では、閾値処理とは何か、その仕組み、および実際のシナリオでの適用場所について説明します。それでは始めましょう!
閾値処理の仕組みについて掘り下げる前に、まずその背後にある基本的な考え方と、画像処理でどのように使用されているかを詳しく見てみましょう。
例えば、画像を使っていて、その中のオブジェクトを背景から分離したいとします。これを行う1つの方法は、閾値処理を使用することです。これにより、すべてのピクセルが完全に黒または完全に白になるように画像が簡略化されます。結果はバイナリ画像になり、各ピクセルの値は0(黒)または255(白)になります。このステップは、画像の重要な部分を明確に目立たせるため、画像処理で役立つことがよくあります。
同様に、画像の明るさの値がどのように分布しているかを理解したい場合は、ヒストグラムが役立ちます。これは、黒(0)から白(255)まで、各ピクセルの輝度が現れる頻度を示すグラフです。
ヒストグラムを見ることで、画像が暗いか、明るいか、またはその中間にあるかを確認できます。これにより、画像を白黒に変換するときに適切な閾値を簡単に選択できます。一目でパターンとコントラストレベルを把握できるためです。
画像を二値化すると、前景と背景の2つの部分に分割されます。通常、白で表示される前景は、テキスト、図形、検出したいオブジェクトなど、重要な要素を強調します。黒で表示される背景は、それ以外のすべてのものです。この分離により、機械は画像の中で重要なものに焦点を当てることができます。
前述のように、セグメンテーションは、明るさやテクスチャなどの特徴に基づいて、画像を意味のある領域に分割します。閾値処理はこれを行う簡単な方法であり、多くの場合、コンピュータビジョンパイプラインの最初のステップの1つです。
コンピュータビジョンは、人間が行うように、機械が視覚データを処理および解釈できるようにするAIの一分野です。コンピュータビジョンシステムは、プロセスの初期段階で閾値処理を使用することにより、オブジェクトを背景から分離し、検出や認識などの後続のステップが正確に機能するようにします。
閾値処理とは何かについて理解が深まったところで、画像を閾値処理する方法と、画像処理におけるさまざまな種類の閾値処理について順を追って説明します。
例えば、グローバル閾値処理は、二値画像を生成する最も簡単な方法の1つです。画像全体に単一の強度値を適用します。この閾値よりも明るいピクセルは白になり、暗いピクセルは黒になります。これにより、オブジェクトを背景から分離できます。
均一な照明と強いコントラストがある画像に最適です。ただし、照明が不均一な場所やコントラストの低い場所では、単一の閾値では詳細が見落とされたり、エッジがぼやけたりする可能性があります。
これに対処するために、大津の閾値処理などの手法が使用されます。手動で値を設定する代わりに、大津の閾値処理法では、画像のヒストグラムを分析し、ピクセルの強度を前景と背景に最適に分離する閾値を選択します。
グローバル閾値処理とは異なり、適応的またはローカル閾値処理では、画像の異なる部分に対して個別に閾値を計算します。これにより、影のあるスキャンされたドキュメントやテクスチャのある表面など、照明が均一でない画像に対してより効果的になります。
画像を小さな領域に分割し、各ブロックのローカル閾値を計算することで機能し、前景と背景のコントラストを維持するのに役立ちます。このアプローチは、テキスト認識、医用画像処理、および画像全体の照明が変化する表面検査などのタスクで広く使用されています。
画像処理における適応的閾値処理への一般的なアプローチには、適応的平均閾値処理と適応的ガウス閾値処理が含まれます。適応的平均閾値処理では、ローカル近傍の平均ピクセル強度を中心ピクセルの閾値として使用します。一方、適応的ガウス閾値処理では、ガウス窓による加重平均を使用し、中心に近いピクセルをより重視します。
次に、画像閾値処理が実際のアプリケーションでどのように使用されているかを探ります。
古い書籍や手書きの手紙は、保存したり、OCR(光学文字認識)を使用してデジタルテキストに変換したりするためにスキャンされることがよくあります。OCRとは、印刷された文字や手書きの文字を読み取る技術です。テキストを抽出する前に、通常、ドキュメントのクリーニングや前処理が必要になります。スキャンされた画像には、影、インクのかすれ、または不均一な照明が含まれていることが多く、文字認識が困難になる可能性があります。
明瞭度を向上させるために、閾値処理を使用してグレースケール画像をバイナリ形式に変換し、テキストを背景から分離しやすくします。文字などの暗い領域は黒になり、明るい背景は白に変わるため、OCRシステムがテキストを読みやすくなります。
同様に、医用画像処理では、X線画像内の骨や肺など、スキャン内の特定の構造を分離するために、閾値処理が一般的に使用されます。グレースケール画像をバイナリ形式に変換することで、関心領域を周囲の組織から分離し、さらなる分析のために画像を準備することが容易になります。より複雑なケースでは、マルチレベル閾値処理を適用して画像をいくつかの異なる領域に分割し、異なる種類の組織や構造を同時に識別できます。
画像処理における閾値処理を使用する主な利点を以下に示します。
画像閾値処理は多くのシナリオで役立ちますが、いくつかの制限もあります。考慮すべき閾値処理に関連する課題を以下に示します。
閾値処理は、制御された設定での単純なセグメンテーションタスクに適しています。ただし、複数のオブジェクトまたは背景ノイズがある複雑な画像を処理する場合、多くの場合苦労します。固定されたルールに依存しているため、閾値処理にはほとんどの実際のアプリケーションに必要な柔軟性がありません。
これらの制限を超えるために、多くの最先端システムでは現在、コンピュータビジョンを使用しています。閾値処理とは対照的に、Vision AIモデルは複雑なパターンと特徴を検出するようにトレーニングされており、はるかに正確で適応性があります。
例えば、Ultralytics YOLO11のようなコンピュータビジョンモデルは、オブジェクトを検出し、画像をリアルタイムでセグメント化できます。これにより、自動運転車での交通信号の特定や、農業での作物の問題の特定などのタスクに最適です。
特に、YOLO11は、画像内の各オブジェクトを個別にセグメント化するインスタンスセグメンテーションなど、さまざまなコンピュータビジョンタスクをサポートしています。また、姿勢推定(オブジェクトの位置や姿勢を特定)や、オブジェクト追跡(ビデオフレーム内で移動するオブジェクトを追跡)など、他のビジョンベースのタスクも実行できます。
閾値処理は単純なタスクや初期のアイデアのテストには適していますが、速度、精度、柔軟性を必要とするアプリケーションでは、通常、コンピュータビジョンの方が適しています。
閾値処理は、オブジェクトを背景から分離するために迅速かつ簡単に使用できるため、画像処理において重要なツールです。スキャンされたドキュメント、医療画像、および工場での製品の欠陥チェックに適しています。
しかし、画像や動画が複雑になるにつれて、画像の閾値処理のような基本的な画像処理手法では対応が難しくなることがあります。そこで、高度なコンピュータビジョンモデルの出番です。YOLO11のようなモデルは、より多くのタスクを理解して実行し、一度に多くのオブジェクトを検出し、リアルタイムで動作するため、多くのユースケースで役立ちます。
AIについてもっと知りたいですか?コミュニティとGitHubリポジトリをご覧ください。ロボティクスにおけるAIや農業におけるコンピュータビジョンについては、ソリューションページをご覧ください。ライセンスオプションを確認して、今日からコンピュータビジョンを使った開発を始めましょう。