(57)【要約】【課題】二値画像の画質を向上させること。【解決手段】多値画像を取得する取得部と、前記多値画像を二値化した二値画像を生成する二値部と、を備える画像処理装置であって、前記二値部は、前記多値画像中の閉領域を検出し、前記閉領域の内部の輝度と前記閉領域の周囲の輝度とに基づいて前記閉領域の内部を二値化する、画像処理装置を構成する。【選択図】図１
2019054362.tif 000002
【特許請求の範囲】
【請求項１】
多値画像を取得する取得部と、
前記多値画像を二値化した二値画像を生成する二値部と、
を備える画像処理装置であって、
前記二値部は、前記多値画像中の閉領域を検出し、前記閉領域の内部の輝度と前記閉領域の周囲の輝度とに基づいて前記閉領域の内部を二値化する、
画像処理装置。
【請求項２】
前記二値部は、
前記閉領域の内部の主要部の輝度が前記閉領域の周囲の輝度よりも暗い場合には前記閉領域の主要部を黒にする二値化を行い、
前記閉領域の内部の主要部の輝度が前記閉領域の周囲の輝度よりも明るい場合には前記閉領域の主要部を白にする二値化を行う、
請求項１に記載の画像処理装置。
【請求項３】
前記二値部は、
前記閉領域の形状の特徴に基づいて前記閉領域の内部を二値化する、
請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記二値部は、
前記閉領域が基準サイズより小さいまたは基準形状より細い場合、前記閉領域の内部の輝度と前記閉領域の周囲の輝度とに基づいて前記閉領域の内部を二値化し、
前記閉領域が前記基準サイズより大きいかつ基準形状より太い場合、前記閉領域の周囲の輝度を参照せずに前記閉領域の内部の輝度に基づいて前記閉領域の内部を二値化する、
請求項３に記載の画像処理装置。
【請求項５】
前記二値部は、
前記閉領域に外接する矩形の１辺の長さが第１基準未満であり、かつ、前記矩形の他の１辺の長さが第２基準未満である場合に、前記閉領域が前記基準サイズより小さいと判定する、
請求項４に記載の画像処理装置。
【請求項６】
前記二値部は、
前記矩形の１辺の長さと前記矩形の他の１辺の長さとの比に基づいて、前記閉領域が前記基準形状より細いか否か判定する、
請求項５に記載の画像処理装置。
【請求項７】
前記二値部は、
前記閉領域の面積と前記矩形の面積との比に基づいて、前記閉領域が前記基準形状より細いか否か判定する、
請求項５または請求項６に記載の画像処理装置。
【請求項８】
前記二値部は、
注目画素と前記注目画素の周囲の画素とにおける輝度の分布範囲が基準値より大きい場合に前記注目画素をエッジと判定し、判定したエッジに基づいて前記閉領域を検出する、
請求項１〜請求項７に記載の画像処理装置。
【請求項９】
前記二値部は、
連続するエッジによって形成された領域と、エッジではない非エッジ画素が連続して形成された領域とを、前記閉領域として特定する、
請求項１〜請求項８のいずれかに記載の画像処理装置。
【請求項１０】
多値画像を取得し、
前記多値画像を二値化した二値画像を生産する、二値画像生産方法であって、
前記多値画像中の閉領域を検出し、前記閉領域の内部の輝度と前記閉領域の周囲の輝度とに基づいて前記閉領域の内部を二値化する、
二値画像生産方法。
【請求項１１】
コンピューターを、
多値画像を取得する取得部、
前記多値画像を二値化した二値画像を生成する二値部、
として機能させる画像処理プログラムであって、
前記二値部は、前記多値画像中の閉領域を検出し、前記閉領域の内部の輝度と前記閉領域の周囲の輝度とに基づいて前記閉領域の内部を二値化するように、
コンピューターを機能させる画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、二値画像生産方法および画像処理プログラム
に関する。
【背景技術】
【０００２】
従来、多値画像を二値画像に変換する技術が知られている。例えば、特許文献１においては、二値化対象の領域の輝度ヒストグラムに基づいて閾値を決定し、閾値より高輝度の画素を白、閾値より低輝度の画素を黒に二値化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２２５０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしこの方法では、多値画像に含まれる文字等のオブジェクトが背景と同化してしまうことがあった。
【課題を解決するための手段】
【０００５】
上記目的を達成するための画像処理装置は、多値画像を取得する取得部と、多値画像を二値化した二値画像を生成する二値部と、を備える画像処理装置であって、二値部は、多値画像中の閉領域を検出し、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて閉領域の内部を二値化する。この構成によれば、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて二値化処理を変化させることができる。従って、例えば、閉領域の内部の輝度と閉領域の周囲の輝度との差が大きい場合と、小さい場合とのそれぞれに応じた二値化処理を実行することができる。
【０００６】
さらに、二値部が、閉領域の内部の主要部の輝度が閉領域の周囲の輝度よりも暗い場合には閉領域の主要部を黒にする二値化を行い、閉領域の内部の主要部の輝度が閉領域の周囲の輝度よりも明るい場合には閉領域の主要部を白にする二値化を行う構成が採用されてもよい。この構成によれば、閉領域の内部の主要部をその周囲と同化させずに二値化することができる。
【０００７】
さらに、二値部が、閉領域の形状の特徴に基づいて閉領域の内部を二値化する構成であっても良い。この構成によれば、多値画像に含まれるオブジェクト（例えば、文字等）を周囲の領域と区別して二値化できる可能性を高めることができる。
【０００８】
さらに、二値部が、閉領域が基準サイズより小さいまたは基準形状より細い場合、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて閉領域の内部を二値化し、閉領域が基準サイズより大きいかつ基準形状より太い場合、閉領域の周囲の輝度を参照せずに閉領域の内部の輝度に基づいて閉領域の内部を二値化する、構成であっても良い。この構成によれば、文字などの特徴的なオブジェクトである可能性が高い閉領域をその周囲の輝度に基づいて二値化することが可能であり、オブジェクトである可能性が小さい閉領域は周囲の輝度を参照しない単純な手法で二値化することができる。
【０００９】
さらに、二値部が、閉領域に外接する矩形の１辺の長さが第１基準未満であり、かつ、矩形の他の１辺の長さが第２基準未満である場合に、閉領域が基準サイズより小さいと判定する、構成であっても良い。この構成によれば、二値化によって周囲の領域に同化すべきではない閉領域を容易に特定することができる。
【００１０】
さらに、二値部が、矩形の１辺の長さと矩形の他の１辺の長さとの比に基づいて、閉領域が基準形状より細いか否か判定する、構成であっても良い。この構成によれば、二値化によって周囲の領域に同化すべきではない閉領域を容易に特定することができる。
【００１１】
さらに、二値部が、閉領域の面積と矩形の面積との比に基づいて、閉領域が基準形状より細いか否か判定する、構成であっても良い。この構成によれば、二値化によって周囲の領域に同化すべきではない閉領域を容易に特定することができる。
【００１２】
さらに、二値部は、注目画素と前記注目画素の周囲の画素とにおける輝度の分布範囲が基準値より大きい場合に注目画素をエッジと判定し、判定したエッジに基づいて閉領域を検出する、構成であっても良い。この構成によれば、輝度変化の少ないオブジェクトを同一の閉領域として捉えることが可能になる。
【００１３】
さらに、二値部は、連続するエッジによって形成された領域と、エッジではない非エッジ画素が連続して形成された領域とを、閉領域として検出する、この構成によれば、容易に閉領域を特定することができる。
【図面の簡単な説明】
【００１４】
【図１】スキャナーのブロック図である。
【図２】二値化処理を示すフローチャートである。
【図３】領域ラベルを割り振るためのフィルタを示す図である。
【図４】領域ラベルを割り振るためのフィルタを示す図である。
【図５】画素のエッジ状態を示す図である。
【図６】領域ラベルの割り振りを説明する図である。
【図７】白抜きの文字Ａが含まれる多値画像を模式的に示す図である。
【図８】抽出された閉領域を示す図である。
【図９】抽出された閉領域を示す図である。
【図１０】抽出された閉領域を示す図である。
【図１１】抽出された閉領域を示す図である。
【図１２】抽出された閉領域を示す図である。
【図１３】閉領域の面積と閉領域に外接する矩形の面積との比を説明する図である。
【図１４】閉領域の面積と閉領域に外接する矩形の面積との比を説明する図である。
【図１５】閉領域が基準サイズより大きいかつ基準形状より太い場合における閉領域の輝度ヒストグラムの例を示す図である。
【図１６】文字の境界によって形成された閉領域の輝度ヒストグラムの例である。
【図１７】文字等のオブジェクトの一部を形成する明るい閉領域の輝度ヒストグラムの例である。
【発明を実施するための形態】
【００１５】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）スキャナーの構成：
（２）二値化処理：
（３）他の実施形態：
【００１６】
（１）スキャナーの構成：
図１は、本発明の実施形態にかかる画像処理装置として機能するスキャナー１の構成を示すブロック図である。スキャナー１は、コントローラー１０と、メモリー２０と、ＵＩ（User Interface）部３０と、通信部４０と、画像読取部５０とを備える。
【００１７】
ＵＩ部３０は、タッチパネル式のディスプレイやキー入力部を含む。ディスプレイは、表示パネルと、表示パネルに重ねられたタッチ検出パネルとを備える。ディスプレイは、コントローラー１０の制御に基づいて様々な情報を表示パネルに表示する。また、ディスプレイはタッチ検出パネルに対する人の指等による接触を検出し、接触座標をコントローラー１０に出力する。キー入力部は、電源ボタンやスタートボタン、キャンセルボタン、数字ボタン等のキーに対する操作を検出すると操作されたキーを示すキー操作情報をコントローラー１０に出力する。
【００１８】
通信部４０は、リムーバブルメモリーや、外部の機器と各種の通信プロトコルに従って通信するための通信インターフェース回路を含む。画像読取部５０は、原稿に発光し原稿からの反射光を受光して読み取りデータとする周知のカラーイメージセンサーや光源、機械部品等を備えている。本実施形態において、画像読取部５０は、複数の色チャネルの多階調データとして画像を読み取ることができる。従って、画像読取部５０から出力される画像は多値画像である。
【００１９】
メモリー２０には、画像読取部５０が読み取った多値画像を示す多値画像データ２０ａや、多値画像データ２０ａが示す多値画像を二値化した二値画像データ２０ｂを記録することができる。
【００２０】
コントローラー１０は、ＵＩ部３０から取得した上記の情報に基づいて利用者の操作内容を取得することができ、当該操作内容に対応する処理を実行することができる。コントローラー１０が実行可能な処理には種々の処理が含まれ、例えば、画像読取部５０における読み取りの指示や読み取った多値画像を二値化する指示、読み取った多値画像や二値化された二値画像をリムーバブルメモリーや外部の機器に送信する指示等が含まれる。むろん、スキャナー１は、スキャナー１に接続された外部の機器（例えば、他のコンピューターや携帯端末等）に制御されても良い。
【００２１】
コントローラー１０は、ＣＰＵ，ＲＡＭ等を備え、メモリー２０に記録された種々のプログラムを実行することによって、スキャナー１の各機能を実現する。コントローラー１０が実行する種々のプログラムには、画像読取部５０で読み取った多値画像を二値化する機能をコントローラー１０に実現させるための画像処理プログラム１１が含まれる。当該二値化を行う画像処理プログラム１１は、例えば、可読性が重要である文字の書かれた文書の原稿等を、少ないデータ量で読み取る等の目的で実行される。
【００２２】
当該機能を実現するため画像処理プログラム１１は、取得部１１ａと、二値部１１ｂと、を備えている。取得部１１ａは、多値画像を取得する機能をコントローラー１０に実行させるプログラムモジュールである。すなわち、コントローラー１０は、取得部１１ａの機能により、画像読取部５０を制御し、スキャナー１の原稿台に置かれた原稿（ＡＤＦで搬送される原稿であっても良い）を読み取って多値画像を取得する。取得された多値画像は多値画像データ２０ａとしてメモリー２０に記録される。
【００２３】
二値部１１ｂは、多値画像を二値化した二値画像を生成する機能をコントローラー１０に実行させるプログラムモジュールである。すなわち、コントローラー１０は、二値部１１ｂの機能により、メモリー２０から多値画像データ２０ａを取得し、多値画像データ２０ａの画素毎の階調を二値化した二値画像データ２０ｂを生成する。本実施形態においてコントローラー１０は、多値画像の輝度値が閾値以上である場合に１、閾値より小さい場合に０とすることによって多値画像を二値画像に変換する。
【００２４】
以上のように、二値化においては多値画像の階調が閾値を境にして１または０に変換されるため、閾値が不適切であると、文字等の判読されるべきオブジェクトが周囲の領域に同化してしまう場合がある。例えば、薄い（高輝度の）文字の周囲に明るい領域が存在する場合、閾値が文字の輝度より小さい値であると、文字と周囲の領域が同化してしまう。また、濃い（低輝度の）文字の周囲に暗い領域が存在する場合、閾値が文字の輝度より大きい値であると、文字と周囲の領域が同化してしまう。
【００２５】
そこで、本実施形態において二値部１１ｂは、多値画像の内容に応じて閾値を調整する機能をコントローラー１０に実行させる。具体的には、コントローラー１０は、多値画像中の閉領域を検出する。本実施形態において、閉領域は、多値画像において連続した領域として認識され得る領域であり、二値化において周囲の領域と区別されるべきオブジェクトである可能性がある領域である。本実施形態において、コントローラー１０は、多値画像中の各画素の特徴を特定し、共通の特徴を有する画素が連続して形成する領域を閉領域として特定する。
【００２６】
本実施形態において、多値画像中の各画素の特徴はエッジである。すなわち、本実施形態においてコントローラー１０は、エッジ画素が連続して形成する領域や、エッジではない非エッジ画素が連続して形成する領域がオブジェクトとして認識されるとみなす。コントローラー１０は、二値部１１ｂの機能により、多値画像中のエッジを検出し、エッジに基づいて閉領域を特定する。具体的にはコントローラー１０は、多値画像の各画素を注目画素として多値画像中をスキャンし、注目画素がエッジであるか否かを特定する。エッジであるか否かは種々の処理で判定されて良く、例えば、コントローラー１０が、注目画素と注目画素の周囲の画素とにおける輝度の分布範囲（例えば、標準偏差や分散等）を特定し、当該分布範囲が基準値より大きい場合に注目画素をエッジと判定する構成を採用可能である。
【００２７】
エッジ画素と非エッジ画素が特定されると、コントローラー１０は、二値部１１ｂの機能により、連続するエッジによって形成された領域と、エッジではない非エッジ画素が連続して形成された領域とを、閉領域として検出する。図８〜図１２は、図７に示す白抜きの文字とその周囲（破線で示す範囲）から抽出された閉領域の例を示している。なお、原稿上に破線はないがここでは範囲を示すためのみに破線が付してある。また、破線の長さ方向は縮小されているため実際はより広い範囲が白抜きの文字の周囲の領域である状態を想定する。本実施形態において、図７のような白抜きの文字であれば、文字の境界線が図９，図１１のように独立した閉領域として抽出され、これらの閉領域の周囲や内部が図８，図１０，図１２のように独立した閉領域として抽出される。
【００２８】
本実施形態においては、エッジ画素が連続する領域と非エッジ画素が連続する領域で閉領域が特定されるため、エッジ画素に基づいて特定された閉領域に非エッジ画素は含まれない。従って、図７に示すような白抜きの文字Ａの場合に、図９に示すような境界線が閉領域とされるが、文字Ａの境界線の内側に存在する非エッジ画素（例えば、図１０）や境界線の内側で境界線と非連続に存在するエッジ画素（例えば、図１１）は他の閉領域と見なされる。さらに、文字Ａの境界線の外側にエッジ画素が存在せず、非エッジ画素が原稿の読み取り範囲の境界まで連続的に存在すれば、文字等の背景に相当する部位（例えば、図８）が独立した閉領域を形成し得る。なお、閉領域を抽出するための具体的な処理は後に詳述する。
【００２９】
閉領域が取得されると、コントローラー１０は、二値部１１ｂの機能により、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて各閉領域の閾値を決定し、当該閾値に基づいて各閉領域の内部を二値化する。すなわち、各閉領域は、オブジェクト（文字のパーツ等）の一部（オブジェクトの境界や内部）や、オブジェクトの背景などであるが、二値化においては、判読されるべきオブジェクトが周囲の領域と異なる色に変換されることが重要である。
【００３０】
また、閉領域が判読されるべきオブジェクトである場合、閉領域は特徴的な形状をしている。例えば、文字のパーツ等は一般的には原稿と比較して小さい。また、文字のパーツ等は一般的に細い。そこで、本実施形態においては、これらの特徴を有する閉領域は、判読されるべきオブジェクトである可能性があると見なし、閉領域の内部と閉領域の周囲の輝度を考慮して閉領域の閾値を決定する。
【００３１】
すなわち、コントローラー１０は、二値部１１ｂの機能により、閉領域が基準サイズより小さいまたは基準形状より細いか否かを判定する。閉領域が基準サイズより小さいまたは基準形状より細い場合、コントローラー１０は、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて閾値を決定し、当該閾値に基づいて閉領域の内部を二値化する。そして、輝度に基づいて閾値を決定する際、コントローラー１０は、閉領域の内部の主要部の輝度が閉領域の周囲の輝度よりも暗い場合には閉領域の主要部を黒にするように閾値を決定する。閉領域の内部の主要部の輝度が閉領域の周囲の輝度よりも明るい場合、コントローラー１０は、閉領域の主要部を白にするように閾値を決定する。この構成によれば、閉領域の内部を周囲の色と逆の色にするように閾値を決定することができる。
【００３２】
一方、閉領域が基準サイズより大きいかつ基準形状より太い場合、コントローラー１０は、閉領域の周囲の輝度を参照せずに閉領域の内部の輝度に基づいて閾値を決定し、当該閾値に基づいて閉領域の内部を二値化する。すなわち、閉領域が基準サイズより大きいかつ基準形状より太い場合には、判読されるべきオブジェクトである可能性が低いと見なし、閉領域の内部に着目して簡易に閾値を決定する。むろん、処理の簡易さや負荷を考慮しなくても良い場合には、判読されるべきオブジェクトである可能性が低い場合であっても、閉領域の周囲の輝度を参酌して閾値が決定されても良い。また、より簡易に、固定の閾値が使用されても良い。
【００３３】
なお、基準サイズは、判読されるべきオブジェクトである可能性が高いサイズであればよく、例えば、原稿サイズに基づいて文字等のオブジェクトと見なすべきサイズを統計的に決定するなどして基準サイズを決定すれば良い。基準形状は、判読されるべきオブジェクトである可能性が高い形状であれば良く、例えば、原稿サイズに基づいて文字等のオブジェクトと見なすべき形状を統計的に決定するなどして基準サイズを決定すれば良い。
【００３４】
以上のようにして閾値が決定されると、コントローラー１０は、各閉領域内の画素の閾値に基づいて各閉領域内の画素を二値化する。以上の構成によれば、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて二値化閾値を変化させることができ、閉領域の内部の主要部をその周囲と同化させずに二値化することができる。
【００３５】
さらに、本実施形態によれば、閉領域の形状の特徴に基づいて閉領域の周囲の輝度に基づいて閾値を決定すべきか否か特定されるため、判読されるべきオブジェクトを周囲の領域と区別して二値化できる可能性を高めることができる。さらに、オブジェクトである可能性が小さい閉領域は周囲の輝度を参照しない単純な手法で二値化することができる。従って、処理を簡易化することができる。
【００３６】
（２）二値化処理：
次に、上述の構成における二値化処理を詳細に説明する。図２は二値化処理を示すフローチャートである。当該二値化処理は、例えば、利用者がＵＩ部３０を操作して原稿を読み取って二値化する指示を行った場合において、多値画像データ２０ａがメモリー２０に記録された状態で開始される。二値化処理が開始されると、コントローラー１０は、二値部１１ｂの機能により、多値画像の輝度を取得する（ステップＳ１００）。すなわち、コントローラー１０は、メモリー２０から多値画像データ２０ａを取得し、各画素の色チャネル毎の階調値を各画素の輝度に変換する。色チャネル毎の階調値を輝度に変換する手法は、各種の手法を採用可能であり、例えば、Ｙ＝（３０×Ｒ＋５９×Ｇ＋１１×Ｂ）／１００等の式によって変換可能である。ここで、Ｙは輝度、Ｒは赤チャネルの階調値、Ｇは緑チャネルの階調値、Ｂは青チャネルの階調値である。
【００３７】
次に、コントローラー１０は、二値部１１ｂの機能により、エッジを検出する（ステップＳ２００）。すなわち、コントローラー１０は、多値画像の各画素を注目画素として多値画像中をスキャンし、各注目画素について輝度分散を算出する。輝度分散は、例えば、式（１）を用いて式（２）のように算出することができる。
【数１】
2019054362.tif 000003
【数２】
2019054362.tif 000004
【００３８】
これらの式においては、注目画素の上下左右に２画素の範囲の画素が注目画素の周囲の画素であり、合計５×５画素について統計値を算出する。すなわち、Ｙｕは輝度平均であり、ｉ，ｊは画素の位置を示す符号であり、ｘi，ｙiは画素の位置を示している。注目画素の位置はｘ3，ｙ3であり、Ｙｖは輝度分散である。輝度分散は、合計５×５画素の領域における輝度の分布範囲の広さを示している。
【００３９】
そこで、コントローラー１０は、輝度分散と予め決められた基準値とを比較し、輝度分散が基準値以上である場合には、注目画素をエッジ画素であるとみなす。輝度分散が基準値より小さい場合、コントローラー１０は、注目画素を非エッジ画素であるとみなす。なお、注目画素の上下左右に２画素の範囲に他の画素が存在しない場合、その画素は無視され、式（１）（２）における規格化定数の値が調整される。また、エッジであるか否かの判定は、他にも種々の手法で行われて良く、例えば、各種のエッジ検出フィルタ等が用いられても良い。
【００４０】
次に、コントローラー１０は、二値部１１ｂの機能により、閉領域を特定する（ステップＳ３００）。すなわち、コントローラー１０は、ステップＳ２００で検出されたエッジを参照し、エッジが連続する領域を１個の閉領域として特定し、非エッジが連続する領域を１個の閉領域として特定する処理を、全画素について実行する。
【００４１】
当該閉領域の特定は、種々の手法で実施されて良い。本実施形態においては、フィルタに基づいて各画素に領域ラベルを割り振ることによって閉領域を特定する。ここで、領域ラベルは、同一の閉領域であるか否かを示す値であり、同一の閉領域には同一のラベルが割り当てられる。すなわち、各画素に対して各画素が属する閉領域を示すラベルが割り当てられる。
【００４２】
図３および図４は、領域ラベルを割り振るためのフィルタを示す図である。これらの図においては、画素を正方形で示しており、注目画素の位置をＰｉ、参照画素の位置をＰｒによって示している。なお、図３においては、注目画素がエッジ画素である場合に適用されるフィルタを示しており、図４においては、注目画素が非エッジ画素である場合に適用されるフィルタを示している。例えば、注目画素がエッジ画素である場合、当該注目画素に図３に示すフィルタが適用されるため、注目画素の左、左上、上、右上に位置する画素が参照画素となる。注目画素が非エッジ画素である場合、当該注目画素に図４に示すフィルタが適用されるため、注目画素の左、上に位置する画素が参照画素となる。なお、以上のフィルタの差異は、エッジ画素の場合にはエッジの連続性を重視して閉領域を決定し、非エッジ画素の場合には非エッジが分離性を重視して閉領域を決定することを目的にしていることに起因して生じている。なお、参照画素が存在しない場合にはその画素についての判定は行われない。
【００４３】
コントローラー１０は、各画素についてステップＳ２００の結果を参照して領域ラベルを割り振る。すなわち、コントローラー１０は、各画素を１個ずつ注目画素として画像全体をスキャンする。なお、本実施形態において領域ラベルは１以上の整数であり初期値は１である。例えば、注目画素のスキャンを左上の画素から開始し、１画素ずつ右に移動し、右端に到達したら１画素下の左端の画素に移動する場合、左上の画素の領域ラベルは初期値の１となる。そして、異なる閉領域が発見されると、異なる閉領域には既存の領域ラベルの最大値に１加えた値が割り振られる。
【００４４】
具体的には、スキャンの過程において、コントローラー１０は、注目画素がエッジ画素、非エッジ画素のいずれであるのかを判定し、注目画素がエッジ画素の場合図３に示すフィルタ、非エッジ画素の場合図４に示すフィルタを選択する。図５は、画素のエッジ状態を模式的に示しており、白抜きの矩形がエッジ画素、ハッチングを付した矩形が非エッジ画素を示している。従って、例えば、画素Ｐ1が注目画素となった場合には図３に示すフィルタが選択され、画素Ｐ2が注目画素となった場合には図４に示すフィルタが選択される。
【００４５】
注目画素のフィルタが選択されると、コントローラー１０は、参照画素の領域ラベルに基づいて注目画素の領域ラベルを設定する。具体的には、コントローラー１０は、参照画素の中から注目画素と同じエッジ状態の画素を抽出し、領域ラベルの特定元とみなす。すなわち、注目画素がエッジ画素であれば、コントローラー１０は、参照画素の中からエッジ画素を抽出し、領域ラベルの特定元とみなす。注目画素が非エッジ画素であれば、コントローラー１０は、参照画素の中から非エッジ画素を抽出し、領域ラベルの特定元とみなす。
【００４６】
例えば、図５に示す画素Ｐ1が注目画素である場合、画素Ｐ1はエッジ画素であるため、コントローラー１０は、参照画素Ｐ11，Ｐ12，Ｐ13，Ｐ14の中からエッジ画素である画素Ｐ13，Ｐ14を抽出し、領域ラベルの特定元とみなす。画素Ｐ2が注目画素である場合、画素Ｐ2は非エッジ画素であるため、コントローラー１０は、参照画素Ｐ21，Ｐ22の中から非エッジ画素である画素Ｐ21，Ｐ22を抽出し、領域ラベルの特定元とみなす。
【００４７】
領域ラベルの特定元が抽出されると、コントローラー１０は、当該領域ラベルの特定元の画素に割り振られた領域ラベルを比較し、最小値を取得し、注目画素の領域ラベルの値と見なす。例えば、画素Ｐ1が注目画素であり、画素Ｐ13，Ｐ14が領域ラベルの特定元として抽出された場合、コントローラー１０は、領域ラベル２，４の中の最小値２を取得し、画素Ｐ1の領域ラベルを２に設定する。画素Ｐ2が注目画素であり、画素Ｐ21，Ｐ22が領域ラベルの特定元として抽出された場合、コントローラー１０は、領域ラベル１，１の中の最小値１を取得し、画素Ｐ2の領域ラベルを１に設定する。
【００４８】
以上の処理の過程で閉領域が大きくなってくると、同一の閉領域に異なる領域ラベルが割り振られる場合が発生し得る。例えば、図５に示す例においては、同一の閉領域に属する画素Ｐ13，Ｐ14に異なる領域ラベル２，４が割り振られている。そこで、コントローラー１０は、この状況を補正するため、領域ラベルの特定元の画素の領域ラベルが不一致である場合、最小の領域ラベルに補正する。例えば、コントローラー１０は、画素Ｐ14の領域ラベルを４から２に補正する。当該補正は、スキャンの過程で行われてもよいし、スキャンが終了した後に行われてもよい。
【００４９】
以上の処理により、エッジ画素が連続する場合に各エッジ画素に同一の領域ラベルを割り振り、非エッジ画素が連続する場合に各非エッジ画素に同一の領域ラベルを割り振ることができる。しかし、以上のような注目画素のスキャンを行っていると、領域ラベルの特定元が抽出されない場合も発生する。例えば、左から右に画素をスキャンする過程で画素Ｐ13が注目画素となった場合、注目画素の左上、上、右上に参照画素は存在しない。また、注目画素の左に存在する参照画素Ｐ12は非エッジ画素であり、注目画素Ｐ13はエッジ画素である。
【００５０】
従って、注目画素Ｐ13の参照画素から領域ラベルの特定元は抽出されない。この場合、コントローラー１０は、注目画素が既存の閉領域と異なる閉領域に属すると見なし、既存の領域ラベルの最大値に１加えた値が割り振られる。例えば、注目画素Ｐ13の処理を行っている段階で、既存の領域ラベルの最大値は１であるため、コントローラー１０は、注目画素Ｐ13に領域ラベル２を割り振る。図６は、図５に示す例各画素のスキャンが終了した場合に割り振られた領域ラベルの例を示している。以上の処理によれば、図６に示すように、連続するエッジ画素を同一の閉領域、連続する非エッジ画素を同一の閉領域に分割することができ、容易に閉領域を特定することができる。また、本実施形態においては、輝度分散に基づいてエッジを検出し、当該エッジに基づいて閉領域を特定しているため、薄い文字のように輝度変化の少ないオブジェクトを同一の閉領域として捉えることが可能になる。このため、二値化の際にオブジェクトが消えたり分断されたりする可能性を低減することができる。
【００５１】
閉領域が検出されると、コントローラー１０は、二値部１１ｂの機能により、閉領域の形状の特徴を取得する（ステップＳ４００）。図７は、白抜きの文字Ａが含まれる多値画像を模式的に示している。この例において、ステップＳ３００の処理が行われると、図８〜図１２に示すように、複数の閉領域が特定される。図８においては、文字Ａの周囲に存在する閉領域をハッチングによって示している。図９においては、文字Ａの外側の境界を構成するエッジによって形成された閉領域を太い実線によって示している。図１０においては、文字Ａの外側の境界の内部に存在する閉領域をハッチングによって示している。図１１においては、文字Ａの内側の境界を構成するエッジによって形成された閉領域を太い実線によって示している。図１２においては、文字Ａの内側の境界の内部に存在する閉領域をハッチングによって示している。
【００５２】
ステップＳ３００の処理が行われると、図８〜図１２に示すように、複数の閉領域が特定され、各閉領域に領域ラベルが割り振られた状態になっている。ここでは、特に、図９に示す閉領域に着目して閉領域の形状の特徴を説明する。本実施形態において、各閉領域の形状の特徴は、各閉領域に外接する矩形と閉領域の画素数とに基づいて特定される。そこで、コントローラー１０は、ステップＳ３００で特定された各閉領域に外接する矩形を特定し、その二辺の長さを特定する。図９においては、二辺の一方（ｘ方向に平行な辺）の長さを幅Ｗ、二辺の他方（ｙ方向に平行な辺）の長さを高さＨとして示している。この例であれば、コントローラー１０は、幅Ｗおよび高さＨを特定する。
【００５３】
さらに、コントローラー１０は、ステップＳ３００で特定された各閉領域の画素数を取得する。すなわち、コントローラー１０は、同一の領域ラベルが割り振られた画素数をカウントすることで、各領域ラベルが割り振られた閉領域の画素数を取得する。さらに、コントローラー１０は、閾値を取得する処理を後に実行するため、閉領域に関する情報を収集する。具体的には、コントローラー１０は、各閉領域に隣接する閉領域の領域ラベルを特定し、各閉領域に対応づけてメモリー２０に記録する。従って、コントローラー１０は、メモリー２０を参照することで各閉領域に隣接する閉領域を特定することができる。さらに、コントローラー１０は、各閉領域の輝度に基づいて、閉領域内の輝度の平均値、最頻値、輝度ヒストグラムを取得し、メモリー２０に記録する。
【００５４】
次に、コントローラー１０は、二値部１１ｂの機能により、各閉領域の閾値を取得する（ステップＳ５００）。本実施形態においては、閉領域のサイズと形状に基づいて閾値を取得するが、コントローラー１０は、各閉領域に外接する矩形のサイズ（ステップＳ４００で取得されたＷ、Ｈ）を閉領域のサイズと見なす。
【００５５】
文字などの、判読されるべきオブジェクトは一般的には原稿よりも小さいため、本実施形態においては、オブジェクトが小さいと見なされる基準サイズが第１基準および第２基準として予め定義されている。コントローラー１０は、外接する矩形の幅Ｗが第１基準未満であり、外接する矩形の高さＨが第２基準未満である場合に閉領域が小さいと判定する処理を各閉領域に対して実施する。以上の構成によれば、二値化によって周囲の領域に同化すべきではない閉領域を容易に特定することができる。なお、第１基準と第２基準は予め決められた固定値であっても良いし、原稿のサイズ等によって変化する可変値であっても良いし、利用者が指定した値等であっても良い。むろん、第１基準と第２基準は等しくても良いし異なっていてもよい。
【００５６】
さらに、文字などの、判読されるべきオブジェクトの形状は細いパーツによって構成されていることが多い。そこで、本実施形態においては、オブジェクトが細いか否かが、閉領域に外接する矩形の縦横の長さの比に基づいて評価され、閉領域の面積と閉領域に外接する矩形の面積との比に基づいて評価される。
【００５７】
すなわち、閉領域に外接する矩形の縦横の長さの比が１より小さいまたは大きいほど、閉領域が細いと推定することができる。そこで、コントローラー１０は、各閉領域に外接する矩形の幅Ｗ、高さＨのうち、大きい方を分母、小さい方を分子とし、比が１以下になるようにして、閉領域に外接する矩形の縦横の長さの比を取得する。
【００５８】
さらに、閉領域の面積と閉領域に外接する矩形の面積との比が１より小さいまたは大きいほど、閉領域が細いと推定することができる。図１３および図１４は、閉領域の面積と閉領域に外接する矩形の面積との比を説明するための図であり、閉領域をハッチングによって示している。また、図１３は円形の閉領域の例を示し、図１４は環状の閉領域の例を示している。図１３、図１４に示された例において、閉領域に外接する矩形の大きさは等しく、ともに幅Ｗ1、高さＨ1である。
【００５９】
これらの例において、図１４に示す環状の閉領域は細い線で構成され、図１３に示す円形の閉領域は円形の周の内部が同一の特徴（例えば非エッジ）で埋められることによって構成される。図１３に示す例において閉領域の面積は円の面積であり、閉領域に外接する矩形の面積はＷ1×Ｈ1である。図１４に示す例において閉領域の面積は環状の部位の面積であり、閉領域に外接する矩形の面積はＷ1×Ｈ1である。従って、両者における比、すなわち（閉領域の面積）／（閉領域に外接する矩形の面積）を比較すると、図１３のように細い線で構成されていない閉領域では比の値が大きくなる傾向にあり、図１４のように細い線で構成されている閉領域では比の値が小さくなる傾向にある。
【００６０】
そこで、コントローラー１０は、各閉領域の面積を示す画素数を、閉領域に外接する矩形の面積（Ｗ×Ｈ）で除することによって、比が１以下になるようにして閉領域の面積と閉領域に外接する矩形の面積との比を取得する。
【００６１】
以上のように、オブジェクトが細いか否かは、閉領域に外接する矩形の縦横の長さの比に基づいて評価可能であり、閉領域の面積と閉領域に外接する矩形の面積との比に基づいて評価可能である。これらの比は個別に評価されても良いし、双方の比が同時に評価されても良い。本実施形態においては、後者が採用されており、コントローラー１０は、両者の比の積を算出し、基準形状を示す形状閾値と比較する。すなわち、コントローラー１０は、以下の式（３）を満足する場合に、閉領域が基準形状より細いと判定する。
【数３】
2019054362.tif 000005
【００６２】
なお、式（３）においてＣSは閉領域の面積と閉領域に外接する矩形の面積との比であり、ＣWHは閉領域に外接する矩形の縦横の長さの比である。Ｃthは基準形状であるか否かを判定するための形状閾値であり、ＣS×ＣWHの値がＣth未満である場合に閉領域が細い形状であると見なすことができるように、予め統計等によって定義されている。コントローラー１０は、式（３）を満足する場合に閉領域が基準形状より細いと判定する処理を各閉領域について実施する。この構成によれば、二値化によって周囲の領域に同化すべきではない閉領域を容易に特定することができる。
【００６３】
以上のように各閉領域について、基準サイズより小さいか否かの判定と、基準形状より細いか否かの判定とが行われると、コントローラー１０は、これらの判定結果に基づいて閉領域毎の閾値を決定する。具体的には、閉領域が基準サイズより大きいかつ基準形状より太い場合、コントローラー１０は、閉領域の周囲の輝度を参照せずに閉領域の内部の輝度に基づいて閾値を決定する。具体的には、コントローラー１０は、閉領域の内部の輝度ヒストグラムの平均値をＹave、最頻値をＹmとした場合に、Ｙave−（Ｙm−Ｙave）を閾値Ｙthとする。
【００６４】
図１５は、閉領域が基準サイズより大きいかつ基準形状より太い場合における閉領域の輝度ヒストグラム（例えば、図８に示す閉領域の輝度ヒストグラム）を示している。閉領域が基準サイズより大きいかつ基準形状より太い場合は、閉領域が文字等のオブジェクトではなく、背景等である可能性が高い。従って、輝度ヒストグラムを構成する大半の画素を白に変換することができれば適切に二値化できる可能性が高い。そして、閾値ＹthであるＹave−（Ｙm−Ｙave）は、図１５に示すように大半の部分を白に変換する閾値である。従って、この閾値によって当該閉領域を二値化すれば、背景等が背景等として視認されるように二値化できる可能性を高めることができる。
【００６５】
以上のようにして決定された閾値で二値化が行われると、原稿の地色に近い色を有するオブジェクトが存在した場合、二値化によってオブジェクトが周囲の領域と同化してしまう。そこで、本実施形態においては、閉領域が基準サイズより小さいまたは基準形状より細い場合には、閉領域の周囲の輝度も参照して閾値を決定する。
【００６６】
具体的には、閉領域が基準サイズより小さいまたは基準形状より細い場合、コントローラー１０は、閉領域の内部の主要部の輝度が閉領域の周囲の輝度よりも暗ければ、閉領域の主要部を黒にするように閾値を決定する。すなわち、コントローラー１０は、ある閉領域に着目して閾値を決定する場合、メモリー２０を参照して当該閉領域に隣接する閉領域の領域ラベルを取得する。例えば、図６に示す例において、領域ラベル２の閉領域に着目した場合、コントローラー１０は、隣接する閉領域の領域ラベル１，３を取得する。そして、コントローラー１０は、領域ラベルに基づいて、着目した閉領域の輝度の最頻値と、隣接する閉領域の輝度の最頻値とを取得する。なお、本実施形態においては、閉領域の内部において最頻値の輝度を有する画素は閉領域の内部の主要部に相当する。
【００６７】
さらに、コントローラー１０は、着目した閉領域の輝度の最頻値と、隣接する閉領域の輝度の最頻値とを比較する。隣接する閉領域が複数個である場合、コントローラー１０は、着目した閉領域の輝度の最頻値と、隣接する全ての閉領域の最頻値とを比較する。そして、着目した閉領域の輝度の最頻値が、隣接する全ての閉領域の輝度の最頻値よりも小さい場合、着目した閉領域の輝度ヒストグラムの高輝度側のテイル部分が第１比率となるように閾値を決定する。
【００６８】
図１６は、文字の境界によって形成された閉領域（ただし境界の色は地色に近い）の輝度ヒストグラムの例を示している。また、図１７は、図１６に示す閉領域の周囲に存在する閉領域の輝度ヒストグラムの例を示している。図１６の輝度ヒストグラムは、例えば、図９に示す文字の境界の輝度ヒストグラムであり、図１７の輝度ヒストグラムは、例えば、図１０に示す文字の内側の輝度ヒストグラムである。ここでは、図１６に示す閉領域に着目し、当該閉領域の周囲の閉領域において、輝度ヒストグラムの最頻値が最も小さい閉領域が図１７に示す閉領域であることを想定して説明する。
【００６９】
これらの例において、着目した閉領域の輝度の最頻値はＹm1であり、着目した閉領域の周囲の閉領域における輝度の最頻値はＹm2である。そして、着目した閉領域の輝度の最頻値Ｙm1が、隣接する閉領域の輝度の最頻値Ｙm2よりも小さい。この場合、コントローラー１０は、着目した閉領域の輝度ヒストグラムの高輝度側のテイル部分の画素数を高輝度側からカウントし、カウント値／閉領域の画素数が第１比率となる輝度を閾値として決定する。図１６においては、このようにして決められた閾値Ｙth1を示している。なお、第１比率は、輝度ヒストグラムの高輝度側のテイル部分が僅かな数になるように予め決められている。すなわち、当該閾値により、閉領域の主要部を黒にすることができるように第１比率が設定されている。
【００７０】
一方、閉領域が基準サイズより小さいまたは基準形状より細い場合において、コントローラー１０は、閉領域の内部の主要部の輝度が閉領域の周囲の輝度よりも明るければ、閉領域の主要部を白にするように閾値を決定する。この場合も、コントローラー１０は、着目した閉領域の輝度の最頻値と、隣接する閉領域の輝度の最頻値とを取得する。
【００７１】
さらに、コントローラー１０は、着目した閉領域の輝度の最頻値と、隣接する閉領域の輝度の最頻値とを比較する。隣接する閉領域が複数個である場合、コントローラー１０は、着目した閉領域の輝度の最頻値と、隣接する全ての閉領域の最頻値とを比較する。そして、着目した閉領域の輝度の最頻値が、隣接する全ての閉領域の輝度の最頻値よりも大きい場合、着目した閉領域の輝度ヒストグラムの低輝度側のテイル部分が第２比率となるように閾値を決定する。
【００７２】
ここで、図１７に輝度ヒストグラムが示された閉領域に着目し、図１６に輝度ヒストグラムが示された閉領域が周囲に存在する閉領域である状態を想定する。この例において、着目した閉領域の輝度の最頻値はＹm2であり、着目した閉領域の周囲の閉領域における輝度の最頻値はＹm1である。従って、着目した閉領域の輝度の最頻値Ｙm2が、隣接する閉領域の輝度の最頻値Ｙm1よりも大きい。この場合、コントローラー１０は、着目した閉領域の輝度ヒストグラムの低輝度側のテイル部分の画素数を低輝度側からカウントし、カウント値／閉領域の画素数が第２比率となる輝度を閾値として決定する。
【００７３】
図１７においては、このようにして決められた閾値Ｙth2を示している。なお、第２比率も、輝度ヒストグラムの低輝度側のテイル部分が僅かな数になるように予め決められている。すなわち、当該閾値により、閉領域の主要部を白にすることができるように第２比率が設定されている。なお、第２比率は、第１比率と一致していても良いし、異なっていてもよい。また、各比率は固定値であっても良いし、輝度ヒストグラム等に応じて変化する可変値であっても良い。
【００７４】
コントローラー１０は、以上のようにして閉領域の閾値を取得する処理を、各閉領域について実施する。各閉領域の閾値が取得されると、コントローラー１０は、二値部１１ｂの機能により、二値化画像を取得する（ステップＳ６００）。すなわち、コントローラー１０は、各閉領域内の画素の輝度と各閉領域の閾値とを比較し、閾値より輝度が大きい画素の階調値を１とし、輝度が閾値以下の画素の階調値を０にする。コントローラー１０は、以上のようにして閉領域内の画素を二値化する処理を、各閉領域について実施する。以上の構成によれば、薄い文字など地色に近い色のオブジェクトを周囲の領域（地色の領域等）に同化させずに二値化することが可能になる。また、閉領域毎に閾値を決定する構成により、白抜き文字を白抜きで再現可能になる。
【００７５】
（３）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、本発明の一実施形態にかかるスキャナーは、読み取り以外の目的にも使用される電子機器である複合機等に備えられていても良い。さらに、以上の実施形態のように閉領域の周囲の輝度に基づいて閉領域の内部の二値化閾値を決定する手法は、プログラムの発明、方法の発明やスキャンデータの生成方法の発明としても実現可能である。さらに上述のようにして生成した二値化画像に対して、オブジェクトである文字に対する光学文字認識やオブジェクトであるバーに対するバーコード変換などの処理を行って、テキストデータを生成する装置や生成方法の発明としても実現可能である。
【００７６】
さらに、コントローラー１０の少なくとも１部における処理を、スキャナー１に接続されたコンピューターのドライバプログラム又はアプリケーションプログラムに実施させることで二値画像データを生成させてもよい。この場合、コンピューターをスキャナーの一部とみなすことができる。
【００７７】
さらに、上述の実施形態は一例であり、一部の構成が省略されたり、他の構成が追加されたりする実施形態が採用され得る。例えば、コントローラー１０が、閉領域の特徴を考慮せず、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて閉領域の内部を二値化する構成等が採用されてもよい。また、閉領域が細いか否かが判定される際に、閉領域に外接する矩形の縦横の長さの比と、閉領域の面積と閉領域に外接する矩形の面積との比との、一方の比のみが参酌される構成等が採用されてもよい。
【００７８】
取得部は、多値画像を取得することができればよい。すなわち、取得部は、二値化すべき画像を取得することができればよく、上述の実施形態のように、スキャナーで読み取られた画像以外にも、種々の画像が多値画像となり得る。例えば、画像編集ソフトウェアで生成した画像や、ネットワークを介して取得した画像を二値化対象の多値画像として取得する構成等であっても良い。
【００７９】
二値部は、多値画像を二値化した二値画像を生成することができればよい。二値画像は各画素１ビットの画像であるため、画素値が１または０であり、一方を白、他方を黒とすれば、モノクロの画像となる。通常は、白黒のモノクロであるが、むろん、用途によっては色チャネル毎（例えば、Ｒ，Ｇ，Ｂの各チャネル毎）に二値化されるような構成等であっても良い。
【００８０】
また、二値部が検出する閉領域は、同一基準（例えば、同一閾値）で二値化される単位であれば良く、多値画像の画素の中で、共通の特徴を有する画素が連続して形成する領域である。ただし、閉領域であるため、当該領域の内部には、異なる特徴を有する画素が離散的に配置されている状態ではない。共通の特徴を有する画素が環状に配置される場合には、共通の特徴を有する画素が環状に連続していれば、環の内側を除く環状の領域が閉領域となる。すなわち、環の内側に同一の特徴の画素が離れて存在している場合や、他の特徴の画素が存在する場合、これらの画素は異なる閉領域を構成し得る。
【００８１】
特徴は、上述のようなエッジ以外にも種々の特徴が想定され得る。例えば、多値画像の勾配に基づいてオブジェクトの境界を特定し、境界に囲まれる閉領域が特定される構成であっても良い。さらに、特徴が共通の画素が連続する場合に閉領域であると見なされる構成以外にも、特徴が類似した画素が連続する場合に閉領域であると見なされる構成等が採用されてもよい。
【００８２】
さらに、二値化は、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて実施されれば良く、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて二値化のための閾値を決定する上述の構成以外にも種々の構成が採用されてもよい。例えば、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて閉領域の内部を白または黒とする処理等が採用されてもよい。
【００８３】
また、閉領域の内部の輝度と閉領域の周囲の輝度とに基づいて二値化が行われる際に、輝度を参酌する手法は種々の手法が採用可能である。すなわち、上述のように、閉領域の内部と周囲との輝度差が参酌されても良いし、閉領域の内部と周囲との輝度の類似度等が参酌されても良く、種々の構成が採用されてよい。
【００８４】
さらに、閉領域の周囲の輝度は、当該閉領域の外側の領域の輝度であっても良いし、閉領域の内側に閉領域以外の領域が存在する場合（環状等）には当該閉領域の内側の領域の輝度であっても良いし、双方であっても良い。閉領域の周囲に複数の異なる閉領域が隣接している場合、その中の１個（例えば、輝度が最も明るい、または最も暗い領域や、最も広い領域等）について輝度が参照されても良いし、複数個について輝度が参照されても良い。
【００８５】
閉領域の内部の主要部は、閉領域の内部の輝度を評価するための部分であれば良く、上述の実施形態のように、閉領域の内部において輝度が最頻値に等しい画素を主要部と見なす構成以外にも種々の構成が採用されてもよい。例えば、閉領域の内部において輝度の統計値（平均値等）を取得し、輝度が統計値に等しい画素を主要部と見なす構成等が採用されてもよい。むろん、輝度が特定の範囲内（例えば、統計値から標準偏差×定数の範囲等）に存在する画素を主要部と見なしても良い。いずれにしても、閉領域の面積や特徴等に鑑みて閉領域を二値化する際に白または黒にすべき部分を主要部と見なすことができればよい。主要部の輝度や閉領域の周囲の輝度は種々の手法で決められて良く、最頻値以外にも各種の統計値等に基づいて輝度が評価されて良い。
【００８６】
閉領域の形状の特徴は、上述の実施形態のように大きさや細さで評価される構成に限定されない。すなわち、二値化によって周囲と同化させないようにすべき部位であるか否かを、閉領域の形状の特徴で捉えることができればよい。従って、例えば、閉領域の周に尖った部位が存在する場合や、ジャギーな部位が存在する場合に周囲と異なる値に二値化する構成など、種々の構成が採用され得る。
【００８７】
さらに本発明は、コンピューターが実行するプログラムや、方法としても適用可能である。また、以上のようなプログラム、方法は、単独の装置として実現される場合もあれば、複数の装置が備える部品を利用して実現される場合もあり、各種の態様を含むものである。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、プログラムの記録媒体としても発明は成立する。むろん、そのプログラムの記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【００８８】
１…スキャナー、１０…コントローラー、１１…画像処理プログラム、１１ａ…取得部、１１ｂ…二値部、２０…メモリー、２０ａ…多値画像データ、２０ｂ…二値画像データ、３０…ＵＩ部、４０…通信部、５０…画像読取部
【図１】
2019054362.tif 000006
【図２】
2019054362.tif 000007
【図３】
2019054362.tif 000008
【図４】
2019054362.tif 000009
【図５】
2019054362.tif 000010
【図６】
2019054362.tif 000011
【図７】
2019054362.tif 000012
【図８】
2019054362.tif 000013
【図９】
2019054362.tif 000014
【図１０】
2019054362.tif 000015
【図１１】
2019054362.tif 000016
【図１２】
2019054362.tif 000017
【図１３】
2019054362.tif 000018
【図１４】
2019054362.tif 000019
【図１５】
2019054362.tif 000020
【図１６】
2019054362.tif 000021
【図１７】
2019054362.tif 000022