二値化とは何かをわかりやすく解説。アルゴリズムの種類、Otsu法の仕組み、Python/OpenCVでの実装方法、PDF処理、解像度やノイズの影響まで網羅。オンラインで簡単に二値化できる方法も紹介。
二値化とは?
二値化(Binarization)とは、
画像を「黒」と「白」の2値だけに変換する画像処理技術です。
通常のカラー画像やグレースケール画像を、
しきい値(threshold)を基準に
- 明るい部分 → 白
- 暗い部分 → 黒
に分けます。
今すぐ試す方はこちら▼
画像を二値化できる無料サイト|白黒変換をブラウザで簡単に
二値化とグレースケールの違い
項目 | グレースケール | 二値化 |
|---|---|---|
階調 | 256段階 | 2段階 |
用途 | 解析前処理 | OCR・印刷・マスク生成 |
データ量 | 中 | 非常に軽い |
二値化は特に:
- OCR(文字認識)
- 書類スキャン
- 図面データ
- 印刷用データ
で重要になります。
二値化アルゴリズムの種類
二値化には、画像を「黒」と「白」に分けるための
いくつかの方法(アルゴリズム)があります。
難しそうに見えますが、やっていることはシンプルです。
「どこを白にして、どこを黒にするかを決めるルールの違い」です。
① 固定しきい値法(もっともシンプルな方法)
あらかじめ決めた明るさの基準(しきい値)で分けます。
例えば:
- 明るさが127より大きい → 白
- 127以下 → 黒
というように単純に分けます。
✔ メリット
- 計算が速い
- 実装が簡単
✖ デメリット
- 影や照明ムラに弱い
- 画像によってはうまく分離できない
② Otsu(大津)法 / 大津の二値化
Otsu法(大津の二値化)は、
画像のヒストグラム(明るさの分布)を分析して、
「最適なしきい値」を自動で決める方法です。
1979年に
大津展之
によって提案されました。
簡単に言うと:
「一番キレイに白黒が分かれるポイントを自動で探してくれる」
という方法です。
✔ メリット
- 手動調整が不要
- 書類スキャンなどで高精度
✖ デメリット
- 背景が複雑な画像には弱い場合がある
③ 適応的二値化(Adaptive Threshold)
画像全体を1つの基準で分けるのではなく、
小さなエリアごとに別々の基準で分ける方法です。
例えば:
- 左上は暗い → 基準を低く
- 右下は明るい → 基準を高く
というように自動調整します。
✔ メリット
- 照明ムラに強い
- スマホ撮影した書類に有効
✖ デメリット
- 計算コストがやや高い
二値化は解像度に影響される?
解像度が低すぎると:
- 文字が潰れる
- ノイズが増える
- 輪郭がギザギザになる
印刷用途では 300dpi以上 が推奨されます。
二値化時のノイズ除去方法
① GaussianBlur(ガウシアンブラー)
画像をなめらかにぼかす処理です。
周囲のピクセルを平均して、
細かいノイズやザラつきを目立たなくします。
✔ こんなときに使う
- 軽いノイズ除去
- Otsu法の前処理
- 書類スキャン画像
小さなゴミを減らしたいときに有効
② MedianBlur(メディアンブラー)
周囲のピクセルの「中央値」に置き換える処理です。
白黒のポツポツしたノイズ(塩胡椒ノイズ)に強いのが特徴。
✔ こんなときに使う
- スキャン画像の点ノイズ除去
- 古い紙の劣化対策
点状ノイズを消したいときに最適
③ モルフォロジー処理(収縮・膨張)
画像の“形”を調整する処理です。
膨張(Dilation)
白い部分を太くする
→ かすれた文字を強調
収縮(Erosion)
白い部分を細くする
→ 小さな白ノイズを削る
二値化後の微調整によく使われます。
まとめ
処理 | 役割 |
|---|---|
GaussianBlur | 全体をなめらかにする |
MedianBlur | 点ノイズを消す |
モルフォロジー | 文字の太さや形を調整 |
二値化をPython + OpenCVで行う方法
OpenCVは
OpenCV
という画像処理ライブラリです。
インストール方法:
pip install opencv-python基本コード:
import cv2
img = cv2.imread("input.jpg", 0)
_, thresh = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
cv2.imwrite("output.jpg", thresh)PDFを二値化する方法
PDFの場合は:
- 画像として抽出
- 二値化
- 再PDF化
という工程が必要になります。
プログラムで可能ですが、
やや手間がかかります。
もっと簡単な方法(オンラインで一括処理)
ここまで読んで、
- コードを書くのは面倒
- すぐに二値化したい
- PDFや複数画像をまとめて処理したい
という方も多いはずです。
ブラウザでできる二値化ツール
オンラインツールを使えば:
✔ インストール不要
✔ Python不要
✔ OpenCV不要
✔ 一括処理対応
アップロードするだけで
自動で最適なしきい値を適用できます。
PixBirdで二値化するメリット
- 一括変換対応
- ブラウザ完結
開発者でなくても、
数秒で高品質な二値化が可能です。
二値化はAIで進化している?
最近ではAIを使った
- セマンティックセグメンテーション
- 文字強調処理
- 自動コントラスト補正
も登場しています。
ただし、
日常用途ではOtsu法+前処理で十分なケースが多いです。
まとめ
二値化は:
- OCR前処理
- 印刷最適化
- 書類データ軽量化
- 画像マスク生成
に欠かせない重要技術です。
技術的に実装することも可能ですが、
オンラインツールを使えば数秒で完了します。
関連ツール
画像2値化ツール
画像を黒と白の2色に変換する二値化ツール。しきい値を調整して文字・図形をくっきり抽出できます。