以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
図1は、本発明の実施の形態の一つにおけるMFPの外観を示す斜視図である。図1を参照して、MFP100は、画像形成装置の一例であり、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
自動原稿搬送装置120は、原稿給紙トレイ上にセットされた複数枚の原稿を1枚ずつ自動的に原稿読取部130のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部130により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部130は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部140に出力する。給紙部150は、給紙トレイに収納された用紙を画像形成部140に搬送する。
原稿読取部130は、紙媒体の画像が形成された原稿面を読み取ることによって、紙媒体の原稿面に形成された画像を読み取る。また、原稿読取部130は、電子表示デバイスである電子ペーパーが原稿読取位置に載置される場合、電子ペーパーの表示面(原稿面)を読み取ることによって、電子ペーパーによって表示面に表示された画像を読み取る。電子ペーパーは電子表示デバイスの一例であり、外部から入射する光を反射することにより画像を表示するデバイスであれば、電子ペーパーとは別のデバイスであってもよい。
画像形成部140は、周知の電子写真方式により画像を形成するものであって、原稿読取部130から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部150により搬送される用紙に画像を形成する。
図2は、MFPのハードウェア構成の概要の一例を示すブロック図である。図2を参照して、MFP100は、メイン回路110を含む。メイン回路110は、CPU111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、外部記憶装置117と、画像処理装置201と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150および操作パネル160と接続され、MFP100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。また、RAM114は、原稿読取部130から連続的に送られてくる読取画像を一時的に記憶する。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信する、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶するか、または、画像形成部140でプリント可能なプリントデータに変換して、画像形成部140に出力する。これにより、画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部116は、原稿読取部130によって読み取られたデータ、またはHDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
通信I/F部112は、ネットワークにMFP100を接続するためのインターフェースである。通信I/F部112は、TCP(Transmission Control Protocol)またはFTP(File Transfer Protocol)等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信I/F部112が接続されるネットワークは、例えば、ローカルエリアネットワーク(LAN)であり、接続形態は有線または無線を問わない。またネットワークは、LANに限らず、ワイドエリアネットワーク(WAN)、公衆交換電話網(Public Switched Telephone Networks)を用いたネットワーク等であってもよい。さらに、ネットワークがインターネットに接続されている場合には、MFP100は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
外部記憶装置117は、CPU111により制御され、CD−ROM(Compact Disk Read Only Memory)118、または半導体メモリーが装着される。CPU111は、外部記憶装置117を介してCD−ROM118または半導体メモリーにアクセス可能である。CPU111は、外部記憶装置117に装表されたCD−ROM118または半導体メモリーに記録されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムは、CD−ROM118に記録されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、通信I/F部112に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、MFP100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、MFP100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programable ROM)、EEPROM(登録商標)(Electrically EPROM)などの半導体メモリーであってもよい。
操作パネル160は、MFP100の上方に設けられ、表示部161と操作部163とを含む。表示部161は、液晶表示装置(LCD)、有機ELD(Electro−Luminescence Display)等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、複数のキーからなるハードキー部167と、を含む。ハードキー部167が含む複数のキーそれぞれは、接点スイッチを含み、CPU111に接続される。タッチパネル165は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をCPU111に出力する。
画像処理装置201は、CPU111により制御され、画像データを処理する。画像処理装置201は、ASIC(Application Specific Integrated Circuit)等のICであってもよいし、汎用的なCPUであってもよい。画像処理装置201を汎用的なCPUとする場合、画像処理装置201は、CPU111と同様に、ROM113に記憶されたプログラムをRAM114に読み出して実行する。なお、画像処理装置201が実行するプログラムは、ROM113に記憶されたプログラムに限らず、HDD115に記憶されたプログラム、外部記憶装置117に装着されたCD−ROM118または半導体メモリーに記録されたプログラムであってもよい。また、画像処理装置201が実行するプログラムは、CPU111が実行するプログラムと同様に、外部から入力されるプログラムであってもよい。
画像処理装置201が処理対象とする画像データは、原稿読取部130によって原稿が読み取られて出力される画像データ、ファクシミリ部116によって受信されたファクシミリデータ、通信I/F部112によって外部のコンピューターから受信されるデータ、HDD116から読み出されたデータまたは外部記憶装置117によってCD−ROM119から読み出されたデータを、含む。
本実施の形態におけるMFP100は、原稿読取部130で、紙媒体の原稿面に形成された画像と、電子表示デバイスの表示面(原稿面)に表示された画像とを読み取り可能である。このため、原稿読取部130が出力する画像データは、画像が形成された紙媒体の原稿面を読み取って出力する画像データと、電子表示デバイスが表示面(原稿面)に表示した画像を読み取って出力する画像データと、を含む。原稿読取部130が紙媒体の原稿面に形成された画像を読み取って出力する画像データと、電子表示デバイスが表示面に表示した画像を読み取って出力する画像データと、は異なる。例えば、紙媒体の原稿面に形成された画像と、電子表示デバイスの表示面(原稿面)に表示された画像とでは、階調表現の方向が異なるからである。このため、原稿読取部130が紙媒体の原稿面に形成された画像を読み取って出力する画像データと、電子表示デバイスが表示面に表示した画像を読み取って出力する画像データとで、画像処理装置201に実行させる処理の種類、設定されるパラメータが異なる場合がある。MFP100は、原稿読取部130が画像を読み取って出力する画像データから、読取対象の媒体の種別を判別する。具体的には、読取対象が、紙媒体であるか、電子表示デバイスであるかを判別する。以下、これについて詳細に説明する。
ここで、電子表示デバイスによって表示される画像と、紙媒体に形成される画像との違いについて説明する。電子表示デバイスは表示面に複数の画素が配列されており、複数の画素それぞれの形状は矩形である。このため、電子表示デバイスが表示する画像が1画素で表現する部分を含む場合、その1画素で表現される部分の形状は矩形になる。紙媒体にインクで形成される画像は、複数のドットの配列で表現される。印刷に用いるインクまたはトナーの性質から複数のドットの最小単位の形状は円形である。このため、紙媒体に形成される画像が1ドットで表現される部分を含む場合、その1ドットで表現される部分の形状は円形になる。
電子表示デバイスが表示する画像が1画素で表現する部分、および紙媒体に形成される画像が1ドットで表現される部分は、例えば、写真等の階調の変化を含む領域に存在する場合、文字のはねる部分、または払う部分等の線の端部を表現する部分に存在する場合がある。
図3は、第1の実施形態におけるMFPが備えるCPUの機能の一例を示すブロック図である。図3に示す機能は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された画像読取プログラムを実行することにより、CPU111により実現される機能である。図3を参照して、CPU111は、原稿読取制御部211と、孤立点検出部213と、形状検出部215、孤立点サイズ検出部217と、細線端部検出部219と、端部形状検出部221と、細線サイズ検出部223と、媒体種別判別部225と、画像処理決定部241と、画像処理制御部243と、を含む。
原稿読取制御部211は、原稿読取部130を制御して、原稿読取部130に読取対象の媒体の原稿面に形成された画像を読み取らせ、原稿読取部130が出力する画像データ取得する。原稿読取制御部211は、原稿読取部130から入力された画像データを、孤立点検出部213、細線端部検出部219、画像処理制御部243に出力する。
孤立点検出部213は、原稿読取制御部211が出力する画像データが入力される。孤立点検出部213は、入力された画像データから孤立点を検出する。孤立点とは、最小単位を1画素とし、1以上の画素の集合であり、1つの孤立点内の画素の色彩は同じであり、周辺の画素と孤立点を形成する1以上の画素とで色彩が異なる。
孤立点検出部213は、矩形の孤立点検出フィルターと、円形の孤立点検出フィルターと、をそれぞれ使用し、孤立点を検出する。矩形の孤立点検出フィルターは、孤立点の複数のサイズにそれぞれ対応して複数あり、円形の孤立点検出フィルターは、孤立点の複数のサイズにそれぞれ対応して複数ある。
孤立点検出部213は、複数のサイズそれぞれに対応した感度を有する円形の孤立点検出フィルタおよび矩形の孤立点検出フィルタを用いて、画素ごとに形状別および複数のサイズ別の評価値を算出する。そして、孤立点検出部213は、処理対象とする画素について、算出された形状別および複数のサイズ別の評価値の少なくとも1つが孤立点成立条件を満たす場合に、処理対象となる画素が孤立点の中心画素と判断する。
孤立点検出部213が処理対象とする画素は、画像データ中に含まれるハイライト領域に含まれる画素とするのが好ましい。ハイライト領域とは、明度の高い画素を含む割合の多い領域である。例えば、画像データを複数の領域に分割し、領域の画素値の合計からハイライト領域か否かを判断するようにしてもよいし、領域の画素値の最大値から最小値を減算した値を用いてハイライト領域か否かを判断するようにしてもよい。明度の高い画素を含む割合の低い領域では、孤立点が存在する確率が低いからである。ハイライト領域に含まれる画素を処理対象画素とすることで、処理対象画素の数を少なくすることができるので、処理速度を向上させることができる。
孤立点検出部213は、画像データを複数の色別の画像データそれぞれから孤立点を検出する。例えば、画像データが、赤色のプレーンデータと、緑色のプレーンデータと、青色のプレーンデータとを含む場合、赤色のプレーンデータ、緑色のプレーンデータおよび青色のプレーンデータそれぞれから孤立点を検出する。
孤立点成立条件は、評価値が予め定められたしきい値以上である。このしきい値は、予め定められた値である。また、しきい値は、原稿読取部130の特性により定まる値とするのが好ましい。さらに、しきい値は、原稿読取部130が出力する画像データ中のノイズを考慮して定めるのが好ましい。また、しきい値は、孤立点のサイズ別に異なる値にしてもよい。
孤立点検出フィルタは、評価値を算出するための処理対象画素の位置と、処理対象画素の周辺の画素の位置と、計算式とを定義し、サイズの大きな孤立点を検出するための孤立点検出フィルタほど、処理対象画素の周辺の画素の画素値の数が多い。孤立点検出フィルタを用いて処理対象画素ごとに算出する評価値は、処理対象画素の画素値と処理対象画素の周辺に存在する複数の画素の画素値とから所定の計算式に従って算出される値である。所定の計算式は、例えば、処理対象画素を基準に孤立点サイズに応じて定まる1以上の孤立点内画素の画素値の平均から、処理対象画素を基準に孤立点サイズに応じて定まる孤立点内画素の周辺に配置された複数の周辺画素の画素値の最大値を減算した値とすればよい。孤立点内画素は、処理対象画素を孤立点の中心画素と仮定した場合に、仮定された孤立点を構成する画素である。
図4は、円形の孤立点検出フィルタの一例を示す図であり、図5は、矩形の孤立点検出フィルタの一例を示す図である。図4および図5を参照して、縦横それぞれ9画素のマトリクスにおいて、処理対象画素を「※」のマークで示し、孤立点内画素を「*」のマークで示し、周辺画素を「スペース」で示している。図4に示す円形の孤立点検出フィルタにおいて、孤立点内画素の集合の形状は円形である。図5に示す矩形の孤立点検出フィルタにおいて、孤立点内画素の集合の形状は矩形である。孤立点検出フィルタの評価値は、孤立点内画素(「*」マークを付した画素)の値の平均値から周辺画素(スペースの画素)の最大値を減算した値である。
なお、孤立点検出フィルタは図4、図5に示したサイズの孤立点検出フィルタに限定されるものでなく、実際には、孤立点検出部213は、図4、図5に示したサイズの孤立点検出フィルタ以外のサイズの孤立点検出フィルタを使用して、複数のサイズの孤立点を検出する。
図3に戻って、孤立点検出部213は、処理対象とする画素について、形状別および複数のサイズ別に算出された評価値の少なくとも1つが孤立点成立条件を満たす場合に、処理対象となる画素が孤立点の中心画素であると判断する。また、孤立点検出部213は、処理対象画素について、形状別および複数のサイズ別に算出された評価値がしきい値以上となる形状およびサイズの孤立点検出フィルタを特定する。形状別および複数のサイズ別に算出された評価値がしきい値以上となる孤立点検出フィルタが複数存在する場合は、孤立点成立条件を満たさないと判断する。なお、形状別および複数のサイズ別に算出された評価値がしきい値以上となる孤立点検出フィルタが複数存在する場合は、評価値としきい値との差(絶対値)が最大となる孤立点検出フィルタを特定するようにしてもよい。
孤立点検出部213は、処理対象画素に対して孤立点成立条件を満たす孤立点検出フィルタを特定する場合、孤立点位置情報とフィルタ特定情報とを含む孤立点組を孤立点サイズ検出部217および形状検出部215に出力する。孤立点位置情報は、処理対象画素の画像データ中の位置(例えば、座標)である。フィルタ特定情報は、孤立点成立条件を満たした孤立点検出フィルタを特定する情報であり、形状とサイズとを含む。
例えば、孤立点検出部213は、処理対象画素に対して図4に示した円形の孤立点検出フィルタの評価値がしきい値以上となる場合、その処理対象画素の座標値である孤立点位置情報と、図4に示した円形の孤立点検出フィルタに対応するフィルタ特定情報とを含む孤立点組を、孤立点サイズ検出部217および形状検出部215に出力する。図4に示した円形の孤立点検出フィルタに対応するフィルタ特定情報は、形状が「円形」であり、サイズが7画素である。また、孤立点検出部213は、処理対象画素に対して図5に示した矩形の孤立点検出フィルタの評価値がしきい値以上となる場合、その処理対象画素の座標値である孤立点位置情報と、図5に示した矩形の孤立点検出フィルタに対応するフィルタ特定情報とを含む孤立点組を、孤立点サイズ検出部217および形状検出部215に出力する。図5に示した矩形の孤立点検出フィルタに対応するフィルタ特定情報は、形状が「矩形」であり、サイズが7画素である。
孤立点検出部213は、複数のサイズ別に算出された評価値の少なくとも1つが孤立点成立条件を満たす処理対象画素が複数の場合、複数の処理対象画素にそれぞれ対応する複数の孤立点組を、孤立点サイズ検出部217および形状検出部215に出力する。
孤立点サイズ検出部217は、孤立点検出部213から1以上の孤立点組が入力される。孤立点サイズ検出部217は、1以上の孤立点組ごとに、当該孤立点組に含まれるフィルタ特定情報に含まれるサイズを、当該孤立点組に含まれる孤立点位置情報で示される座標を中心画素とする孤立点のサイズに決定する。孤立点サイズ検出部217は、1以上の孤立点組それぞれにおいて、その孤立点組に含まれる孤立点位置情報とその孤立点組に対して決定された孤立点のサイズとの組であるサイズ組を生成する。孤立点サイズ検出部217は、1以上の孤立点組にそれぞれ対応して生成された1以上のサイズ組を媒体種別判別部225に出力する。
形状検出部215は、孤立点検出部213から1以上の孤立点組が入力される。形状検出部215は、1以上の孤立点組ごとに、当該孤立点組に含まれるフィルタ特定情報に含まれる形状を、当該孤立点組に含まれる孤立点位置情報で示される座標を中心画素とする孤立点の形状に決定する。形状検出部215は、1以上の孤立点組それぞれにおいて、その孤立点組に含まれる孤立点位置情報とその孤立点組に対して決定された孤立点の形状との組である形状組を生成する。形状検出部215は、1以上の孤立点組にそれぞれ対応して生成された1以上の形状組を媒体種別判別部225に出力する。
電子表示デバイスが表示する画像において、1画素の形状が矩形であることから、細線端部の形状も電子表示デバイスが表示する画像においては、矩形形状になる。一方、紙媒体に形成される画像では、最小単位のドットは、円形であることから、紙媒体に形成される画像においては、細線端部の形状も円形形状になる。
細線端部検出部219は、原稿読取制御部211が出力する画像データが入力される。細線端部検出部219は、入力された画像データから細線を検出し、さらに、検出された細線の端部を検出する。細線とは、線幅が所定の長さ以下の線のことである。例えば、画像データの画素値を微分することによって画素値が変化するエッジを検出し、エッジで囲まれた領域を線分として検出する。そして、検出された線分の形状から長手方向と短手方向とを決定し、短手方向の長さが所定の長さ以下であれば、細線に決定する。さらに、検出された細線の短手方向の中心を構成する中心線を特定し、中心線中の画素で、中心線の端の画素から線幅の半分の長さだけ領域内に位置する画素を、細線の端部の中心画素に決定する。細線に対して、端部は2つあるので、2つの画素を細線の端部の中心画素に決定する。
細線端部検出部219が処理対象とする画素は、画像データ中に含まれるハイライト領域に含まれる画素とするのが好ましい。明度の高い画素を含む割合の低い領域では、細線が存在する確率が低いからである。ハイライト領域に含まれる画素を処理対象画素とすることで、処理対象画素の数を少なくすることができるので、処理速度を向上させることができる。
細線端部検出部219は、画像データを複数の色別の画像データそれぞれから細線端部を検出する。例えば、画像データが、赤色のプレーンデータと、緑色のプレーンデータと、青色のプレーンデータとを含む場合、赤色のプレーンデータ、緑色のプレーンデータおよび青色のプレーンデータそれぞれから細線端部を検出する。
細線端部検出部219は、1つの細線に対して決定された2つの細線端部の中心画素それぞれについて、複数のサイズそれぞれに対応した感度を有する円形の細線端部検出フィルタおよび矩形の細線端部検出フィルタを用いて、処理対象画素ごとに形状別および複数のサイズ別の評価値を算出する。そして、細線端部検出部219は、処理対象画素について、算出された形状別および複数のサイズ別の評価値の少なくとも1つが端部条件を満たす場合に、その評価値の算出に用いた端部検出フィルタを特定する。
端部条件は、評価値が予め定められたしきい値以上である。このしきい値は、予め定められた値である。また、しきい値は、原稿読取部130の特性により定まる値とするのが好ましい。さらに、しきい値は、原稿読取部130が出力する画像データ中のノイズを考慮して定めるのが好ましい。また、しきい値は、端部検出フィルタのサイズ別に異なる値にしてもよい。
細線端部検出フィルタは、評価値を算出するための処理対象画素の位置と、処理対象画素の周辺の画素の位置と、計算式とを定義し、サイズの大きな細線端部を検出するための細線端部検出フィルタほど、処理対象画素の周辺に存在する画素の画素値の数が多い。細線端部検出フィルタを用いて処理対象画素ごとに算出する評価値は、処理対象画素の画素値と処理対象画素の周辺に存在する複数の画素の画素値とから所定の計算式に従って算出される値である。所定の計算式は、例えば、処理対象画素を基準に細線端部サイズに応じて定まる1以上の細線端部内画素の画素値の平均から、処理対象画素を基準に細線端部のサイズに応じて定まる細線端部内画素の周辺に配置された複数の周辺画素の画素値の最大値を減算した値とすればよい。細線端部内画素は、処理対象画素が細線端部の中心画素と仮定した場合に、細線端部を構成する画素である。
図6は、円形の細線端部検出フィルタの一例を示す第1の図である。図6に示す円形の細線端部検出フィルタは、長手方向が縦方向の細線であって線幅が9画素の細線の上側の端部に用いられる。図6を参照して、縦4画素、横9画素のマトリクスにおいて、処理対象画素を「※」のマークで示し、細線端部内画素を「*」のマークで示し、周辺画素を「スペース」で示している。図6に示す円形の細線端部検出フィルタにおいて、細線端部内画素の集合の形状は円形である。上端部の細線端部検出フィルタの評価値は、細線端部内画素(「*」マークを付した画素)の値の平均値から周辺画素(スペースの画素)の最大値を減算した値である。
図7は、円形の細線端部検出フィルタの一例を示す第2の図である。図7に示す円形の細線端部検出フィルタは、長手方向が横方向の細線であって線幅が9画素の細線の左側の端部に用いられる。図7を参照して、縦9画素、横4画素のマトリクスにおいて、処理対象画素を「※」のマークで示し、細線端部内画素を「*」のマークで示し、周辺画素を「スペース」で示している。図7に示す円形の細線端部検出フィルタにおいて、細線端部内画素の集合の形状は円形である。左端部の細線端部検出フィルタの評価値は、ドットのあるべき画素(「*」マークを付した画素)の値の平均値からドットがないはずの画素(スペースの画素)の最大値を減算した値である。
図8は、矩形の細線端部検出フィルタの一例を示す第1の図である。図8に示す矩形の細線端部検出フィルタは、長手方向が縦方向の細線であって線幅が9画素の細線の上側の端部に用いられる。図8を参照して、縦4画素、横9画素のマトリクスにおいて、処理対象画素を「※」のマークで示し、細線端部内画素を「*」のマークで示し、周辺画素を「
スペース」で示している。図8に示す矩形の細線端部検出フィルタにおいて、細線端部内画素の集合の形状は矩形である。上端部の細線端部検出フィルタの評価値は、細線端部内画素(「*」マークを付した画素)の値の平均値から周辺画素(スペースの画素)の最大値を減算した値である。
図9は、矩形の細線端部検出フィルタの一例を示す第2の図である。図9に示す矩形の細線端部検出フィルタは、長手方向が横方向の細線であって線幅が9画素の細線の左側の端部に用いられる。図9を参照して、縦9画素、横4画素のマトリクスにおいて、処理対象画素を「※」のマークで示し、細線端部内画素を「*」のマークで示し、周辺画素を「スペース」で示している。図9に示す矩形の細線端部検出フィルタにおいて、細線端部内画素の集合の形状は矩形である。左端部の細線端部検出フィルタの評価値は、細線端部内画素(「*」マークを付した画素)の値の平均値から周辺画素(スペースの画素)の最大値を減算した値である。
なお、細線端部検出フィルタのサイズは、図6、図7、図8、図9に示した線幅が9画素のものに限定されるものでなく、実際には、孤立点検出部213は、線幅が9画素のサイズの以外の線幅のに対応する細線端部検出フィルタを使用して、評価値を算出する。
図3に戻って、細線端部検出部219は、処理対象とする画素について、形状別および複数のサイズ別に算出された評価値の少なくとも1つが端部条件を満たす場合に、処理対象となる画素が細線短部の中心画素であると判断する。形状別および複数のサイズ別に算出された評価値がしきい値以上となる細線端部検出フィルタが複数存在する場合は、端部条件を満たさないと判断する。なお、形状別および複数のサイズ別に算出された評価値がしきい値以上となる細線端部検出フィルタが複数存在する場合は、評価値としきい値との差(絶対値)が最大となる細線端部検出フィルタを特定するようにしてもよい。
細線端部検出部219は、処理対象画素に対して端部条件を満たす細線端部検出フィルタを特定する場合、細線端部位置情報とフィルタ特定情報とを含む細線端部組を、細線サイズ検出部223および端部形状検出部221に出力する。細線端部位置情報は、処理対象画素の画像データ中の位置(例えば、座標)である。また、フィルタ特定情報は、端部条件を満たす細線端部検出フィルタを特定する情報であり、形状とサイズとを含む。
例えば、細線端部検出部219は、処理対象画素に対して図6に示した円形の細線端部検出フィルタの評価値がしきい値以上となる場合、その処理対象画素の座標値である細線端部位置情報と、図6に示した円形の細線端部検出フィルタに対応するフィルタ特定情報とからなる細線端部組を、細線サイズ検出部223に出力する。図6に示した円形の細線端部検出フィルタに対応するフィルタ特定情報は、形状が「円形」であり、サイズが7画素である。また、細線端部検出部219は、処理対象画素に対して図8に示した矩形の細線端部検出フィルタの評価値がしきい値以上となる場合、その処理対象画素の座標値である細線端部位置情報と、図8に示した矩形の細線端部検出フィルタに対応するフィルタ特定情報とからなる細線端部組を、細線サイズ検出部223に出力する。図8に示した矩形の細線端部フィルタに対応するフィルタ特定情報は、形状が「矩形」であり、サイズが7画素である。
細線端部検出部219は、複数のサイズ別に算出された評価値の少なくとも1つが端部条件を満たす処理対象画素が複数の場合、複数の処理対象画素にそれぞれ対応する複数の細線端部組を、細線サイズ検出部223および端部形状検出部221に出力する。
細線サイズ検出部223は、細線端部検出部219から1以上の細線端部組が入力される。細線サイズ検出部223は、1以上の細線端部組ごとに、当該細線端部組に含まれるフィルタ特定情報に含まれるサイズを、当該細線端部組に含まれる細線端部位置情報で示される座標を基準に定まる細線端部のサイズに決定する。細線サイズ検出部223は、1以上の細線端部組それぞれにおいて、その細線端部組に含まれる細線端部位置情報とその細線端部組に対して決定された細線端部のサイズとの組である端部サイズ組を生成する。細線サイズ検出部223は、1以上の細線端部組にそれぞれ対応して生成された1以上の端部サイズ組を媒体種別判別部225に出力する。
端部形状検出部221は、細線端部検出部219から1以上の細線端部組が入力される。端部形状検出部221は、1以上の細線端部組ごとに、当該細線端部組に含まれるフィルタ特定情報に含まれる形状を、当該細線端部組に含まれる細線端部位置情報で示される座標を基準に定まる細線端部の形状に決定する。端部形状検出部221は、1以上の細線端部組それぞれにおいて、その細線端部組に含まれる細線端部位置情報とその細線端部組に対して決定された細線端部の形状との組である端部形状組を生成する。端部形状検出部221は、1以上の細線端部組にそれぞれ対応して生成された1以上の端部形状組を媒体種別判別部225に出力する。
媒体種別判別部225は、孤立点判別部231と、細線端部判別部233と、組合せ判別部235と、を含む。孤立点判別部231は、形状検出部215から1以上の形状組が入力され、孤立点サイズ検出部217から1以上のサイズ組が入力される。形状検出部215から入力される形状組の数と、孤立点サイズ検出部217から入力されるサイズ組の数とは同じである。孤立点判別部231は、1以上のサイズ組のうちからそれぞれに含まれるサイズが最小となるサイズ組を最小サイズ組として抽出する。孤立点判別部231は、最小サイズ組に対応する形状組に含まれる形状に基づいて、媒体種別を判別する。最小サイズ組に対応する形状組は、最小サイズ組に含まれる孤立点位置情報が同じ孤立点位置情報を含む形状組である。孤立点判別部231は、最小サイズ組に対応する形状組のうちに、孤立点の形状が円形の形状組が所定のしきい値T以上含まれる場合、原稿読取部130で読み取られた原稿が電子表示デバイスでないと判別する。孤立点判別部231は、最小サイズ組に対応する形状組のうちに、孤立点の形状が矩形の形状組が所定のしきい値T以上含まれる場合、原稿読取部130で読み取られた原稿が電子表示デバイスと判別する。
孤立点判別部231は、原稿読取部130で読み取られた原稿を電子表示デバイスでないと判別する場合、種別情報「非電子表示デバイス」と、最小サイズ組に対応する形状組であって孤立点の形状が円形の形状組の組の数と、最小サイズ組に含まれる孤立点のサイズと、を含む第1の判別結果を、組合せ判別部235に出力する。また、孤立点判別部231は、原稿読取部130で読み取られた原稿を電子表示デバイスと判別する場合、種別情報「電子表示デバイス」と、最小サイズ組に対応する形状組であって孤立点の形状が矩形の形状組の組の数と、最小サイズ組に含まれる孤立点のサイズと、を含む第1の判別結果を、組合せ判別部235に出力する。
細線端部判別部233は、端部形状検出部221から1以上の端部形状組が入力され、細線サイズ検出部223から1以上の端部サイズ組が入力される。端部形状検出部221から入力される端部形状組の数と、細線サイズ検出部223から入力される端部サイズ組の数とは同じである。細線端部判別部233は、1以上の端部サイズ組のうちからそれぞれに含まれるサイズが最小となる端部サイズ組を最小端部サイズ組として抽出する。細線端部判別部233は、最小端部サイズ組に対応する端部形状組に含まれる端部形状に基づいて、媒体種別を判別する。最小端部サイズ組に対応する端部形状組は、最小端部サイズ組に含まれる細線端部位置情報が同じ細線端部位置情報を含む端部形状組である。細線端部判別部233は、最小端部サイズ組に対応する端部形状組のうちに、細線端部の形状が円形の端部形状組が所定のしきい値T以上含まれる場合、原稿読取部130で読み取られた原稿が電子表示デバイスでないと判別する。孤立点判別部231は、最小端部サイズ組に対応する端部形状組のうちに、細線端部の形状が矩形の端部形状組が所定のしきい値T以上含まれる場合、原稿読取部130で読み取られた原稿が電子表示デバイスと判別する。
細線端部判別部233は、原稿読取部130で読み取られた原稿を電子表示デバイスでないと判別する場合、種別情報「非電子表示デバイス」と、最小端部サイズ組に対応する端部形状組であって細線端部の形状が円形の形状組の組の数と、最小端部サイズ組に含まれる細線端部のサイズと、を含む第2の判別結果を、組合せ判別部235に出力する。また、細線端部判別部233は、原稿読取部130で読み取られた原稿を電子表示デバイスと判別する場合、種別情報「電子表示デバイス」と、最小端部サイズ組に対応する端部形状組であって細線端部の形状が矩形の形状組の組の数と、最小端部サイズ組に含まれる細線端部のサイズと、を含む第2の判別結果を、組合せ判別部235に出力する。
組合せ判別部235には、孤立点判別部231から第1の判別結果が入力され、細線判別部233から第2の判別結果が入力される。第1の判別結果は、種別情報と、判別に用いた孤立点のサイズおよび数とを含む。第2の判別結果は、種別情報と、判別に用いた細線端部のサイズおよび数とを含む。
組合せ判別部235は、孤立点判別部231から第1の判別結果が入力され、細線判別部233から第2の判別結果が入力されない場合、第1の判別結果に含まれる種別情報で定まる種別を、原稿読取部130が読み取った原稿の種別に決定する。組合せ判別部245は、孤立点判別部231から第1の判別結果が入力されず、細線判別部233から第2の判別結果が入力される場合、第2の判別結果に含まれる種別情報で定める種別を、原稿読取部130が読み取った原稿の種別に決定する。
組合せ判別部235は、孤立点判別部231から第1の判別結果が入力され、細線判別部233から第2の判別結果が入力される場合であって、第1の判別結果の種別情報と、第2の判別結果の種別情報とが同じ場合、その種別情報で定まる種別を、原稿読取部130が読み取った媒体の種別に決定する。組合せ判別部245は、孤立点判別部231から第1の判別結果が入力され、細線判別部233から第2の判別結果が入力される場合であって、第1の判別結果の種別情報と、第2の判別結果の種別情報とが異なる場合には、いずれか一方の種別情報で定まる種別を、原稿読取部130が読み取った媒体の種別に決定する。組合せ判別部245は、原稿読取部130が読み取った媒体の種別を決定すると、決定された媒体種別を、画像処理決定部241に出力する。
組合わせ判別部235は、サイズ優先選択部237と、対象数優先選択部239と、を含む。サイズ優先選択部237は、第1の判別結果に含まれるサイズと、第2の判別結果に含まれるサイズとを比較し、サイズの小さいものに対応する種別情報を、原稿読取部130が読み取った媒体の種別に決定する。具体的には、サイズ優先選択部237は、第1の判別結果に含まれるサイズが第2の判別結果に含まれるサイズよりも小さい場合は、第1の判別結果に含まれる種別情報で定まる媒体種別を、原稿読取部130が読み取った媒体の種別に決定する。サイズ優先選択部237は、第2の判別結果に含まれるサイズが第1の判別結果に含まれるサイズよりも小さい場合は、第2の判別結果に含まれる種別情報で定まる媒体種別を、原稿読取部130が読み取った媒体の種別に決定する。
サイズ優先選択部237は、第1の判別結果に含まれるサイズと、第2の判別結果に含まれるサイズとが同じ場合、選択指示を対象数優先選択部239に出力する。
対象数優先選択部239は、第1の判別結果に含まれる判別に用いられた孤立点の数と、第2の判別結果に含まれる判別に用いられた細線端部の数とを比較し、数の大きいものに対応する種別情報を、原稿読取部130が読み取った媒体の種別に決定する。具体的には、対象数優先選択部239は、第1の判別結果に含まれる判別に用いられた孤立点の数が第2の判別結果に含まれる判別に用いられた細線端部の数よりも大きい場合は、第1の判別結果に含まれる種別情報で定まる媒体種別を、原稿読取部130が読み取った媒体の種別に決定する。対象数優先選択部239は、第1の判別結果に含まれる判別に用いられた孤立点の数が第2の判別結果に含まれる判別に用いられた細線端部の数よりも小さい場合は、第2の判別結果に含まれる種別情報で定まる種別を、原稿読取部130が読み取った媒体の種別に決定する。
対象数優先選択部239は、第1の判別結果に含まれる判別に用いられた孤立点の数と、第2の判別結果に含まれる判別に用いられた細線端部の数とが同じ場合、エラー信号を画像処理決定部241に出力する。
画像処理決定部241は、組合せ判別部235が出力した媒体種別が入力される。画像処理決定部241は、入力された媒体種別に基づいて、画像データに対して実行する画像処理および/またはパラメータを決定し、決定された画像処理および/またはパラメータを画像処理制御部243に実行させるために、決定された画像処理を識別するための処理識別情報および/またはパラメータを画像処理制御部243に出力する。
画像処理制御部243は、画像処理決定部241から処理識別情報および/またはパラメータが入力され、原稿読取制御部211から原稿読取部130が出力する画像データが入力される。画像処理制御部243は、画像処理部201を制御して、画像データに対して処理識別情報で特定される画像処理を、パラメータに従って実行させる。画像処理には、スムージング処理、エッジ強調処理が含まれる。例えば、画像処理制御部243は、網点属性の領域の画像データにスムージング処理を実行し、文字属性の領域の画像データにエッジ強調処理を実行するように、画像処理装置201に対し指示を発行する。
図10は、第1の実施形態における画像読取処理の流れの一例を示すフローチャートである。画像読取処理は、MFP100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された画像読取プログラムを実行することにより、CPU111により実行される処理である。
図10を参照して、CPU111は、原稿読取指示を受け付けたか否かを判断する(ステップS01)。原稿読取指示を受け付けるまで待機状態となり(ステップS01でNO)、原稿読取指示を受け付けると(ステップS01でYES)、処理をステップS02に進める。ステップS02においては、原稿読取部130を制御して、原稿読取部130に原稿を読み取らせる。そして、原稿読取部130が出力する画像データ取得する(ステップS03)。
ステップS04においては、媒体種別判別処理を実行し、処理をステップS05に進める。媒体種別判別処理についての詳細は後述するが、原稿読取部130が読み取った媒体の種別を判別する処理であり、電子表示デバイスであることを示す組合せ判別結果「電子表示デバイス」と、電子表示デバイスでないことを示す組合せ判別結果「非電子表示デバイス」と、エラーとのいずれかを組合せ判別結果に設定する処理である。ステップS05においては、ステップS04において実行された媒体種別判別処理の組み合わせ判別結果が「非電子表示デバイス」であるか否かを判定する。組合せ判別結果が「非電子表示デバイス」ならば処理をステップS06に進めるが、そうでなければ処理をステップS07に進める。
ステップS06においては、ステップS03において取得された画像データに実行する画像処理として、デフォルトで定められた画像処理を決定し、処理をステップS10に進める。デフォルトで定められた画像処理は、ここでは、媒体種別が紙媒体である場合に予め定められた画像処理である。
ステップS07においては、ステップS04において実行された媒体種別判別処理の組み合わせ判別結果が「電子表示デバイス」であるか否かを判定する。組合せ判別結果が「電子表示デバイス」ならば処理をステップS08に進めるが、そうでなければ処理をステップS09に進める。ステップS08においては、ステップS03において取得された画像データに実行する画像処理として、電子表示デバイスに対して予め定められた画像処理を決定し、処理をステップS10に進める。
処理がステップS09に進む場合、ステップS04において実行された媒体種別判別処理において組合せ判別結果に「エラー」が設定される場合であり、媒体種別の判別が不能の場合である。ステップS09においては、ステップS03において取得された画像データに実行する画像処理として、デフォルト画像処理を決定し、処理をステップS10に進める。
ステップS10において、CPU111は、ステップS06、S08、またはS09のいずれかで決定された画像処理を、ステップS03において取得された画像データに対して実行する指示を画像処理部201に出力し、処理をステップS11に進める。画像処理部201は、処理がステップS06またはステップS09から進む場合、ステップS03において取得された画像データに対してデフォルトで定められた画像処理を実行し、処理がステップS08から進む場合、ステップS03において取得された画像データに対して電子表示デバイスに対して定められた画像処理を実行する。
ステップS11においては、画像処理部201によって画像処理が実行された後の画像データを、HDD115に記憶し、処理を終了する。なお、画像形成部140に画像データの画像を用紙に形成させるようにしてもよいし、通信I/F部112を介して、画像データを外部に送信するようにしてもよいし、ファクシミリ部116から濁しミリデータとして送信するようにしてもよい。
図11は、第1の実施形態における媒体種別判別処理の流れの一例を示すフローチャートである。第1の実施形態における媒体種別判別処理は、図10のステップS04において実行される処理である。
CPU111は、ステップS21において、図10のステップS03で取得された画像データから処理対象画素を選択する。ステップS21が最初に実行される場合は、処理対象画素は、例えば画像データ内の最初の画素である。最初の画素は、例えば、最上段の最左の座標が(1,1)の画素である。
ステップS22においては、ステップS21において選択された処理対象画素が孤立点か否かを判断する。処理対象画素が孤立点の中心画素ならば処理をステップS23に進めるが、そうでなければ処理をステップS26に進める。具体的には、ステップS21において選択された処理対象画素を中心画素として形状別およびサイズ別の複数の孤立点検出フィルタを用いて算出された評価値が、孤立点成立条件を満たすか否かを判断する。孤立点成立条件を満たす場合に、処理対象画素が孤立点と判断する。処理対象画素を孤立点と判断する場合、孤立点成立条件を満たすことになった孤立点検出フィルタを特定し、処理対象画素を孤立点の中心画素に決定する。
ステップS23においては、孤立点のサイズを決定する。ステップS22において特定された孤立点検出フィルタのサイズに基づいて、孤立点のサイズを決定する。次のステップS24においては、孤立点の形状を決定する。ステップS22において特定された孤立点検出フィルタの形状に基づいて、孤立点の形状を決定する。ステップS22において特定された孤立点検出フィルタの形状が円形ならば孤立点の形状を円形に決定し、ステップS22において特定された孤立点検出フィルタの形状が矩形ならば孤立点の形状を矩形に決定する。
次のステップS25においては、ステップS22において決定された孤立点に対応する孤立点組を生成し、処理をステップS26に進める。孤立点組は、孤立点位置情報と、孤立点のサイズと、孤立点の形状とを含む。孤立点位置情報は、ステップS21において選択された処理対象画素の座標値であり、孤立点のサイズは、ステップS23において決定された孤立点のサイズであり、孤立点の形状は、ステップS24において決定された孤立点の形状である。
ステップS26においては、ステップS21において選択された処理対象画素が細線端部か否かを判断する。処理対象画素が、細線の中心線中の画素であって、中心線の端の画素から線幅の半分の長さだけ領域内に位置する中心画素の場合に、処理対象画素が細線端部と判断する。細線とは、線幅が所定の長さ以下の線であり、例えば、画素値が所定の範囲内で、連続して配列された複数の画素の集合を細線として検出する。具体的な処理の一例としては、画像データから細線を検出し、検出された複数の画素からなる領域の形状から長手方向と短手方向とを決定する。短手方向の長さが所定の長さ以下であれば、細線に決定する。さらに、検出された複数の画素からなる領域の短手方向の中心線を特定し、中心線中の画素で、中心線の端の画素から線幅の半分の長さだけ領域内に位置する画素を細線端部の中心画素に特定する。処理対象画素が、細線端部の中心画素ならば処理をステップS27に進めるが、そうでなければ処理をステップS30に進める。
ステップS27においては、細線端部のサイズを検出する。例えば、ステップS21において選択された処理対象画素を処理対象として、方向別およびサイズ別の複数の細線端部検出フィルタを用いて算出された評価値が、端部条件を満たすか否かを判断する。端部条件を満たす細線端部検出フィルタを特定し、特定した細線端部検出フィルタのサイズに基づいて、細線端部のサイズを決定する。
次のステップS28においては、細線端部の形状を決定する。ステップS27において特定された細線端部検出フィルタの形状に基づいて、細線端部の形状を決定する。ステップS27において特定された細線端部検出フィルタの形状が円形ならば細線端部の形状を円形に決定し、ステップS27において特定された細線端部検出フィルタの形状が矩形ならば細線端部の形状を矩形に決定する。
次のステップS29においては、ステップS26において決定された細線端部に対応する細線端部組を生成し、処理をステップS30に進める。細線端部組は、細線端部位置情報と、細線端部のサイズと、細線端部の形状とを含む。細線端部情報は、ステップS21において選択された処理対象画素の座標値であり、細線端部のサイズは、ステップS27において決定された細線端部のサイズであり、細線端部の形状は、ステップS28において決定された細線端部の形状である。
ステップS30においては、図10のステップS03で取得された画像データ内に処理対象画素に選択されていない画素が存在すか否かを判断する。処理対象画素に選択されていない画素が存在するならば、処理をステップS21に戻すが、存在しなければ処理をステップS31に進める。
ステップS31においては、孤立点判別処理を実行し、処理をステップS32に進める。孤立点判別処理の詳細は後述するが、孤立点組を用いて、媒体種別を判別する処理であり、判別結果として第1の判別結果が決定される。
ステップS32においては、細線端部判別処理を実行し、処理をステップS33に進める。細線端部判別処理の詳細は後述するが、媒体種別を判別する処理であり、判別結果として第2の判別結果が決定される。
ステップS33においては、組合せ判別処理を実行し、処理を原稿読取処理に戻す。組合せ判別処理の詳細は後述するが、第1の判別結果と第2の判別結果とに基づいて、媒体種別を判別する処理である。
図12は、孤立点判別処理の流れの一例を示すフローチャートである。孤立点判別処理は、図11のステップS31で実行される処理である。孤立点判別処理が実行される前の段階で、画像データから孤立点が検出される場合に、検出された孤立点に対応する孤立点組が生成されている。図12を参照して、CPU111は、孤立点組が1組以上存在するか否かを判断する(ステップS41)。孤立点組が存在するならば処理をステップS42に進めるが、存在しなければ、処理をステップS51に進める。ステップS51においては、第1判別結果に「検出不可」を設定し、処理を媒体種別判別処理に戻す。
ステップS42においては、1組以上の孤立点組の中からサイズが最小の孤立点組を、最小サイズ組として抽出する。1以上の孤立点組のうちから、それに含まれる孤立点のサイズが最小の孤立点組を抽出する。次のステップS43においては、ステップS42において抽出された最小サイズ組のうちから形状が円形の最小サイズ組を抽出する。1以上の最小サイズ組のうちからそれに含まれる孤立点の形状が円形の最小サイズ組を抽出する。
次のステップS44においては、ステップS43で抽出された円形の最小サイズ組の数N1がしきい値T以上か否かを判断する。円形の最小サイズ組の数N1がしきい値T以上ならば、処理をステップS45に進めるが、そうでなければ処理をステップS47に進める。
ステップS45においては、媒体種別に「非電子表示デバイス」を設定し、処理をステップS46に進める。ステップS46においては、第1判別結果に、ステップS45で設定された媒体種別と、ステップS43において抽出された円形の最小サイズ組の数N1と、ステップS42において抽出された最小サイズ組のサイズとを設定し、処理を種別判別処理に戻す。
ステップS47においては、ステップS42において抽出された最小サイズ組のうちから形状が矩形の最小サイズ組を抽出する。1以上の最小サイズ組のうちからそれに含まれる孤立点の形状が矩形の最小サイズ組を抽出する。
次のステップS48においては、ステップS47で抽出された矩形の最小サイズ組の数N2がしきい値T以上であるか否かを判断する。矩形の最小サイズ組の数N2がしきい値T以上ならば処理をステップS49に進めるが、そうでなければ処理をステップS51に進める。
ステップS49においては、媒体種別に「電子表示デバイス」を設定し、処理をステップS50に進める。ステップS50においては、第1判別結果に、ステップS49で設定された媒体種別と、ステップS47において抽出された矩形の最小サイズ組の数N2と、ステップS42において抽出された最小サイズ組のサイズを設定し、処理を種別判別処理に戻す。
ステップS51においては、第1判別結果に「検出不可」を設定し、処理を原稿読取処理に戻す。処理がステップS51に進む場合は、ステップS41において孤立点組が存在しないと判断された場合と、円形の最小サイズ組の数N1がしきい値T以上でなく、かつ、矩形のサイズサイズ組の数N2がしきい値T以上でない場合との2つの場合である。孤立点が存在しない場合には、媒体種別を判別できないからである。例えば、媒体に形成された画像が孤立点を含まない場合は、例えば、その画像が階調表現された領域を含まない場合である。
また、円形の最小サイズ組の数N1がしきい値T以上でなく、かつ、矩形の最小サイズ組の数N2がしきい値T以上でない場合に媒体種別を判別しないようにしたのは、誤判別を回避するためである。判別に用いる孤立点の数を所定数以上確保することにより、判別精度を向上させることができる。
図13は、細線端部判別処理の流れの一例を示すフローチャートである。細線端部判別処理は、図11のステップS32で実行される処理である。図13を参照して、CPU111は、細線端部組が1組以上存在するか否かを判断する(ステップS61)。細線端部組が存在するならば処理をステップS62に進めるが、存在しなければ処理をステップS71に進める。ステップS71においては、第2判別結果に「検出不可」を設定し、処理を媒体種別判別処理に戻す。
ステップS62においては、1組以上の細線端部組の中からサイズが最小の細線端部組を、最小サイズ組として抽出する。1以上の細線端部組のうちから、それに含まれる細線端部のサイズが最小の細線端部組を抽出する。
次のステップS63においては、ステップS62において抽出された最小サイズ組のうちから形状が円形の最小サイズ組を抽出する。1以上の最小サイズ組のうちからそれに含まれる細線端部の形状が円形の最小サイズ組を抽出する。
次のステップS64においは、ステップS63で抽出された円形の最小サイズ組の数M1がしきい値T以上であるか否かを判断する。円形の最小サイズ組の数M1がしきい値T以上ならば、処理をステップS65に進めるが、そうでなければ処理をステップS67に進める。
ステップS65においては、媒体種別に「非電子表示デバイス」を設定し、処理をステップS66に進める。ステップS66においては、第2判別結果に、ステップS65で設定された媒体種別と、ステップS63において抽出された円形の最小端部サイズ組の数M1と、ステップS42において抽出された最小サイズ組のサイズとを設定し、処理を種別判別処理に戻す。
ステップS67においては、ステップS62において抽出された最小サイズ組のうちから形状が矩形の最小サイズ組を抽出する。1以上の最小サイズ組のうちからそれに含まれる細線端部の形状が矩形の最小サイズ組を抽出する。
次のステップS68においては、ステップS67で抽出された矩形の最小端部サイズ組の数M2がしきい値T以上ならば処理をステップS69に進めるが、そうでなければ処理をステップS71に進める。
ステップS69においては、媒体種別に「電子表示デバイス」を設定し、処理をステップS70に進める。ステップS70においては、第2判別結果に、ステップS69で設定された媒体種別と、ステップS47において抽出された矩形の最小サイズ組の数M2と、ステップS42において抽出された最小サイズ組のサイズとを設定し、処理を種別判別処理に戻す。
ステップS71においては、第2判別結果に「検出不可」を設定し、処理を原稿読取処理に戻す。処理がステップS71に進む場合は、ステップS61において細線端部組が存在しないと判断された場合と、円形の最小サイズ組の数M1がしきい値T以上でなく、かつ、矩形のサイズサイズ組の数M2がしきい値T以上でない場合との2つの場合である。細線端部が存在しない場合には、媒体種別を判別できないからである。例えば、媒体に形成された画像が細線端部を含まない場合は、例えば、その画像が文字等が表された領域を含まない場合である。
また、円形の最小サイズ組の数M1がしきい値T以上でなく、かつ、矩形の最小サイズ組の数M2がしきい値T以上でない場合に媒体種別を判別しないようにしたのは、誤判別を回避するためである。判別に用いる細線端部の数を所定数以上確保することにより、判別精度を向上させることができる。
図14は、組合せ判別処理の流れの一例を示すフローチャートである。組合せ判別処理は、図11のステップS33において実行される処理である。組合せ判別処理が実行される前の段階で、第1の判別結果と、第2の判別結果とが決定されている。第1判別結果は、媒体種別と、判別に用いた孤立点の数と、孤立点のサイズと、を含む。第2判別結果は、媒体種別と、判別に用いた細線端部の数と、細線端部のサイズと、を含む。
図14を参照して、CPU111は、第1の判別結果の媒体種別と第2の判別結果の媒体種別とが同じか否かを判断する。第1の判別結果の種別と第2の判別結果の種別とが同じならば処理をステップS82に進めるが、そうでなければ処理をステップS83に進める。ステップS82においては、組合せ判別結果に第1の判別結果の媒体種別を設定し、処理を種別判別処理に戻す。
ステップS83においては、第1の判別結果のサイズが、第2の判別結果の端部サイズより小さいいか否かを判断する。第1の判別結果に含まれる孤立点のサイズが、第2の判別結果に含まれる細線端部のサイズより小さいならば処理をステップS84に進めるが、そうでなければ処理をステップS85に進める。ステップS84においては、組合せ判別結果に第1の判別結果の媒体種別を設定し、処理を種別判別処理に戻す。判別に用いた孤立点または細線端部のサイズが小さいほど、判別の精度が高いからである。
ステップS85においては、第1の判別結果のサイズが、第2の判別結果の端部サイズより大きいか否かを判断する。第1の判別結果に含まれる孤立点のサイズが、第2の判別結果に含まれる細線端部のサイズより大きいならば処理をステップS86に進めるが、そうでなければ処理をステップS87に進める。ステップS86においては、組合せ判別結果に第2の判別結果の媒体種別を設定し、処理を種別判別処理に戻す。
処理がステップS87に進む場合、第1の判別結果に含まれる孤立点のサイズと、第2の判別結果に含まれる細線端部のサイズとが同じ場合である。ステップS87においては、第1の判別結果の孤立点の数が、第2の判別結果の細線端部の数より多いか否かを判断する。第1の判別結果に含まれる孤立点の数が、第2の判別結果に含まれる細線端部の数より大きいならば処理をステップS88に進めるが、そうでなければ処理をステップS89に進める。ステップS88においては、組合せ判別結果に第1の判別結果の媒体種別を設定し、処理を種別判別処理に戻す。判別に用いた孤立点または細線端部の数が多いほど、判別の精度が高いからである。
ステップS89においては、第1の判別結果の孤立点の数が、第2の判別結果の細線端部の数より少ないか否かを判定する。第1の判別結果に含まれる孤立点の数が、第2の判別結果に含まれる細線端部の数より少ないならば処理をステップS90に進めるが、そうでなければ処理をステップS91に進める。ステップS90においては、組合せ判別結果に第2の判別結果の媒体種別を設定し、処理を種別判別処理に戻す。
ステップS91においては、組合せ判別結果に判別不可を設定し、処理を種別判別処理に戻す。処理がステップS91に進む場合、第1の判別結果の孤立点のサイズと第2の判別結果の細線端部のサイズが同じであり、かつ、第1の判別結果の孤立点の数と、第2の判別結果の細線端部の数とが同じ場合である。ここでは、第1の判別結果と第2の判別結果とが異なる場合には、判別不可としたが、第1の判別結果と第2の判別結果とのいずれか一方を、優先するようにしてもよい。
以上説明したように、MFP100は、原稿読取部130で、電子ペーパーに表示された画像または用紙に形成された画像を読み取って得られる画像データから、孤立点を検出し、検出された孤立点の形状に基づいて、読取対象の媒体の種別を判別する。電子ペーパーの1画素の形状は矩形であり、用紙に形成される最小ドットの形状は円形である。このため、画像データに含まれる孤立点の形状に基づいて媒体の種別を判別するので、原稿読取部130が読み取った画像が、媒体の種別を容易に判別することができる。その結果、媒体に形成された画像を読み取った画像が、電子ペーパーに表示された画像であるか、または用紙に形成された画像であるかを容易に判別することができる。
また、MFP100は、画像データから検出された孤立点のサイズを検出し、画像データから検出された複数の孤立点のうちでサイズが最小の孤立点の形状に基づいて、読取対象の媒体の種別を判別する。このため、電子ペーパーの1画素の形状、用紙に形成される最小ドットの形状に基づいて、判別するので、媒体の種別を判別する精度が向上する。
また、MFP100は、画像データから検出された孤立点のうちに形状が円形である孤立点が所定数以上であることを条件に、読取対象の媒体種別を電子ペーパーでないと判別する。判別の対象を複数にするので、誤検出を防止することができる。
さらに、MFP100は、原稿読取部130で、電子ペーパーに表示された画像または用紙に形成された画像を読み取って得られる画像データから、細線の端部を検出する。文字を形成する細線の端部は、電子ペーパーの1画素、用紙に形成された画像の1ドットで表される場合が多い。画像データに含まれる細線端部の形状に基づいて媒体の種別を判別するので、媒体の種別を容易に判別することができる。
また、孤立点の形状に基づく第1の判別結果と、細線端部の形状に基づく第2の判別結果とを組み合わせて判別するので、媒体の種別を判別する精度を向上させることができる。
さらに、第1の判別結果と第2の判別結果とが異なる場合、第1の判別結果を判別するために判別の対象とした孤立点のサイズと、第2の判別結果を判別するために判別の対象として細線の端部のサイズとを比較し、第1の判別結果と第2の判別結果のうち判別対象のサイズの小さい一方を選択する。電子ペーパーの1画素、用紙に形成された画像の1ドットを検出した判別結果を優先するので、判別精度を向上することができる。
さらに、第1の判別結果を判別するために判別の対象とした孤立点の数と、第2の判別結果を判別するために判別の対象として細線の端部の数とを比較し、第1の判別結果と第2の判別結果のうち判別対象とした孤立点の数または細線の端部の数の大きい一方を選択する。このため、誤検出を排除して、判別精度を向上することができる。
本実施の形態において、原稿読取装置130で媒体を読み取る解像度は、最も高い解像度で読み取るのが好ましい。具体的には、電子ペーパーの1画素のサイズは42.3μmである。このため、原稿読取装置130で読取解像度が600dpi以上で読み取るのが好ましい。
さらに、孤立点の形状を検出するために、円形と矩形それぞれの孤立点検出フィルターを用いるようにしたが、円形と矩形の画像の性質から形状を判別するようにしてもよい。例えば、(1)円形の孤立点は、外周の中央部と端部とで濃度差があるが、矩形の孤立点は、外周の中央部と端部とで濃度差がない。このため、外周の中央部と端部とで濃度差を検出することで、孤立点の形状を検出することができる。また、(2)円形の孤立点の方が矩形の孤立点よりも四隅の平均濃度が低い。このため、孤立点の四隅の平均濃度を検出することで、孤立点の形状を検出することができる。さらに、(3)円形の孤立点の方が、矩形の孤立点よりも外周に濃度の高い画素が存在する。このため、孤立点の外周の濃度を検出することがで、孤立点の形状を検出することができる。
<第1の変形例>
上述した第1の実施の形態におけるMFP100は、画像データから孤立点を検出して媒体種別を判別する第1の判別結果と、画像データから細線端部を検出して媒体種別を判別する第2の判別結果と、を決定して、第1の判別結果と第2の判別結果との組み合わせから最終的に媒体種別を決定するようにした。第1の変形例におけるMFP100は、第1の判別結果のみから媒体種別を決定する。
この場合、図3に示したCPUの機能としては、細線端部検出部219、端部形状検出部221、細線サイズ検出部223、細線端部判別部233および組合せ判別部235は、不要である。また、図11に示した種別判別処理において、ステップS26〜ステップS29、ステップS32およびステップS33は、不要である。
第1の変形例におけるMFP100は、原稿読取部130で、電子ペーパーに表示された画像または用紙に形成された画像を読み取って得られる画像データから、孤立点を検出し、検出された孤立点の形状に基づいて、読取対象の媒体の種別を判別する。電子ペーパーの1画素の形状は矩形であり、用紙に形成される最小ドットの形状は円形である。このため、画像データに含まれる孤立点の形状に基づいて媒体の種別を判別するので、原稿読取部130が読み取った画像が、媒体の種別を容易に判別することができる。特に、電子ペーパーに表示された画像または用紙に形成された画像が階調表現を表す場合に有効である。その結果、媒体に形成された画像を読み取った画像が、電子ペーパーに表示された画像であるか、または用紙に形成された画像であるかを容易に判別することができる。
また、第1の変形例におけるMFP100は、画像データから検出された孤立点のサイズを検出し、画像データから検出された複数の孤立点のうちでサイズが最小の孤立点の形状に基づいて、読取対象の媒体の種別を判別する。このため、電子ペーパーの1画素の形状、用紙に形成される最小ドットの形状に基づいて、判別するので、媒体の種別を判別する精度が向上する。
また、第1の変形例におけるMFP100は、画像データから検出された孤立点のうちに形状が円形である孤立点が所定数以上であることを条件に、読取対象の媒体種別を電子ペーパーでないと判別する。判別の対象を複数にするので、誤検出を防止することができる。
<第2の変形例>
第2の変形例におけるMFP100は、第2の判別結果のみから媒体種別を決定する。この場合、図3に示したCPUの機能としては、孤立点検出部213、形状検出部215、孤立点サイズ検出部217、孤立点判別部231および組合せ判別部235は不要である。また、図11に示した種別判別処理において、ステップS22〜ステップS25、ステップS31およびステップS33は、不要である。
第2の変形例におけるMFP100は、原稿読取部130で、電子ペーパーに表示された画像または用紙に形成された画像を読み取って得られる画像データから、細線の端部を検出し、検出された細線の端部の形状に基づいて、読取対象の媒体の種別を判別する。このため、媒体の種別を容易に判別することができる。特に、電子ペーパーに表示された画像または用紙に形成された画像が文字を表す場合に有効である。
また、画像データから検出された細線の端部のうちにサイズが最小の細線の端部の形状を検出する。このため、電子ペーパーの1画素の形状、用紙に形成される最小ドットの形状に基づいて、判別するので、媒体の種別を判別する精度が向上する。
また、画像データから検出された検出された複数の細線の端部のうちに形状が円形である細線端部が所定数以上であることを条件に、読取対象の媒体種別を電子表示デバイスではないと判別する。判別の対象を複数にするので、誤検出を防止することができる。
<第2の実施の形態>
第2の実施の形態におけるMFP100の外観、ハードウエア構成は、第1の実施の形態におけるMFP100と同じである。以下、第2の実施の形態におけるMFP100について、第1の実施の形態におけるMFP100と異なる点を主に説明する。なお、第1の実施の形態におけるMFP100と同一の部材または機能については、同一の符号を付し、ここでは説明を繰り返さない。
図15は、第2の実施形態におけるMFPが備えるCPUの機能の一例を示すブロック図である。図15を参照して、CPU111は、原稿読取制御部211、孤立点検出部213、孤立点サイズ検出部217、媒体種別判別部225A、画像処理決定部241、画像処理制御部243、を含む。
媒体種別判別部225Aは、サイズ分布判別部251を含む。サイズ分布判別部251は、孤立点サイズ検出部217からサイズ組が入力される。サイズ組は、孤立点位置情報と、孤立点サイズとを含む。サイズ分布判別部251は、孤立点のサイズの分散値を算出し、分散値が所定値以下であれば、媒体種別を「電子表示デバイス」と判別し、分散値が所定値より大きければ、媒体種別を「非電子表示デバイス」と判別する。サイズ分布判別部251は、判別結果の媒体種別を画像処理決定部241に出力する。
電子表示デバイスは、1つの画素で多階調を表現できる。このため、階調表現された領域を含む画像を電子表示デバイスで表示する場合は、電子表示デバイスが表示する画像を読み取って得られる画像データ中の孤立点において、そのサイズの分散が小さくなる。一方、用紙に階調を表現する領域を含む画像を形成する場合には、ドットのサイズを異ならせることによって多階調を表現する。このため、用紙に形成された階調表現された領域を含む画像を読み取って得られる画像データ中の孤立点において、そのサイズの分散が大きくなる。
第2の実施の形態におけるMFP100が備えるCPU111において、図10に示した原稿読取処理が実行されるが、ステップS04における種別判別処理が異なる。
図16は、第2の実施形態における媒体種別判別処理の流れの一例を示すフローチャートである。図16を参照して、図11に示した種別判別処理と異なる点は、ステップS24、ステップS26〜ステップS29、ステップS31〜ステップS31が削除された点、ステップS25がステップS25Aに変更された点、ステップS30の後に、ステップS101〜ステップS103が追加された点である。その他の処理は、図11に示した処理と同じである。以下、図11に示した種別判別処理を異なる点を主に説明する。
CPU111は、ステップS21において、図10のステップS03で取得された画像データから処理対象画素を選択する。そして、処理対象画素が孤立点か否かを判断する(ステップS22)。処理対象画素が孤立点の中心画素ならば処理をステップS23に進めるが、そうでなければ処理をステップS30に進める。
ステップS23においては、孤立点のサイズを決定する。ステップS22において特定された孤立点検出フィルタのサイズに基づいて、孤立点のサイズを決定する。次のステップS25Aにおいては、ステップS22において決定された孤立点に対応するサイズ組を生成し、処理をステップS30に進める。サイズ組は、孤立点位置情報と、孤立点のサイズと、を含む。孤立点位置情報は、ステップS21において選択された処理対象画素の座標値であり、孤立点のサイズは、ステップS23において決定された孤立点のサイズである。
ステップS30においては、図10のステップS03で取得された画像データ内に処理対象画素に選択されていない画素が存在すか否かを判断する。処理対象画素に選択されていない画素が存在するならば、処理をステップS21に戻すが、存在しなければ処理をステップS101に進める。
処理がステップS101に進む場合、図10のステップS03で取得された画像データから1以上の孤立点が検出され、1以上の孤立点それぞれのサイズが決定される。ステップS101においては、1以上の孤立点のサイズの分散値を算出する。そして、算出された分散値をしきい値Dと比較する(ステップS102)。分散値がしきい値D以上ならば処理をステップS103に進めるが、そうでなければ処理をステップS104に進める。ステップS103においては、媒体種別に非電子表示デバイスを設定し、処理を種別判別処理に戻す。一方、ステップS104においては媒体種別に電子表示デバイスを設定し、処理を種別判別処理に戻す。
第2の実施の形態におけるMFP100は、原稿読取部130で、電子ペーパーに表示された画像または用紙に形成された画像を読み取って得られる画像データから、孤立点を検出し、検出された孤立点のサイズを検出し、複数の孤立点それぞれのサイズの分散値に基づいて、読取対象の媒体の種別を判別する。電子表示デバイスは、1つの画素で、多階調を表現できるので、孤立点のサイズの分散が小さくなる。一方、用紙に階調を表現する領域を含む画像を形成する場合には、ドットのサイズを異ならせることによって多階調を表現するので、画像データ中の孤立点のサイズの分散が大きくなる。このため、孤立点のサイズの分散に基づいて判別するので、媒体の種別を容易に判別することができる。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記孤立点判別手段は、前記孤立点検出手段により検出された複数の孤立点のうちに形状が矩形である孤立点が所定数以上であることを条件に、前記読取対象の媒体種別を電子表示デバイスと判別する、請求項1〜3のいずれかに記載の画像読取装置。
(2) 前記細線端部判別手段は、前記細線端部検出手段により検出された複数の細線の端部のうちで、形状が矩形である細線端部が所定数以上であることを条件に、前記読取対象の媒体種別を電子表示デバイスではないと判別する、請求項4〜6のいずれかに記載の画像読取装置。
(3) 前記孤立点検出手段は、前記画像データ中のハイライト領域に限定して、孤立点の検出を実行する、請求項1〜6および10のいずれかに記載の画像読取装置。
(4) 前記細線端部検出手段は、エッジ検出にて画像データから細線を検出し、エッジ検出領域の画素の連続性がなくなった位置を端部として検出する、請求項4、または8に記載の画像読取装置。
(5) 前記生成された画像データに対し画像処理を実行する画像処理手段を、さらに備え、
前記画像処理手段は、前記判別された媒体種別に基づいて、前記生成された画像データに対して実行する画像処理を決定する画像処理決定手段を、含む、請求項1〜16のいずれかに記載の画像読取装置。