(57)【特許請求の範囲】
【請求項１】
第１の画像の画素数である第１画素数を検出する第１画素数検出手段と、
前記第１の画像を細線化した第２の画像の画素数である第２画素数を検出する第２画素数検出手段と、
前記第１画素数から前記第２画素数への減り具合を示す指標が閾値より大きい場合には、前記第１の画像が文字であると判別し、前記指標が前記閾値よりも小さい場合には、前記第１の画像が文字以外の画像であると判別する判別手段と、
を備えたことを特徴とする画像処理装置。
【請求項２】
前記第１の画像が文字であるか文字以外の画像であるかを、前記第１の画像を含む領域のサイズ、前記第１の画像の画素以外の画素と前記第１の画像の画素との境界の数、および前記領域内の全画素数に対する前記第１の画像の画素数の比率のうちの少なくともいずれか１つに基づいて判別する、第２判別手段、を有し、
前記判別手段は、文字であるか文字以外の画像であるかを前記第２判別手段によって判別することができなかった前記第１の画像が文字であるか文字以外の画像であるかを判別する、
請求項１に記載の画像処理装置。
【請求項３】
前記第１の画像を、当該第１の画像を含む領域のサイズが大きいほど強く細線化することによって前記第２の画像を生成する、細線化処理手段を有し、
前記第２画素数検出手段は、前記細線化処理手段によって生成された前記第２の画像の画素数を前記第２画素数として検出する、
請求項１に記載の画像処理装置。
【請求項４】
前記第１の画像が複数ある場合は、当該第１の画像それぞれを含む領域のサイズの平均値または最大値に応じた強さで当該第１の画像それぞれを細線化することによって前記第２の画像を生成する、細線化処理手段を有し、
前記第２画素数検出手段は、前記細線化処理手段によって生成された前記第２の画像の画素数を前記第２画素数として検出する、
請求項１に記載の画像処理装置。
【請求項５】
前記第１の画像は画像読取装置によって読み取られた画像であり、
前記第１の画像を、前記画像読取装置による読取りの解像度が高いほど強く細線化することによって前記第２の画像を生成する、細線化処理手段を有し、
前記第２画素数検出手段は、前記細線化処理手段によって生成された前記第２の画像の画素数を前記第２画素数として検出する、
請求項１に記載の画像処理装置。
【請求項６】
前記判別手段は、前記第１の画像が文字であるか文字以外の画像であるかを、当該第１の画像を含む領域のサイズが大きいほど大きい値を前記閾値として用いることによって判別する、
請求項１に記載の画像処理装置。
【請求項７】
前記第１の画像は画像読取装置によって読み取られた画像であり、
前記判別手段は、前記第１の画像が文字であるか文字以外の画像であるかを、前記画像読取装置による読取りの解像度が高いほど小さい値を前記閾値として用いることによって判別する、
請求項１に記載の画像処理装置。
【請求項８】
第１の画像の画素数である第１画素数を検出し、
前記第１の画像を細線化した第２の画像の画素数である第２画素数を検出し、
前記第１画素数から前記第２画素数への減り具合を示す指標が閾値より大きい場合には、前記第１の画像が文字であると判別し、前記指標が前記閾値よりも小さい場合には、前記第１の画像が文字以外の画像であると判別する、
ことを特徴とする画像種別判別方法。
【請求項９】
第１の画像の画素数である第１画素数を検出する処理と、
前記第１の画像を細線化した第２の画像の画素数である第２画素数を検出する処理と、
前記第１画素数から前記第２画素数への減り具合を示す指標が閾値より大きい場合には、前記第１の画像が文字であると判別し、前記指標が前記閾値よりも小さい場合には、前記第１の画像が文字以外の画像であると判別する処理と、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある画像が文字であるか他の画像であるかを判別する装置および方法などに関する。
【背景技術】
【０００２】
用紙に記された写真、イラスト、線画、および文字などのオブジェクトからなるドキュメントの画像を電子データ化して、さらにコンパクトＰＤＦ（Portable Document Format）と呼ばれる形式によりＰＤＦファイル化することが従来よりなされている。
【０００３】
以下、コンパクトＰＤＦのファイルの生成方法の一例について説明する。まず、スキャナによりドキュメントの画像を読み取り、ビットマップの電子データを生成する。生成された電子データを用いて、読み取ったドキュメントの画像の中の各オブジェクトが文字なのか文字以外の画像なのかを判別する。そして、文字として判別されたオブジェクトおよび文字以外として判別されたオブジェクトをそれぞれに適する方式で圧縮することによってコンパクトＰＤＦファイルを生成する。
【０００４】
コンパクトＰＤＦによれば、電子データの圧縮において、文字および文字以外による画像のそれぞれに適した圧縮方式を適用することにより、従来のＰＤＦよりデータ量の小さいファイルを生成できる。なお、文字以外による画像とは、写真、イラストおよび線画などである。
【０００５】
文字と文字以外の画像とを区別して認識する技術は従来からいくつかあり、これらの技術は特許文献１および特許文献２などに開示されている。
【０００６】
特許文献１には、枠もしくは罫線等の直線部分と文字、図形もしくは記号とから構成される画像から、画素と画素が繋がっている部分パターンを抽出する連結パターン抽出手段と、連結パターン抽出手段により抽出された部分パターンから、直線部分を抽出する直線抽出手段と、直線抽出手段の抽出結果に基づき、部分パターンを、文字、図形もしくは罫線等の直線部分だけのパターンと、文字、図形もしくは記号と枠もしくは罫線等の直線部分が接触したパターンとに分類する属性付加手段と、文字、図形もしくは記号と枠もしくは罫線等の直線部分とが接触したパターンから枠もしくは罫線等の直線部分を分離する分離手段とを有する画像抽出方式が開示されている。
【０００７】
特許文献２には、パターンを入力するパターン入力手段と、パターンのうちの探索開始点からの探索方向の変化回数に基づいて凹凸度を算出する変化回数計数手段を備える凹凸度算出手段と、凹凸度としきい値に基づいて、パターンの属性を判別するパターン判別手段とを備えるパターン抽出装置が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０６−３０９４９８号公報
【特許文献２】特許第３４１１４７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１に開示される発明は、文字に枠または罫線等の直線部分が触れている場合に、枠または罫線等の直線部分を抽出して、文字から分離する。
【００１０】
しかし、文字に接触している線画が複雑な形状である場合は、両者を分離することは困難である。
【００１１】
また、特許文献２に開示される発明は、画像から切出されたパターンにおいて隣接する画素を探索しながらパターンの凹凸度を算出する。算出された凹凸度に基づいて、パターンに含まれる罫線または直線などと文字または記号などとを区別する。
【００１２】
しかし、パターンに複雑な形状の線画が含まれている際には、当該線画を文字などと区別することは困難である。
【００１３】
このように、特許文献１および特許文献２のそれぞれに開示される発明では、折れ線グラフなどの複雑な形状の線画および文字のそれぞれを互いに区別することは困難である。
【００１４】
コンパクトＰＤＦにおいては、各オブジェクトが文字なのか文字以外の画像なのかをできるだけ正確に判別することが好ましく、そのような技術が望まれている。
【００１５】
本発明は、上述の事情に鑑みてなされた発明であり、その目的は、文字と文字以外の画像とを従来よりも正確に判別することである。
【課題を解決するための手段】
【００１６】
本発明の一形態に係る画像処理装置は、第１の画像の画素数である第１画素数を検出する第１画素数検出手段と、前記第１の画像を細線化した第２の画像の画素数である第２画素数を検出する第２画素数検出手段と、前記第１画素数から前記第２画素数への減り具合を示す指標が閾値より大きい場合には、前記第１の画像が文字であると判別し、前記指標が前記閾値よりも小さい場合には、前記第１の画像が文字以外の画像であると判別する判別手段と、を備える。
【００１７】
好ましくは、前記第１の画像が文字であるか文字以外の画像であるかを、前記第１の画像を含む領域のサイズ、前記第１の画像の画素以外の画素と前記第１の画像の画素との境界の数、および前記領域内の全画素数に対する前記第１の画像の画素数の比率のうちの少なくともいずれか１つに基づいて判別する、第２判別手段、を有し、前記判別手段は、文字であるか文字以外の画像であるかを前記第２判別手段によって判別することができなかった前記第１の画像が文字であるか文字以外の画像であるかを判別する。
【００１８】
または、前記第１の画像を、当該第１の画像を含む領域のサイズが大きいほど強く細線化することによって前記第２の画像を生成する、細線化処理手段を有し、前記第２画素数検出手段は、前記細線化処理手段によって生成された前記第２の画像の画素数を前記第２画素数として検出する。
【００１９】
または、前記第１の画像が複数ある場合は、当該第１の画像それぞれを含む領域のサイズの平均値または最大値に応じた強さで当該第１の画像それぞれを細線化することによって前記第２の画像を生成する、細線化処理手段を有し、前記第２画素数検出手段は、前記細線化処理手段によって生成された前記第２の画像の画素数を前記第２画素数として検出する。
【００２０】
または、前記第１の画像は画像読取装置によって読み取られた画像であり、前記第１の画像を、前記画像読取装置による読取りの解像度が高いほど強く細線化することによって前記第２の画像を生成する、細線化処理手段を有し、前記第２画素数検出手段は、前記細線化処理手段によって生成された前記第２の画像の画素数を前記第２画素数として検出する。
【００２１】
または、前記判別手段は、前記第１の画像が文字であるか文字以外の画像であるかを、当該第１の画像を含む領域のサイズが大きいほど大きい値を前記閾値として用いることによって判別する。
【００２２】
または、前記第１の画像は画像読取装置によって読み取られた画像であり、前記判別手段は、前記第１の画像が文字であるか文字以外の画像であるかを、前記画像読取装置による読取りの解像度が高いほど小さい値を前記閾値として用いることによって判別する。
【発明の効果】
【００２３】
本発明によると、ある画像が文字であるのか文字以外の画像であるのかを従来よりも正確に判別することができる。
【図面の簡単な説明】
【００２４】
【図１】画像形成装置の外観の一例を示す図である。
【図２】画像形成装置のハードウェア構成の一例を示す図である。
【図３】画像形成装置の機能的構成の一例を示す図である。
【図４】ドキュメントの一例を示す図である。
【図５】矩形領域の切出しの一例について説明するための図である。
【図６】文字および文字以外の画像の一例を示すテーブルである。
【図７】フィルタの一例を示す図である。
【図８】細線化処理におけるフィルタの使用方法の一例を説明するための図である。
【図９】細線化処理前の画像および細線化処理後の画像と残存率との関係の一例を示す表である。
【図１０】文字のサイズと残存率との関係の一例を示す図である。
【図１１】画像形成装置の全体的な処理の流れの一例を説明するフローチャートである。
【図１２】残存率による判別処理の流れの一例を説明するフローチャートである。
【図１３】残存率による判別処理の流れの変形例を説明するフローチャートである。
【図１４】残存率による判別処理の流れの変形例を説明するフローチャートである。
【図１５】残存率による判別処理の流れの変形例を説明するフローチャートである。
【図１６】残存率による判別処理の流れの変形例を説明するフローチャートである。
【発明を実施するための形態】
【００２５】
図１は、画像形成装置１の外観の一例を示す図である。図２は、画像形成装置１のハードウェア構成の一例を示す図である。図３は、画像形成装置１の機能的構成の一例を示す図である。
【００２６】
図１に示す画像形成装置１は、コピー、ネットワークプリンティング（ＰＣプリント）、ファックス、スキャナおよびボックスなどの機能を集約したＭＦＰ（Multi-function Peripherals）である。
【００２７】
画像形成装置１は、図２に示すように、ＣＰＵ（Central Processing Unit）１０ａ、ＲＡＭ（Random Access Memory）１０ｂ、ＲＯＭ（Read Only Memory）１０ｃ、大容量記憶装置１０ｄ、スキャナユニット１０ｅ、印刷ユニット１０ｆ、ネットワークインタフェース１０ｇ、タッチパネルディスプレイ１０ｈおよびモデム１０ｉのほか制御用の回路などによって構成される。
【００２８】
ネットワークインタフェース１０ｇは、通信回線を介してＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルで端末装置などの他の装置と通信を行うための装置である。ネットワークインタフェース１０ｇとして、例えばＮＩＣ（Network Interface Card）が用いられる。
【００２９】
モデム１０ｉは、固定電話網を介して他のファックス端末との間でＧ３などのプロトコルで画像の電子データをやり取りするための装置である。
【００３０】
タッチパネルディスプレイ１０ｈは、ユーザに対してメッセージまたは指示を与えるための画面、ユーザが処理の指令および条件を入力するための画面、ならびにＣＰＵ１０ａの処理の結果を示す画面などを表示する。ユーザは、指または専用のペンにより画面の位置を直接触れることで、処理の指令および条件などを入力できる。
【００３１】
スキャナユニット１０ｅは、用紙に記された写真、イラスト、図表、および文字などのオブジェクトからなるドキュメントの画像を読み取って、ドキュメントの画像の電子データを生成する装置である。
【００３２】
印刷ユニット１０ｆは、スキャナユニット１０ｅによって読み取られた画像のほか、端末装置またはファックス端末などから受信した電子データに示される画像を印刷する。
【００３３】
ＲＯＭ１０ｃまたは大容量記憶装置１０ｄには、上に述べた画像形成装置１の機能を実現するためのプログラム、例えばオペレーティングシステムおよびミドルウェアなどが記憶されている。
【００３４】
さらに、ＲＯＭ１０ｃまたは大容量記憶装置１０ｄには、用紙に記されたドキュメントの画像の電子データをコンパクトＰＤＦのファイルに変換するための変換プログラム１ＨＰが記憶されている。変換プログラム１ＨＰによると、図３に示す機能が実現される。これについては後述する。
【００３５】
これらのプログラムは、必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。大容量記憶装置１０ｄとして、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）などが用いられる。
【００３６】
図４は、ドキュメント２０の一例を示す図である。図５は、矩形領域２５の切出しの一例について説明するための図である。図６は、文字および文字以外の画像の一例を示すテーブルである。
【００３７】
以下、図４に示すような、オブジェクトとして複数のモノクロの文字２１および１つのモノクロのグラフ２２を含むドキュメント２０のコンパクトＰＤＦのファイルを生成する場合を例に説明する。グラフ２２は、縦軸２４ａ、横軸２４ｂおよび折れ線２３が含まれる。縦軸２４ａ、横軸２４ｂおよび折れ線２３は、すべて、線画である。
【００３８】
文字の例として、アルファベット、漢字、ひらがな、カタカナ、数字、および記号などが挙げられる。文字は、一般に、線画の１つの種類であると解釈される場合があるが、本実施形態では、文字と文字以外の線画とを区別するために、「線画」には文字が含まれないものとして、説明する。
【００３９】
変換プログラム１ＨＰは、図３に示す画像切出し部１０１、第１判別部１１１、第２判別部１１２、およびＣＰＤＦ画像生成部１１０を実現するためのプログラムである。
【００４０】
以下、ドキュメント２０のコンパクトＰＤＦのファイルを生成する際のユーザの操作および画像形成装置１の各部の処理について、順次説明する。
【００４１】
ユーザは、ドキュメント２０が記された用紙をスキャナユニット１０ｅにセットする。そして、タッチパネルディスプレイ１０ｈを操作することによって、フォーマットとしてコンパクトＰＤＦを指定しスキャンの指令を与える。
【００４２】
すると、変換プログラム１ＨＰが起動し、図３に示す画像切出し部１０１などによる処理が開始される。また、スキャナユニット１０ｅは、用紙からドキュメント２０を読み取り、ドキュメント２０のビットマップデータ５０を生成する。
【００４３】
画像切出し部１０１は、スキャナユニット１０ｅによって読み取られたドキュメント２０の中から、図５の破線で示すように、文字が配置されていると推測される矩形の領域を切り出す。つまり、オブジェクトの種類の属性として文字属性を有する画素が連続している部分を含む矩形の領域を切り出す。以下、この矩形の領域を「矩形領域２５」と記載する。矩形領域２５の切出しは、公知の手法によって行うことができる。例えばＯＣＲ（Optical Character Recognition）の処理における文字の切出しの手法で行うことができる。
【００４４】
ただし、１つの矩形領域２５の中に１つの文字だけが含まれていなければならないということはない。１つの矩形領域２５に複数の文字が含まれていてもよいし、１つの文字の一部分だけが含まれていてもよい。ドキュメント２０の解像度が低ければ、１文字ごとにではなく複数の文字が纏めて切り出されることが多い。また、画像切出し部１０１によって切り出された矩形領域２５に含まれるオブジェクトは、線画である場合もある。
【００４５】
文字および線画の態様の例として、図６に示すものが挙げられる。「ａ．細かい文字」〜「ｅ．太い連続文字」の５つの例が文字であり、「ｆ．細い水平（垂直）線」〜「ｏ．複雑な曲線（細かめ、幅狭）」の１０個の例が線画である。
【００４６】
そこで、第１判別部１１１は、矩形領域２５の中のオブジェクトが文字であるか線画であるかを次の方法によって判別する。
【００４７】
第１判別部１１１は、矩形サイズ判別部１０２、ＯＦＦ／ＯＮ比率判別部１０３および画素密度判別部１０４によって構成される。
【００４８】
矩形サイズ判別部１０２は、画像切出し部１０１により切り出された矩形領域２５のサイズを検出し、そのサイズに応じて、矩形領域２５の中のオブジェクトが文字であるか否かを判別する。
【００４９】
具体的には、矩形サイズ判別部１０２は、矩形領域２５の長辺の長さが所定の長さα１（例えば、１４ｍｍ）よりも短ければ、このオブジェクトが文字であると、判別する。
【００５０】
従来は、例えば数字の「１」および漢数字の「一」のようにほぼ一直線の形状をした文字を線画と判別（認識）することがあった。しかし、このように長辺の長さに基づいて判別することによると、ほぼ一直線の形状をした文字であっても、線画とは判別せず、文字であると判別することができる。
【００５１】
なお、一般にドキュメントに含まれる文字のサイズは、５０ポイント以下であることが多い。そこで、所定の長さα１を、５０ポイントつまり約１８ｍｍまたはそれに相当する画素数に設定しておけば、好適な判別を行うことができる。もちろん、所定の長さα１は他の長さであっても構わない。ユーザが設定できるようにしてもよい。
【００５２】
一方、長辺の長さが所定の長さα１以上であれば、次に説明するＯＦＦ／ＯＮ比率判別部１０３による判別処理が行われる。
【００５３】
ＯＦＦ／ＯＮ比率判別部１０３は、矩形領域２５において高さ方向または幅方向のいずれかである検出方向に沿って生じる白画素と黒画素との境界の数を検出する。ただし、黒画素とは、画像の一部として認識されている画素をいう。また、白画素とは、黒画素以外の画素であり、背景として認識されている画素をいう。
【００５４】
ここで、白画素と黒画素との境界の数の検出方法を、検出方向が幅方向である場合を例に説明する。まず、ＯＦＦ／ＯＮ比率判別部１０３は、矩形領域２５の幅方向の最も上のラインについて、白画素と黒画素との境界の数を検出する。つまり、最も上のラインの一方の端から他方の端へ走査するようにして、白画素から黒画素に変わる位置および黒画素から白画素に変わる位置の個数を検出する。さらに続けて、その１つ下の幅方向のラインについて、白画素と黒画素との境界の数を検出する。このように、順次、矩形領域２５の幅方向の最も下のラインまで、白画素と黒画素との境界の数を検出し、総数を算出する。この総数がＯＦＦ／ＯＮ頻度である。なお、ＯＦＦ／ＯＮ頻度は、他の方法によって求めてもよい。例えば、画像のエッジの長さを求める公知の方法を用いてもよい。
【００５５】
さらに、ＯＦＦ／ＯＮ比率判別部１０３は、ＯＦＦ／ＯＮ頻度を矩形領域２５の画素の総数で割ることによって、ＯＦＦ／ＯＮ比率つまり単位面積当たりのＯＦＦ／ＯＮ頻度を算出する。そして、ＯＦＦ／ＯＮ比率が所定の値α２以下であれば、矩形領域２５の中のオブジェクトが線画であると判別する。ＯＦＦ／ＯＮ比率が所定の値α２よりも大きければ、次の説明する画素密度判別部１０４による判別処理が行われる。
【００５６】
画素密度判別部１０４は、矩形領域２５の画素の総数に対する黒画素の個数の割合を検出する。以下、この割合を「画素密度」と記載する。そして、画素密度が所定の値α３以下であれば、矩形領域２５の中のオブジェクトが線画であると判別する。画素密度が所定の値α３よりも大きければ、次に説明する第２判別部１１２による判別処理が行われる。
【００５７】
第２判別部１１２は、文字であるか線画であるかを第１判別部１１１によっては判別することができなかった矩形領域２５について、文字であるか線画であるかを次のように判別する。
【００５８】
第２判別部１１２は、細線化処理部１０５、細線化前画素数検出部１０６、細線化後画素数検出部１０７、残存率算出部１０８および残存率比較判別部１０９によって構成される。
【００５９】
細線化処理部１０５は、矩形領域２５の中のオブジェクトを細線化処理により細線化する。以下、図８（Ａ）に示すオブジェクト３２を細線化する場合を例に、細線化処理について説明する。
【００６０】
図７は、フィルタ３０の一例を示す図である。図８は、細線化処理におけるフィルタ３０の使用方法の一例を説明するための図である。
【００６１】
細線化処理部１０５は、フィルタ３０を有している。フィルタ３０は、Ｎ×Ｎ画素（Ｎは、３以上の奇数）のサイズの矩形のフィルタである。以下、図７に示す３×３画素のサイズのフィルタをフィルタ３０として用いる場合を例に説明する。
【００６２】
細線化処理部１０５は、まず、オブジェクト３２の任意の画素に注目し、この画素（以下、「注目画素」と記載する。）の上に、フィルタ３０の中心が位置するようにフィルタ３０を重ねる。図８（Ｂ）のようにフィルタ３０にオブジェクト３２と重なっていない箇所が１つでもある場合は、注目画素を黒から白へ置換する。一方、図８（Ｃ）のようにフィルタ３０のすべての箇所がオブジェクト３２と重なっている場合は、置換は行わない。
【００６３】
そして、細線化処理部１０５は、オブジェクト３２の他の画素についても順次注目し、上述の処理を実行する。これにより、オブジェクト３２が図８（Ｄ）のように細線化される。
【００６４】
細線化前画素数検出部１０６は、細線化処理の前における矩形領域２５の中の黒画素の個数（以下、「黒画素数Ｃ１」と記載する。）を検出する。
【００６５】
細線化後画素数検出部１０７は、細線化処理の施された矩形領域２５の中の黒画素の個数（以下、「黒画素数Ｃ２」を検出する。
【００６６】
残存率算出部１０８は、残存率Ｒを求める。「残存率」とは、細線化処理の前と比較して、細線化処理の後にどの程度の黒画素が残存しているかを示す指標である。
【００６７】
残存率Ｒは、
（黒画素数Ｃ２／黒画素数Ｃ１）×１００（％）
で求められる。
【００６８】
図９は、細線化処理前の画像および細線化処理後の画像と残存率との関係の一例を示す表である。
【００６９】
ところで、図９には、９ポイントの文字、１８ポイントの文字、３６ポイントの文字、５４ポイントの文字および高さが３６ポイントの折れ線のそれぞれの、細線化処理の前の状態と、７×７のフィルタ３０を用いて細線化した後の状態とが、示されている。さらに、それぞれの残存率が示されている。なお、図９では、細い折れ線との比較の容易のために、代表的な細い線幅の１つである明朝体の文字を例示している。
【００７０】
図９に示すように、文字のサイズが大きくなるにつれて残存率が増加している。上に述べたように、折れ線については３６ポイントの文字と同一の高さとした。３６ポイントの文字の残存率が２２．３％であるのに対し、折れ線の残存率は２．７％である。このように、折れ線の残存率は、文字の残存率に比べて大幅に低い値となる。
【００７１】
これは、文字はサイズが大きくなるにつれて太さも増すが、グラフなどの線画はサイズが大きくなっても、線の太さはあまり変化しないためである。このように、文字の残存率に対して線画の残存率は大幅に低いといえる。
【００７２】
したがって、閾値ＴＨと残存率とを比較することにより、オブジェクトが文字であるか線画であるかを判別すればよい。
【００７３】
図３に戻って、残存率比較判別部１０９は、閾値ＴＨと残存率算出部１０８により算出された残存率Ｒとを比較する。そして、残存率Ｒが閾値ＴＨ未満であれば線画であると判別し、閾値ＴＨ以上であれば文字であると判別する。
【００７４】
図１０は、文字のサイズと残存率との関係の一例を示す図である。縦軸を残存率とし横軸を文字のサイズとしている。図１０には、ゴシック体および明朝体のそれぞれのフォントの各サイズの文字に対して、７×７のフィルタ３０を用いて細線化処理を行った場合の残存率が示されている。なお、一般に、文字のサイズは、文字の高さによって表わされる。図１０の横軸に示す文字のサイズも、文字の高さを表している。
【００７５】
図１０に示すように、いずれのフォントにおいても、２０ポイント以上の残存率は、ほぼリニアに増加している。また、図１０において点Ｐは、図４の折れ線２３と同一の形状を有し高さが３６ポイントの折れ線に対する細線化処理による残存率を示している。このように、高さが同じであれば、折れ線の残存率のほうが文字の残存率よりも明確に低い値となっている。
【００７６】
そこで、閾値ＴＨは、文字の残存率よりも低くかつ線画の残存率よりも高い値とすればよい。つまり、これらの間の値に設定すればよい。ここで、閾値ＴＨの設定の方法の例を説明する。
【００７７】
１つ目の方法は、閾値ＴＨを、矩形領域２５の中のオブジェクトの高さに応じた値に設定する方法である。
【００７８】
上に述べたように、文字の高さと残存率との関係も、線画の高さと残存率との関係も、ほぼリニアな関係である。したがって、高さと閾値ＴＨとの関係もリニアな関係とすればよい。そして、この関係を示す閾値設定用データ６０を用意しておく。閾値設定用データ６０は、関数であってもよいし、テーブルであってもよい。ただし、上に述べたように、閾値ＴＨは、文字の残存率よりも低くかつ線画の残存率よりも高い値でなければならない。したがって、この関数の傾きは、文字の高さと残存率との関係を表わす関数の傾きよりも小さくかつ線画の高さと残存率との関係を表わす関数の傾きよりも大きくなければならない。そこで、例えば、これら２つの傾きの平均値にしてもよい。または、文字の高さと残存率との関係を表わす関数の傾きと同じ値にしてもよい。縦軸の切片も、閾値ＴＨが文字の残存率よりも低くかつ線画の残存率よりも高い値になるように、任意に決めておけばよい。これにより、高さと閾値ＴＨとの関係を表わす関数は、直線Ｌのように表わされる。
【００７９】
そして、判別の対象の矩形領域２５の中のオブジェクトの高さに対応する閾値を閾値設定用データ６０に基づいて算出し、この閾値を閾値ＴＨとして設定する。
【００８０】
なお、矩形領域２５の中のオブジェクトの高さは、例えば、次の方法によって求められる。矩形領域２５の中から、連続して並んでいる有色の画素からなる１つまたは複数の画素の塊（画素群）を抽出する。抽出した１つまたは複数の画素群の中から高さ方向の長さが最も長いものを１つ選出する。そして、その長さを、矩形領域２５の中のオブジェクトの高さに決定する。
【００８１】
２つ目の方法は、閾値ＴＨを、矩形領域２５の中のオブジェクトの高さに関わらず固定の値に設定する方法である。
【００８２】
この方法においても、上で述べたように閾値ＴＨは文字の残存率よりも低く線画の残存率よりも高い値としなければならない。高さと残存率との関係が図１０に示す関係であれば、例えば、閾値ＴＨを１０％に固定すればよい。
【００８３】
ところで、高さが約２６ポイント以下の場合は、残存率が１０％よりも小さくなる文字が見られる。この原因は、７×７フィルタを使って細線化を行っているためである。しかし、文字の残存率が低くなり過ぎると、矩形領域２５の中のオブジェクトが文字であるのか線画であるのかを識別しにくくなってしまう。
【００８４】
そこで、矩形領域２５の中のオブジェクトの高さが３０ポイントよりも小さい場合は、細線化処理を行う際に用いるフィルタ３０のサイズを７×７よりも小さくすればよい。例えば、５×５のフィルタ３０を用いて細線化処理を行えばよい。これにより、７×７のフィルタ３０を用いる場合に比べて文字の残存率と線画の残存率との差が大きくなる。そして、フィルタ３０ごとに閾値設定用データ６０を用意しておけばよい。
【００８５】
また、判別対象であるオブジェクトが線画として判別されやすくするためには、次のようにすればよい。上述の１つ目の方法つまり閾値ＴＨを変更する方法を用いる場合は、高さと閾値ＴＨとの関係を表わす関数の縦軸の切片がより大きくなるように、閾値設定用データ６０を用意すればよい。一方、２つ目の方法つまり閾値ＴＨを固定する方法を用いる場合は、単に、閾値ＴＨをより大きい値に設定しておけばよい。同様に、文字として判別されやすくするためには、縦軸の切片がより小さくなるように、閾値設定用データ６０を用意し、または、閾値ＴＨをより小さい値に設定しておけばよい。
【００８６】
または、スキャナユニット１０ｅによりドキュメント２０を読み取る際の解像度に応じて閾値ＴＨを変化させてもよい。解像度に応じて、文字のつぶれ具合が変化するため、細線化処理の結果が変動する。解像度が高い場合は文字のつぶれが少ないため、細線化処理後の残存率が比較的低くなる傾向にある。逆に、解像度が低い場合は文字のつぶれが多いため、細線化処理後の残存率が比較的高くなる傾向にある。そこで、解像度が高い場合は低い場合に比べて閾値ＴＨを低めに設定すればよい。また、解像度が低い場合は高い場合に比べて閾値ＴＨを高めに設定すればよい。
【００８７】
図３に戻って、ＣＰＤＦ画像生成部１１０は、第１判別部１１１および第２判別部１１２それぞれによる判別の結果に基づいてドキュメント２０のコンパクトＰＤＦのファイルを生成する処理を、例えば次のように実行する。
【００８８】
ＣＰＤＦ画像生成部１１０は、ドキュメント２０の中の、第１判別部１１１または第２判別部１１２によって文字であると判別されたオブジェクトのビットマップデータをビットマップデータ５０の中から抽出する。そして、抽出したデータを、二値画像のデータに変換し、さらに圧縮する。以下、このようにして得られたデータを「文字画像データ５１」と記載する。
【００８９】
さらに、ドキュメント２０の中の、第１判別部１１１または第２判別部１１２によって線画であると判別されたオブジェクトのビットマップデータをビットマップデータ５０の中から抽出する。そして、抽出したデータを、ＪＰＥＧ（Joint Photographic Experts Group）のデータに変換することによって圧縮する。以下、このようにして得られたデータを「非文字画像データ５２」と記載する。
【００９０】
そして、これらの文字画像データ５１および非文字画像データ５２などを１つのファイルに纏めることによって、コンパクトＰＤＦのファイルを生成する。
【００９１】
次に、ドキュメント２０のコンパクトＰＤＦのファイルを生成する全体的な処理の流れについて、図１１を参照しながら説明する。
【００９２】
図１１は、画像形成装置１の全体的な処理の流れの一例を説明するフローチャートである。図１２は、残存率による判別処理の流れの一例を説明するフローチャートである。
【００９３】
図１１に示すように、画像形成装置１は、ドキュメント２０を用紙から読み取り、矩形領域２５を切り出す（＃２０１）。
【００９４】
切り出した矩形領域２５の長辺を検出し、その長さが所定の長さα１以上であるか否かを判別する（＃２０２）。所定の長さα１よりも短い場合は（＃２０２でＮｏ）、この矩形領域２５の中のオブジェクトが文字であると判別する（＃２０６）。
【００９５】
長辺の長さが所定の長さα１以上である場合は（＃２０２でＹｅｓ）、ＯＦＦ／ＯＮ比率を検出し、その値が所定の値α２以下であるか否かを判別する（＃２０３）。所定の値α２以下である場合は（＃２０３でＹｅｓ）、このオブジェクトは線画であると判別する（＃２０７）。
【００９６】
ＯＦＦ／ＯＮ比率が所定の値α２よりも大きい場合は（＃２０３でＮｏ）、画素密度を検出し、その値が所定の値α３以下であるか否かを判別する（＃２０４）。所定の値α３以下である場合は（＃２０４でＹｅｓ）、この画像は線画であると判別する（＃２０７）。
【００９７】
画素密度が所定の値α３よりも大きい場合は（＃２０４でＮｏ）、図１２に示す方法によって判別を行う（＃２０５）。
【００９８】
図１２において、画像形成装置１は、細線化処理を行う前の、オブジェクトの黒画素の数すなわち黒画素数Ｃ１を検出する（＃３０１）。オブジェクトの細線化処理を行い（＃３０２）、細線化処理がなされたオブジェクトの黒画素の数すなわち黒画素数Ｃ２を検出する（＃３０３）。
【００９９】
黒画素数Ｃ１および黒画素数Ｃ２を用いて残存率Ｒを算出し（＃３０４）、閾値ＴＨ以上であるか否かを判別する（＃３０５）。残存率Ｒが閾値ＴＨ以上であれば（＃３０５でＹｅｓ）、オブジェクトが文字であると判別する（＃３０６）。一方、残存率Ｒが閾値ＴＨよりも小さければ（＃３０５でＮｏ）、線画であると判別する（＃３０７）。
【０１００】
図１１に戻って、ステップ＃２０１において矩形領域２５が複数切り出された場合は、矩形領域２５それぞれについてステップ＃２０２〜＃２０７の処理を適宜実行する。
【０１０１】
そして、画像形成装置１は、すべての矩形領域２５について判別が終わったら（＃２０８でＹｅｓ）、矩形領域２５それぞれの中のオブジェクトのデータをそれぞれに対する判別結果に応じて圧縮し、圧縮されたデータをマージするなどしてコンパクトＰＤＦのファイルを生成する（＃２０９）。
【０１０２】
本実施形態によると、スキャナユニット１０ｅにより取り込んだ画像が文字であるか文字以外の画像であるかを従来よりも正確に判別することができる。よって、画像のタイプに応じてデータを好適なフォーマットに圧縮することができるので、コンパクトＰＤＦのファイルを従来よりも好適に生成することができる。例えば、画像形成装置１によると、斜線が文字ではなく線画と判別されＪＰＥＧで圧縮されるので、斜線をガタガタせず滑らかに再現することができる。しかも、従来よりも確実に、線画を文字と区別することができるので、ＯＣＲの処理において線画を誤って文字として取り扱う不具合を減らすことができる。よって、天地の認識および文字の誤認識を減らすことができる。
【０１０３】
図１３〜図１６は、残存率による判別処理の流れの変形例を説明するフローチャートである。
【０１０４】
上述の通り、細線化処理におけるフィルタ３０のサイズを矩形領域２５のサイズに応じて変更してもよい。その場合の判別処理の流れについて図１３を参照して説明する。
【０１０５】
図１３において、画像形成装置１は、図１２のステップ＃３０１と同様、細線化処理を行う前の、オブジェクトの黒画素の数すなわち黒画素数Ｃ１を検出する（＃４０１）。オブジェクトの細線化処理を行う前に、矩形領域２５のサイズ（例えば、高さ方向の長さ）を検出し、それに応じたサイズをフィルタ３０のサイズに決定する（＃４０２）。そして、決定したサイズのフィルタ３０を用いて細線化処理を行う（＃４０３）。ステップ＃４０４〜＃４０８の処理の内容は、図１２のステップ＃３０３〜＃３０７の処理の内容と同様である。
【０１０６】
矩形領域２５のサイズに応じてフィルタ３０のサイズを変更するので、より好ましい細線化処理がなされて、より正確な判別を行うことができる。
【０１０７】
なお、矩形領域２５が複数ある場合は、矩形領域２５のサイズのうちの最大値または矩形領域２５のサイズの平均値に対応するサイズをフィルタ３０のサイズに決定してもよい。
【０１０８】
または、細線化処理におけるフィルタ３０のサイズをドキュメント２０の読取解像度に応じて変更してもよい。その場合の判別処理の流れについて図１４を参照して説明する。
【０１０９】
図１４において、画像形成装置１は、図１２のステップ＃３０１と同様、細線化処理を行う前の、オブジェクトの黒画素の数すなわち黒画素数Ｃ１を検出する（＃５０１）。オブジェクトの細線化処理を行う前に、ドキュメント２０の読取解像度に応じたサイズをフィルタ３０のサイズに決定する（＃５０２）。そして、決定したサイズのフィルタ３０を用いて細線化処理を行う（＃５０３）。読取解像度が高いほど、大きなサイズとすることが好ましい。例えば、読取解像度が１５０ｄｐｉ未満の場合は３×３のフィルタ３０を用い、１５１〜２５０ｄｐｉの場合は５×５のフィルタ３０を用い、２５１〜３５０ｄｐｉの場合は７×７のフィルタ３０を用い、３５１ｄｐｉ以上の場合は９×９のフィルタ３０を用いてもよい。
【０１１０】
ステップ＃５０４〜＃５０８の処理の内容は、図１２のステップ＃３０３〜＃３０７の処理の内容と同様である。
【０１１１】
読取解像度に応じてフィルタ３０のサイズを変更するので、より好ましい細線化処理がなされて、より正確な判別を行うことができる。
【０１１２】
または、上述の通り、閾値ＴＨを矩形領域２５のサイズに応じて変更してもよい。その場合の判別処理の流れについて図１５を参照して説明する。
【０１１３】
図１５のステップ＃６０１〜＃６０４の処理の内容は、図１２のステップ＃３０１〜＃３０４の処理の内容と同様である。
【０１１４】
矩形領域２５のサイズに応じて好ましい閾値ＴＨを決定する（＃６０５）。決定の仕方は、前に、図１０などを用いて説明した通りである。
【０１１５】
図１５のステップ＃６０６〜＃６０８の処理の内容は、図１２のステップ＃３０５〜＃３０７の処理の内容と同様である。
【０１１６】
文字の残存率と線画の残存率との間の値はサイズに応じて変動することから、矩形領域２５のサイズに応じて閾値ＴＨを変更することで、より正確な判別を行うことができる。
【０１１７】
または、上述の通り、閾値ＴＨを読取解像度に応じて変更してもよい。その場合の判別処理の流れについて図１６を参照して説明する。
【０１１８】
図１６のステップ＃７０１〜＃７０４の処理の内容は、図１２のステップ＃３０１〜＃３０４の処理の内容と同様である。
【０１１９】
ドキュメント２０の読取解像度に応じて好ましい閾値ＴＨを決定する（＃７０５）。決定の仕方は、前に説明した通りである。
【０１２０】
図１６のステップ＃７０６〜＃７０８の処理の内容は、図１２のステップ＃３０５〜＃３０７の処理の内容と同様である。
【０１２１】
読取解像度により文字のつぶれの度合いが変動するため、残存率も解像度に応じて変化する。したがって、読取解像度に応じて閾値ＴＨを変更することで、より正確な判別を行うことができる。
【０１２２】
画像形成装置１の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１２３】
１  画像形成装置（画像処理装置）
１０２  矩形サイズ判別部（第２判別手段）
１０３  ＯＦＦ／ＯＮ比率判別部（第２判別手段）
１０４  画素密度判別部（第２判別手段）
１０５  細線化処理部（細線化処理手段）
１０６  細線化前画素数検出部（第１画素数検出手段）
１０７  細線化後画素数検出部（第２画素数検出手段）
１０９  残存率比較判別部（判別手段）
【図１】
0005807572.tif 000002
【図２】
0005807572.tif 000003
【図３】
0005807572.tif 000004
【図４】
0005807572.tif 000005
【図５】
0005807572.tif 000006
【図６】
0005807572.tif 000007
【図７】
0005807572.tif 000008
【図８】
0005807572.tif 000009
【図９】
0005807572.tif 000010
【図１０】
0005807572.tif 000011
【図１１】
0005807572.tif 000012
【図１２】
0005807572.tif 000013
【図１３】
0005807572.tif 000014
【図１４】
0005807572.tif 000015
【図１５】
0005807572.tif 000016
【図１６】
0005807572.tif 000017