(58)【調査した分野】(Int.Cl.,DB名)
前記選択手段は、前記文字認識処理において認識された文字数が前記予め定められた条件を満たさない場合に、前記文字認識処理において判別不能と判断された文字の数、前記文字認識処理の処理時間、または前記文字認識処理において認識された各文字の判別確度の少なくともいずれかひとつに基づいて、前記選択を行う
請求項1に記載の画像処理装置。
前記第2生成手段は、前記指示手段によってカラー画像データの生成処理の実行を指示された場合に、生成するカラー画像データの設定値と前記指示手段によって指示された基準値との差分が、前回生成したカラー画像データの設定値と前回の基準値との差分よりも小さくなるように、カラー画像データの生成処理を行う
請求項3に記載の画像処理装置。
【発明を実施するための形態】
【0015】
1.構成
図1は、本実施形態に係る画像形成装置10の機能構成を示す図である。画像形成装置10は、例えば電子写真方式の画像形成装置である。画像形成装置10は、用紙などの記録媒体に画像を形成する画像形成機能、画像を複写する複写機能、記録媒体に形成されている画像を読み取るスキャン機能などを備えている。画像形成装置10が備える機能はこれらの機能に限定されるものではなく、例えばファクシミリ機能を備えていてもよい。また、画像形成装置10は上述した機能を全て備えているものに限定されず、例えば、画像形成機能および複写機能を備えており、他の機能を備えていない構成であってもよい。
【0016】
画像形成装置10は、生成手段11、変換手段12、文字認識手段13、選択手段14および指示手段15を有する。生成手段11は、一のカラー原稿を読み取った画像情報の濃度値およびシャープネスの設定値がそれぞれ異なる複数のカラー画像データを生成する。変換手段12は、複数のカラー画像データをそれぞれ、モノクロ画像データに変換する。文字認識手段13は、複数のモノクロ画像データに対してそれぞれ、文字認識処理を施す。選択手段14は、複数のモノクロ画像データのそれぞれに対して施された文字認識処理による文字認識数が予め定められた条件を満たすモノクロ画像を選択する。また、選択手段14は、選択したモノクロ画像データを出力する。指示手段15は、選択手段14によって選択されたモノクロ画像データの設定値が基準値でない場合であって、かつ、予め定められた範囲内の設定値であって該選択されたモノクロ画像データの設定値との差分が予め定められた値となる設定値のカラー画像データが未だ生成されていない場合に、該選択されたモノクロ画像データに対応する設定値を基準とした場合のカラー画像データの生成の実行を、第2生成手段112に指示する。
【0017】
この例で、生成手段11は、第1生成手段111と、第2生成手段112とを有する。第1生成手段111は、カラー原稿を読み取ってカラー画像データを生成する。第2生成手段112は、第1生成手段111によって生成されたカラー画像データの設定値を基準値とした場合に、基準値との差分が予め定められた値である設定値のカラー画像データを1または複数生成する。
【0018】
図2は、画像形成装置10のハードウェア構成を例示する図である。画像形成装置10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、ストレージ104と、UI部105と、画像形成部106と、画像読取部107と、通信IF108とを有する装置である。CPU101は、画像形成装置10の各部を制御する制御装置(プロセッサ)である。ROM102は、プログラムおよびデータを記憶する不揮発性の記憶装置である。RAM103は、CPU101がプログラムを実行する際の作業領域として機能する揮発性の主記憶装置である。ストレージ104は、プログラムおよびデータを記憶する不揮発性の補助記憶装置である。UI部105は、各種のキーやタッチセンサなどの操作子を備え、利用者の操作に応じた操作情報をCPU101に供給する。CPU101はこの操作情報に応じた処理を行う。また、UI部105は、液晶パネルや液晶駆動回路を備え、CPU101による制御の下で画像を表示する。画像形成部106は、電子写真方式で用紙などの記録媒体に画像を形成する。画像読取部107は、原稿の画像を光学的に読み取る。通信IF108は、通信回線を介して他の装置と通信を行うためのインタフェースである。
【0019】
この例で、ストレージ104(またはROM102)に記憶されているモノクロ画像変換プログラムをCPU101が実行することにより、
図1に示される機能が実装される。モノクロ画像変換プログラムを実行しているCPU101、またはCPU101および画像読取部107は、生成手段11の一例である。モノクロ画像変換プログラムを実行しているCPU101は、変換手段12、文字認識手段13、選択手段14および指示手段15の一例である。また、モノクロ画像変換プログラムを実行しているCPU101、またはCPU101および画像読取部107は、第1生成手段111の一例である。モノクロ画像変換プログラムを実行しているCPU101は、第2生成手段の一例である。
【0020】
2.動作
2−1.動作例1
次に、画像形成装置10が行う画像処理動作について説明する。画像形成装置10は、UI部105を用いた利用者の操作や、通信IF108を介して他の装置から受信されるデータなどに応じて、各種の画像処理を実行する。ここでは、本実施形態に特徴的な処理である、カラー原稿を読み取ってモノクロ画像データを生成し、生成したモノクロ画像データをファクシミリ送信したり画像形成処理により出力したりする処理について説明する。この例で、カラー原稿としては、例えば、カラー背景の列や行を有する表を含む原稿や、カラー文字を含んだ文書、プリントされた文書に手書き文字が書き込まれた原稿、などが挙げられる。
【0021】
まず、利用者は、読み取らせたいカラー原稿を画像読取部107にセットし、UI部105を用いて原稿のモノクロ読取を指示する操作を行う。UI部105は、利用者の操作内容に応じた情報をCPU101に出力する。CPU101は、UI部105から出力される情報に応じて、カラー原稿を読み取る処理に関する各種の設定を行うための設定画面をUI部105に表示する。この例で、CPU101は、原稿の読取処理における「読み込み濃度」の設定と「シャープネス」の設定を行うための画面をUI部105に表示する。
【0022】
図3は、濃度とシャープネスの設定画面の一例を示す図である。
図3に示す例において、利用者は、ボタンB1からボタンB7のいずれかを選択することによって濃度を7段階で設定するようになっている。また、利用者は、ボタンB11からB15のいずれかを選択することによって、シャープネスを5段階で設定するようになっている。ボタンB1ないしボタンB15が選択され、利用者によって濃度やシャープネスが設定された後に、読取処理の開始を指示するためのスタートボタンが押下されると、CPU101は、設定された濃度の設定値やシャープネスの設定値でカラー原稿のモノクロ読取処理を行う。一方、この例で、
図3に例示するボタンB21が押下された場合には、濃度やシャープネスを利用者が手動で設定することなく、画像形成装置10が濃度やシャープネスの設定値を決定する処理を行う。
【0023】
図4および
図5は、カラー原稿の内容の例を示す図である。
図4は、カラー背景の列や行を有する表を含む原稿を例示している。
図5は、背景がグラデーションになっている領域にカラーの文字が描画された画像I1を含んだ原稿を例示している。このようなカラー原稿は、読取の濃度の設定値やシャープネスの設定値をどうような値に設定するかによって、文字や表が消えてしまったり、手書き文字がかすれたりつぶれてしまう場合がある。
【0024】
図6および
図7は、
図4に示すカラー原稿を読み取って生成されたモノクロ画像データの内容の一例を示す図である。
図6に示すモノクロ画像データと、
図7に示すモノクロ画像データとは、濃度の設定値および/またはシャープネスの設定値が異なっている。
図6に示す例では、カラー原稿に記載されていた「金額」および「個数」の文字は視認できるものの、「項目」、「A社」、「B社」の文字は背景色にとけて視認できない。
図7に示す例では、「金額」、「個数」、「項目」、「A社」、「B社」の全て文字が視認できなくなっている。
【0025】
図8は、
図5に示したカラー原稿に含まれる画像I1を読み取って生成されたモノクロ画像データの例を示す図である。
図8に示すモノクロ画像I11、I12、I13、I14、I15はそれぞれ、読取処理における濃度の設定値および/またはシャープネスの設定値が異なっている。
図8に示されるように、濃度の設定値とシャープネスの設定値の組み合わせによって、文字が視認し難くなったり、背景のグラデーションがなくなってしまったりしている。このように、設定値によっては文字が視認し難くなったりしてしまうが、カラー原稿の読取における濃度の設定値とシャープネスの設定値をどのような値にすればよいかを選択することは、利用者にとって困難な場合がある。そこで、この実施形態では、濃度とシャープネスの自動設定を指示するボタンB21が利用者によって選択された場合は、CPU101が、以下の処理を行うことによって濃度の設定値とシャープネスの設定値の組み合わせを決定する。
【0026】
図9は、利用者によって
図3に示すボタンB21が押下された場合にCPU101が実行する設定値決定処理の流れを示すフローチャートである。
図9に示す処理を実行することによって、CPU101は、カラー原稿の読取処理における濃度の設定値とシャープネスの設定値を決定する。この例で、濃度の設定値は、−3〜+3のいずれかの値をとる。シャープネスの設定値は、−2〜+2のいずれかの値をとる。また、この例で、濃度の設定値xとシャープネスの設定値yの組み合わせを設定値(x,y)と表す。また、便宜上、設定値(x,y)をxy平面上の座標として説明する場合がある。また、以下の説明では、説明の便宜上、設定値が(0,0)のカラー画像データを「カラー画像データI
00」と称して説明する。また、カラー画像データI
00に対して二値化処理が施されて生成されたモノクロ画像データを、「モノクロ画像データI
m00」と称する。
【0027】
ステップS101において、CPU101は、座標(0,0)を起点とし、画像読取部107を制御して、セットされたカラー原稿を設定値(0,0)で読み取らせる。また、CPU101は、読み取ったカラー画像を表すカラー画像データI
00に対して二値化処理を施してモノクロ(白黒)画像データを生成する。ステップS102において、CPU101は、カラー画像データI
00に対して設定値を予め定められた値だけ変更する画像処理を施したカラー画像データを生成し、生成したカラー画像データに対して二値化処理を施してモノクロ画像データを生成する。この例で、CPU101は、カラー画像データI
00に対して、設定値を(−2,+1)、(−2,−1)、(0,+2)、(0,−2)、(+2,+1)、(+2、−1)とする画像処理を施した6つのカラー画像データを生成する。CPU101は、上記6個の設定値のカラー画像データに対してそれぞれ二値化処理を施して6種類のモノクロ画像データを生成する。このように、本動作例では、起点に隣接する座標を選択するのではなく、少し離れた座標を選択する。起点に隣接する座標を選択すると、最適な設定値をみつけるために比較対象とするモノクロ画像データの数が多くなってしまい、処理時間が長くなってしまう場合がある。そこで、この例では、起点から少し離れた座標を選択することによって処理時間の短縮化を図っている。
【0028】
図10は、設定値決定処理において生成されるモノクロ画像データの濃度の設定値とシャープネスの設定値の組み合わせを示す図である。図において、横軸は濃度の設定値を示し、縦軸はシャープネスの設定値を示す。ステップS101で生成されるモノクロ画像データの設定値の組み合わせの座標に「0」が記載されている。ステップS102で生成されるモノクロ画像データの設定値の組み合わせの6箇所の座標に「1」が記載されている。
【0029】
ステップS103において、CPU101は、ステップS101およびステップS102で生成された7つのモノクロ画像データに対して文字認識処理を施し、認識された文字数(以下「認識文字数」という)を比較する。文字認識には、周知の文字認識の技術が用いられる。起点(0,0)のモノクロ画像データにおける認識文字数が最大である場合には(ステップS103;YES)、CPU101は、ステップS104の処理に進み、起点(0,0)を設定値として選択する。すなわち、CPU101は、起点(0,0)のモノクロ画像データI
m00を、出力画像データとして選択する。選択された出力画像データは、利用者によって指定された形式で、例えばファクシミリ送信や画像形成処理などにより出力される。
【0030】
一方、ステップS103において、起点(0,0)のモノクロ画像データI
m00の認識文字数が最大でないと判定された場合は(ステップS103;NO)、CPU101は、ステップS105の処理に進む。ステップS105において、CPU101は、ステップS102で生成した6つのモノクロ画像データのうちのいずれかの認識文字数が最大であるかを判定する。6つのモノクロ画像データのうちのいずれかの認識文字数が最大である場合は(ステップS105;YES)、CPU101は、ステップS106の処理をスキップし、ステップS107の処理に進む。一方、6つのモノクロ画像データの認識文字数がいずれも最大でない場合は(ステップS105;NO)、CPU101は、ステップS106の処理に進む。6つのモノクロ画像データの認識文字数がいずれも最大でない場合とは、6つのモノクロ画像データのなかに、認識文字数がモノクロ画像データI
m00の認識文字数と同値であるものが存在する場合である。なお、ステップS105において6つのモノクロ画像データの中の複数のモノクロ画像データの認識文字数が同一の最大値をとっている場合は(ステップS105;YES)、CPU101は、ステップS106の処理をスキップしてステップS107の処理に進む。
【0031】
ステップS106において、CPU101は、認識文字数が最大である複数のモノクロ画像データについて、文字認識処理において判別不能と判定された文字の数(以下「判別不能文字数」という)を比較する。これらの複数のモノクロ画像データのうち、起点(0,0)のモノクロ画像データの判別不能文字数が最小である場合、または、判別不能文字数が全て同じ値である場合は(ステップS106;YES)、CPU101は、ステップS104の処理に進み、起点(0,0)を設定値として選択する。
【0032】
ステップS107において、CPU101は、認識文字数が最大である設定値(x,y)の座標を新たな起点として設定する。ステップS107において、認識文字数が最大である設定値(x,y)が複数ある場合、CPU101は、複数の設定値の中から、判別不能文字数が最小のものを起点として設定する。更に、判別不能文字数が最小である設定値が複数ある場合は、CPU101は、それらの複数の設定値の中から、「濃度の設定値が「0」に近い方」、「シャープネスの設定値が「0」に近い方」、「濃度の設定値が小さい方」、「シャープネスの設定値が小さい方」、の順に判定を行い、起点を選択する。
【0033】
ステップS108において、CPU101は、ステップS107で選択された起点の座標を(x
O,y
O)とした場合に、起点の近傍の座標(x
O+1,y
O)、(x
O−1,y
O)、(x
O,y
O+1)、(x
O,y
O−1)の4つの座標に対応するモノクロ画像データを生成する。この例で、CPU101は、カラー画像データI
00に対して、設定値を上記4つの設定値に変更する画像処理を施したカラー画像データを生成し、生成したカラー画像データに対して二値化処理を施してモノクロ画像データを生成する。
図10に示す例では、ステップS107で選択された起点の座標が(−2,+1)である場合にステップS108において選択される4つの座標の位置に、「2」が記載されている。
【0034】
ステップS109において、CPU101は、ステップS108で生成された4つのモノクロ画像データに対して文字認識処理を施し、認識された認識文字数を比較する。起点(x
O,y
O)のモノクロ画像データにおける認識文字数が最大である場合には(ステップS109;YES)、CPU101は、ステップS112の処理に進み、起点(x
O,y
O)を設定値として選択する。すなわち、CPU101は、起点(x
O,y
O)のモノクロ画像データを、出力画像データとして選択する。
【0035】
一方、ステップS109において、起点(x
O,y
O)のモノクロ画像データの認識文字数が最大でないと判定された場合は(ステップS109;NO)、CPU101は、ステップS111の処理に進む。ステップS111において、CPU101は、ステップS108で生成した4つのモノクロ画像データのうちのいずれかの認識文字数が最大であるかを判定する。4つのモノクロ画像データのうちのいずれかの認識文字数が最大である場合は(ステップS111;YES)、CPU101は、ステップS112の処理をスキップし、ステップS113の処理に進む。一方、4つのモノクロ画像データの認識文字数がいずれも最大でない場合は(ステップS111;NO)、CPU101は、ステップS112に処理に進む。4つのモノクロ画像データの認識文字数がいずれも最大でない場合とは、4つのモノクロ画像データのなかに、認識文字数が起点(x
O,y
O)のモノクロ画像データの認識文字数と同値であるものが存在する場合である。なお、ステップS111において4つのモノクロ画像データの中の複数のモノクロ画像データの認識文字数が同一の最大値をとっている場合は(ステップS111;YES)、CPU101は、ステップS112の処理をスキップしてステップS113の処理に進む。
【0036】
ステップS112において、CPU101は、認識文字数が最大である複数のモノクロ画像データについて、判別不能文字数を比較する。これらの複数のモノクロ画像データのうち、起点(x
O,y
O)のモノクロ画像データの判別不能文字数が最小である場合、または、判別不能文字数が全て同じ値である場合は(ステップS111;YES)、CPU101は、ステップS110の処理に進み、起点(x
O,y
O)のモノクロ画像データを、出力画像データとして選択する。
【0037】
ステップS113において、CPU101は、認識文字数が最大である設定値(x,y)を選択する。ステップS113において、認識文字数が最大である設定値(x,y)が複数ある場合、CPU101は、それら複数の設定値の中から、判別不能文字数が最小のものを選択する。更に、判別不能文字数が最小である設定値が複数ある場合は、CPU101は、それらの複数の設定値の中から、「濃度の設定値が「0」に近い方」、「シャープネスの設定値が「0」に近い方」、「濃度の設定値が小さい方」、「シャープネスの設定値が小さい方」、の順に判定を行い、採用する設定値を選択する。
【0038】
採用する設定値が選択されると、CPU101は、画像形成分106や通信IF108を制御し、選択した設定値に対応するモノクロ画像データを、利用者によって指定された形式(ファクシミリ送信、画像形成出力、など)で出力する。
【0039】
ところで、カラー原稿をモノクロでスキャンする場合、スキャン処理の「濃度」と「シャープネス」を設定する必要があるが、利用者が所望するスキャン画質を得るためにこれらの2種類の設定値をどのような組み合わせとするかを決めることが利用者にとって困難である場合がある。その場合、利用者はスキャナやPC画面のプレビューの画像を見ながら、何度もスキャン処理と設定値の変更操作とを行うことにより、所望の設定値の組み合わせを見つけ出すことになる。それに対しこの実施形態では、CPU101によって選択される設定値は、文字認識処理の処理結果が最もよいものであるから、利用者が煩雑な操作を行うことなく、出力されるモノクロ画像データの文字が読み難くなることが抑制される。
【0040】
2−2.動作例2
次いで、画像形成装置10のCPU101が行う設定値決定処理の他の例について説明する。上述の動作例1では、1度目の設定値の比較処理(以下、「フェーズ1」という)においては、起点と起点の周囲6点との計7個の設定値のモノクロ画像データについて比較を行い、2度目の設定値の比較処理(以下、「フェーズ2」という)においては、新たな起点とその起点の周囲4点との計5個の設定値のモノクロ画像データについて比較を行った。それに対しこの動作例では、フェーズ1においては、起点と起点の周囲8点との計9個の設定値のモノクロ画像データについて比較を行い、フェーズ2においては、新たな起点およびその起点の周囲8点のうちのフェーズ1で比較対象となっていない点の設定値のモノクロ画像データについて比較を行う。
【0041】
図11は、この動作例においてCPU101が実行する設定値決定処理の流れを示すフローチャートである。この例で、濃度の設定値は、−3〜+3のいずれかの値をとる。シャープネスの設定値は、−2〜+2のいずれかの値をとる。ステップS201において、CPU101は、設定値(0,0)を起点とし、画像読取部107を制御して、セットされたカラー原稿を設定値(0,0)で読み取らせる。また、CPU101は、読み取ったカラー画像を表すカラー画像データI
00に対して二値化処理を施してモノクロ(白黒)画像データを生成する。ステップS202において、CPU101は、カラー画像データI
00に対して設定値を予め定められた値だけ変更する画像処理を施したカラー画像データを生成し、生成したカラー画像データに対して二値化処理を施してモノクロ画像データを生成する。この例で、CPU101は、カラー画像データI
00に対して、設定値を(0,+1)、(0,−1)、(+1,+1)、(+1,−1)、(+1,0)、(−1、+1)、(−1、−1)、(−1、0)とする画像処理を施した8つのカラー画像データを生成し、生成した8つのカラー画像データに対してそれぞれ二値化処理を施して8つのモノクロ画像データを生成する。
【0042】
図12は、動作例2の設定値決定処理において生成されるモノクロ画像データの濃度の設定値とシャープネスの設定値の組み合わせを示す図である。
図12に示す例では、起点(0,0)の座標に「0」が記載されている。ステップS202で生成されるモノクロ画像データの設定値の組み合わせの8箇所の座標に「1」が記載されている。
【0043】
ステップS203において、CPU101は、ステップS201およびステップS202で生成された9個のモノクロ画像データに対して文字認識処理を施し、認識文字数を比較する。起点(0,0)のモノクロ画像データにおける認識文字数が最大である場合には(ステップS203;YES)、CPU101は、ステップS208の処理に進み、起点(0,0)を設定値として選択する。一方、ステップS203において、起点(0,0)のモノクロ画像データの認識文字数が最大でないと判定された場合は(ステップS203;NO)、CPU101は、ステップS204の処理に進む。ステップS204において、CPU101は、ステップS202で生成した8個のモノクロ画像データのうちのいずれかの認識文字数が最大であるかを判定する。8個のモノクロ画像データのうちのいずれかの認識文字数が最大である場合は(ステップS204;YES)、CPU101は、ステップS205の処理をスキップし、ステップS206の処理に進む。一方、8個のモノクロ画像データの認識文字数がいずれも最大でない場合は(ステップS204;NO)、CPU101は、ステップS205の処理に進む。
【0044】
ステップS205において、CPU101は、認識文字数が最大である複数のモノクロ画像データについて、文字認識処理において判別不能と判定された文字の数(以下「判別不能文字数」という)を比較する。これらの複数のモノクロ画像データのうち、起点(0,0)のモノクロ画像データの判別不能文字数が最小である場合、または、判別不能文字数が全て同じ値である場合は(ステップS205;YES)、CPU101は、ステップS208の処理に進み、起点(0,0)を設定値として選択する。
【0045】
ステップS206において、CPU101は、認識文字数が最大である設定値(x,y)の座標を新たな起点として設定する。ステップS206において、認識文字数が最大である設定値(x,y)が複数ある場合、CPU101は、複数の設定値の中から、判別不能文字数が最小のものを起点として設定する。更に、判別不能文字数が最小である設定値が複数ある場合は、CPU101は、それらの複数の設定値の中から、「濃度の設定値が「0」に近い方」、「シャープネスの設定値が「0」に近い方」、「濃度の設定値が小さい方」、「シャープネスの設定値が小さい方」、の順に判定を行い、起点を選択する。
【0046】
ステップS207において、CPU101は、ステップS206で選択された起点の近傍があるかを判定する。この例で、起点の近傍とは、起点の座標を(x
O,y
O)とした場合に、(x
O,y
O+1)、(x
O,y
O−1)、(x
O+1,y
O+1)、(x
O+1,y
O−1)、(x
O+1,y
O)、(x
O−1、y
O+1)、(x
O−1、y
O−1)、(x
O−1、y
O)の8点のうち、設定値の取り得る範囲である(−3〜+3,−2〜+2)の範囲内に含まれる座標であり、かつ、それまでの処理においてモノクロ画像データが生成されていない座標をさす。起点の近傍がある場合は(ステップS207;YES)、CPU101は、ステップS202の処理に戻り、起点の近傍の設定値のモノクロ画像データを生成する。一方、起点の近傍がない場合は(ステップS207;NO)、CPU101は、ステップS208の処理に進み、ステップS206で選択された起点を設定値として選択する。起点の近傍がなくなるまで、ステップS202ないしステップS207の処理が繰り返し行われることによって、予め定められた範囲内の設定値において、文字認識処理の処理結果が最もよい設定値が探索される。
【0047】
図12に示す例では、1回目のステップS206の処理で選択された起点の座標が(−1,0)である場合の近傍の位置(フェーズ2で比較対象となる設定値の座標)に「2」が記載されている。また、2回目のステップS206の処理で選択された起点の座標が(−2,0)である場合の近傍の位置(フェーズ3で比較対象となる設定値の座標)に「3」が記載されている。また、3回目のステップS206の処理で選択された起点の座標が(−3,+1)である場合の近傍の位置(フェーズ4で比較対象となる設定値の座標)に「4」が記載されている。
【0048】
図10の例と
図12の例を比較すると、
図10の例では、計11個のモノクロ画像データが比較対象として生成されるのに対し、
図12の例では、計17個のモノクロ画像データが比較対象として生成される。動作例1と動作例2を比較すると、動作例1は、生成されるモノクロ画像データの数が少ない分、処理速度が早くなる。一方、動作例2は、比較対象となるモノクロ画像データの数が多い分、出力されるモノクロ画像データの画質は動作例1よりも高くなると言える。
【0049】
2−3.動作例3
次いで、画像形成装置10のCPU101が行う設定値決定処理の他の例について説明する。
【0050】
図13は、この動作例においてCPU101が実行する設定値決定処理の流れを示すフローチャートである。
図13に示すフローチャートが、
図9に示すフローチャートと異なる点は、ステップS108の処理に代えて、ステップS308の処理を含む点と、ステップS111の処理に代えて、ステップS311の処理を含む点である。なお、以下の説明においては、
図9のフローチャートと同様の処理については、同じ符号を付してその説明を省略する。
【0051】
ステップS308において、CPU101は、ステップS107で選択された起点の座標を(x
O,y
O)とした場合に、起点の近傍の座標として、(x
O,y
O+1)、(x
O,y
O−1)、(x
O+1,y
O+1)、(x
O+1,y
O−1)、(x
O+1,y
O)、(x
O−1、y
O+1)、(x
O−1、y
O−1)、(x
O−1、y
O)の8点の座標の設定値に対応するモノクロ画像データを生成する。この例で、CPU101は、カラー画像データI
00に対して、設定値を上記8個の設定値にそれぞれ変更する画像処理を施したカラー画像データを生成し、生成したカラー画像データに対してそれぞれ二値化処理を施して8個のモノクロ画像データを生成する。また、ステップS311において、CPU101は、ステップS308で生成した8個のモノクロ画像データのうちどの認識文字数が最大であるかを判定する。
【0052】
図14は、動作例3の設定値決定処理において生成されるモノクロ画像データの濃度の設定値とシャープネスの設定値の組み合わせを示す図である。
図14に示す例では、フェーズ1で比較対象となる設定値の座標に「1」が記載されている。また、ステップS107(フェーズ1)で選択された起点の座標が(−2,+1)である場合にステップS308において選択される8つの座標(フェーズ2で比較対象となる設定値の座標)の位置に、「2」が記載されている。上述のように、この動作例では、フェーズ1の探索処理が速度優先で行われ、フェーズ2の探索処理が画質優先で行われる。
【0053】
3.変形例
上述した実施形態は、本発明の一例である。これらの実施形態は、以下のように変形してもよい。また、以下の変形例は、互いに組み合わせてもよい。
【0054】
3−1.変形例1
上述の動作例1では、CPU101は、フェーズ1では起点の近傍6点について文字認識処理の処理結果の比較処理を行い、フェーズ2では起点の近傍4点について比較処理を行った。また、動作例3では、CPU101は、フェーズ1では起点の近傍6点について比較処理を行い、フェーズ2では起点の近傍8点について比較処理を行った。また、動作例2では、CPU101は、各フェーズで起点の近傍8点のうち比較処理が未だ行われていない座標の設定値について比較処理を行った。各フェーズでの比較対象となる設定値(座標)の数は、上述した各動作例で示したものに限られない。各フェーズでの比較対象となる設定値は、種々の値が採用され得る。例えば、フェーズ1で起点の近傍8点について比較処理が行われ、フェーズ2で起点の近傍4点について比較処理が行われてもよい。
【0055】
また、各フェーズでの比較対象となる設定値は、座標の左右対称となる値が選択される必要はなく、選択される設定値の座標が偏っていてもよい。なお、本実施形態において、「起点の近傍」とは、起点に隣接する座標に限られない。本実施形態に係る「近傍」は、起点との差分が予め定められた条件を満たす座標を含む。また、本実施形態において、起点と近傍座標との距離はフェーズ毎に異なっていてもよい。例えば、上述の動作例1のフェーズ1における起点と近傍6点の距離は、フェーズ2における起点と近傍4点の距離よりも大きい。
【0056】
また、上述の動作例1および動作例3では、CPU101は、フェーズ1およびフェーズ2の複数のフェーズに分けて段階的に探索処理を行ったが、設定値の探索処理は段階的に行われなくてもよい。例えば、CPU101が、(−3〜+3,−2〜+2)の範囲に含まれる全ての設定値の組み合わせについて、モノクロ画像データを生成し、生成したモノクロ画像データに対する文字認識処理の処理結果の比較を行ってもよい。
【0057】
また、上述の動作例1および動作例3では、CPU101は、フェーズおよびフェーズ2の2段階に分けて設定値の探索処理を行ったが、フェーズの数は2に限られない。例えば、3段階のフェーズに分けて設定値の探索処理が行われてもよい。
【0058】
3−2.変形例2
上述の実施形態では、CPU101が、カラー画像データI
00に対して画像処理を施すことによって、濃度の設定値およびシャープネスの設定値の少なくともいずれか一方の設定値が異なるカラー画像データを複数生成した。複数のカラー画像データを生成する手法はこれに限られない。例えば、CPU101が、画像読取部107を制御して、濃度の設定値およびシャープネスの設定値の少なくともいずれか一方の設定値を異ならせて、複数回のスキャン処理を行わせることによって、複数のカラー画像データが生成されてもよい。
【0059】
3−3.変形例3
上述の実施形態において、読取対象となるカラー原稿が複数ある場合は、CPU101は、カラー原稿一枚ずつ設定値を決定してもよいし、また、1枚目のカラー原稿を読み取って設定値を決定し、決定した設定値を用いて2枚目以降のカラー原稿の読取処理を行ってもよい。
【0060】
また、CPU101は、設定値決定処理によって決定した設定値を、例えばUI画面に表示したり、利用者にメール通知するなどして、利用者に報知してもよい。
【0061】
3−4.変形例4
上述の実施形態では、CPU101は、濃度の設定値とシャープネスの設定値とを決定する処理を行った。CPU101が決定する設定値は上述したものに限られず、画像の読取処理や画像データの生成処理に関する設定値であればよい。例えば、CPU101は、二値化処理で用いられる閾値を決定してもよい。二値化処理で用いられる閾値を決定する場合、CPU101は、カラー画像データに対して、複数の異なる閾値をそれぞれ用いてモノクロ画像データを複数生成する。CPU101は、生成した複数のモノクロ画像データに対して文字認識処理を行い、文字認識処理の処理結果に基づいて、複数のモノクロ画像データの中からいずれかを出力用のモノクロ画像データとして選択する。また、上述の実施形態では、CPU101は、濃度の設定値とシャープネスの設定値との2種類の設定値を決定したが、CPU101が決定する設定値は2種類に限られない。CPU101が、1種類の設定値を決定してもよく、また、3種類以上の設定値を文字認識処理の処理結果に基づいて決定してもよい。
【0062】
3−5.変形例5
上述の実施形態では、CPU101は、文字認識処理の処理結果として認識文字数や判別不能文字数を用いて設定値の決定処理を行った。設定値の決定処理において用いられる文字認識処理の処理結果は、上述したものに限られない。例えば、CPU101は、文字認識処理の処理時間や、認識された各文字の判別確度に基づいて設定値の決定処理を行ってもよい。例えば、CPU101が、認識文字数が同値であるモノクロ画像データが複数ある場合に、それら複数のモノクロ画像データのうち、処理時間が最も短いものを出力用データとして選択してもよい。また、例えば、CPU101が、各文字の判別確度の総数が最も多いモノクロ画像データを、出力用データとして選択してもよい。要は、CPU101は、文字認識処理の処理結果である認識文字数、判別不能文字数、処理時間および認識された各文字の判別確度の少なくともいずれかひとつに基づいて、設定値の決定処理を行えばよい。
【0063】
3−6.変形例6
上述の実施形態では、CPU101は、設定値(0,0)を起点として探索処理を開始したが、最初に設定される起点(基準値)は座標(0,0)に限られない。例えば、座標(+3,+2)が最初の起点として設定されてもよく、また、例えば、(−3,−2)が最初の起点として設定されてもよい。
【0064】
3−7.変形例7
上述の実施形態において、画像形成装置10のCPU101により実行されるプログラムは、インターネットなどの通信回線を介してダウンロードされてもよい。また、このプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどの、コンピュータが読取可能な記録媒体に記録した状態で提供されてもよい。