画像処理装置及び画像処理プログラム
【課題】画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減するようにした画像処理装置を提供する。
【解決手段】画像処理装置の分離手段は、画像内の画素が連結している領域を分離し、代表点決定手段は、前記分離手段によって分離された領域を代表する代表点を決定し、ベクトル算出手段は、前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出し、スクリーン線数角度抽出手段は、前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出する。
【解決手段】画像処理装置の分離手段は、画像内の画素が連結している領域を分離し、代表点決定手段は、前記分離手段によって分離された領域を代表する代表点を決定し、ベクトル算出手段は、前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出し、スクリーン線数角度抽出手段は、前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
スクリーン処理に関する技術がある。これに関連する技術として、例えば、特許文献1には、網点で表現された画像を含む画像データを、モアレ発生を抑制して高品質な縮率変換処理を行うことを課題とし、網点領域認識手段は、画像データから網点を画素集合体の単位で検出し、網点をもとに網点領域を認識し、網点領域マスク作成手段は、網点間の距離からマスクパターン作成し、網点領域分離手段は、マスクパターンで網点領域とそれ以外の非網点領域とを分離し、網点領域縮率変換手段は、縮率をもとに、網点領域の各網点を、形状が線対称に近い形状になるように画素を追加/削除して変換し、非網点領域縮率変換手段は、非網点領域を別の手法で変換し、網点領域・非網点領域合成手段は、変換された網点領域及び非網点領域を合成することが開示されている。
【0003】
また、例えば、特許文献2には、高品位な複写結果を得ることを課題とし、画像入力部により原稿から画像を読み取って取得された入力画像データを、画像処理部によりRGBからYMCKに色変換すると共に、各色毎にディザリングして網点化して、印刷部に供給する際に、網点認識部により、入力画像データが示す画像、すなわち入力画像の網点の線数及び角度を求めることで、当該入力画像上における周期的な網点パターンの特徴を求める。ハーフトーン生成部により、この求めた線数及び角度と同一、すなわち網点パターンと一致するパターンを有するハーフトーンスクリーンを生成して、ハーフトーン処理部での入力画像のディザリングに用いて、このようにハーフトーンスクリーンのパターンを網点パターンと一致させることで、両者の干渉を無くすことができ、印刷部で印刷処理した際のモアレの発生を防止できることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−213298号公報
【特許文献2】特開2004−200746号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像内の画素が連結している領域を分離する分離手段と、前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段を具備することを特徴とする画像処理装置である。
【0007】
請求項2の発明は、前記スクリーン線数角度抽出手段は、前記抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、該抽出したスクリーンの線数又は角度を該予め定められた線数又は角度として抽出することを特徴とする請求項1に記載の画像処理装置である。
【0008】
請求項3の発明は、前記ベクトル算出手段は、前記代表点決定手段によって決定された代表点のうち基準となる代表点を第1の代表点として選択し、該基準となる代表点から予め定められた第1の距離と第2の距離の間にある代表点を第2の代表点として選択し、該第1の代表点と該第2の代表点で構成されるベクトルを算出することを特徴とする請求項1又は2に記載の画像処理装置である。
【0009】
請求項4の発明は、前記ベクトル算出手段は、前記第1の代表点を角とする矩形領域であって、互いに隣接する矩形領域内で、前記第1の距離と前記第2の距離の間にある代表点を第2の代表点として選択することを特徴とする請求項3に記載の画像処理装置である。
【0010】
請求項5の発明は、コンピュータを、画像内の画素が連結している領域を分離する分離手段と、前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段として機能させるための画像処理プログラムである。
【発明の効果】
【0011】
請求項1の画像処理装置によれば、画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減することができる。
【0012】
請求項2の画像処理装置によれば、予め定められた線数又は角度であるにもかかわらず、雑音の影響によって予め定められた線数又は角度以外の線数又は角度になってしまうことを抑制することができる。
【0013】
請求項3の画像処理装置によれば、第1の距離と第2の距離の間にない代表点による雑音の影響を抑制することができる。
【0014】
請求項4の画像処理装置によれば、本構成を有していない場合に比較して、処理量を削減することができる。
【0015】
請求項5の画像処理プログラムによれば、画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減することができる。
【図面の簡単な説明】
【0016】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態による処理例を示すフローチャートである。
【図3】変化点を抽出する処理例を示す説明図である。
【図4】連結領域を抽出する処理例を示す説明図である。
【図5】代表点を決定する処理例を示す説明図である。
【図6】代表点を抽出する処理例を示す説明図である。
【図7】ベクトルの算出処理例を示す説明図である。
【図8】ベクトルの分布例を示す説明図である。
【図9】ベクトルの分布例を示す説明図である。
【図10】ピークを決定する処理例を示す説明図である。
【図11】対象とする画像の例を示す説明図である。
【図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0018】
本実施の形態である画像処理装置は、画像に使用されているスクリーンの線数と角度を抽出するものであって、図1の例に示すように、受付モジュール110、領域分離モジュール120、代表点決定モジュール130、ベクトル算出モジュール140、スクリーン線数・角度抽出モジュール150、出力モジュール160を有している。
【0019】
受付モジュール110は、領域分離モジュール120と接続されている。受付モジュール110は、対象となる画像を受け付けて、その画像を領域分離モジュール120へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、スクリーン処理が施された2値画像(いわゆる中間調領域を含む画像)であってもよい。ただし、2値画像として、複数枚の2値画像からなるカラー画像であってもよい。また、多値画像である場合は、2値画像に変換するようにしてもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。画像の解像度は限定しないが、例えば2400dpi等がある。
対象とするスクリーンとしては、例えば、ドット集中型ディザスクリーンが主である。ただし、ドット分散型ディザスクリーン、誤差拡散スクリーン、FM(Frequency Modulation(周波数変調))スクリーン、ラインスクリーン等の場合は、スクリーン線数・角度抽出モジュール150が、ドット集中型ディザスクリーンではないことを判断し、それを指摘するようにしてもよい。
【0020】
領域分離モジュール120は、受付モジュール110、代表点決定モジュール130と接続されている。領域分離モジュール120は、受付モジュール110から対象となる画像を受け取り、その画像内の画素が連結している領域を分離する。画素が連結しているとは、ある画素に隣接する同色の画素が存在することを指し、隣接する画素には斜め方向に隣接する画素も含む。以下では、黒画素を主に例示して説明する。ここでの分離には抽出を含み、いわゆるラベル付け処理が行われる。
【0021】
代表点決定モジュール130は、領域分離モジュール120、ベクトル算出モジュール140と接続されている。代表点決定モジュール130は、領域分離モジュール120によって分離された領域を代表する代表点を決定する。代表点は、その領域を代表する点であればよく、例えば、その領域の外接矩形の中心点、その領域の外接矩形の四隅の点(左上点、右上点、左下点、右下点)のいずれか、その領域の重心等である。以下では、領域の外接矩形の中心点を主に例示して説明する。
【0022】
ベクトル算出モジュール140は、代表点決定モジュール130、スクリーン線数・角度抽出モジュール150と接続されている。ベクトル算出モジュール140は、代表点決定モジュール130によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出する。
また、ベクトル算出モジュール140は、代表点決定モジュール130によって決定された代表点のうち基準となる代表点を第1の代表点として選択し、その基準となる代表点から予め定められた第1の距離と第2の距離の間にある代表点を第2の代表点として選択し、その第1の代表点とその第2の代表点で構成されるベクトルを算出するようにしてもよい。さらに、ベクトル算出モジュール140は、第1の代表点を角とする矩形領域であって、互いに隣接する矩形領域内で、第1の距離と第2の距離の間にある代表点を第2の代表点として選択するようにしてもよい。互いに隣接する矩形領域とは、第1の代表点に対して、左上にある矩形領域と右上にある矩形領域の組み合わせ、右上にある矩形領域と右下にある矩形領域の組み合わせ、右下にある矩形領域と左下にある矩形領域の組み合わせ、左下にある矩形領域と左上にある矩形領域の組み合わせの4種類がある。
【0023】
スクリーン線数・角度抽出モジュール150は、ベクトル算出モジュール140、出力モジュール160と接続されている。スクリーン線数・角度抽出モジュール150は、ベクトル算出モジュール140によって算出されたベクトルの分布に基づいて、画像内に使用されているスクリーンの線数と角度を抽出する。
また、スクリーン線数・角度抽出モジュール150は、抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、その抽出したスクリーンの線数又は角度をその予め定められた線数又は角度として抽出するようにしてもよい。
予め定められた線数又は角度とは、記憶装置に記憶された値であり、一般的に用いられているスクリーンの線数又は角度をいう。例えば、線数として100線、150線、200線等、角度として0度、45度、90度等がある。また、予め定められた線数又は角度は、それぞれ複数あってもよい。
予め定められた関係とは、その差が予め定められた閾値以下又は未満である場合である。
抽出したスクリーンの線数又は角度と予め定められた線数又は角度との関係としては、(1)抽出したスクリーンの線数と予め定められた線数、(2)抽出したスクリーンの角度と予め定められた角度、(3)抽出したスクリーンの線数と予め定められた線数及び抽出したスクリーンの角度と予め定められた角度の関係がある。
【0024】
出力モジュール160は、スクリーン線数・角度抽出モジュール150と接続されている。出力モジュール160は、スクリーン線数・角度抽出モジュール150によって抽出されたスクリーンの線数と角度を出力する。出力するとは、例えば、画像データベース等の画像記憶装置へ画像に対応させて(例えば、その画像の属性として)書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。スクリーンの線数と角度を受け取った他の画像処理装置では、例えば、受付モジュール110が受け取った2値画像を多値化する処理、文字領域とスクリーン処理が施された領域(例えば、写真等)に分離する処理等を行う。
【0025】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、受付モジュール110が、対象とする画像を受け付ける。
【0026】
ステップS204では、領域分離モジュール120が、連結領域を分離する。連結領域の分離処理について、図3,4を用いて説明する。
図3は、変化点を抽出する処理例を示す説明図である。画像内のライン(主走査方向)の画素を示しており、白画素と黒画素が混在している。ライン単位で画素の各変化点を抽出する。図3の例では、白画素である画素303と黒画素である画素304の間が変化点であり、黒画素である画素310と白画素である画素311の間が変化点である。これを抽出する。例えば、領域として、変化点の始点座標(xm,yn)と幅(xm+1−xm)と高さ(1)を抽出する。
【0027】
図4は、連結領域を抽出する処理例を示す説明図である。図4(a)の例は、領域を統合する場合を示している。第1のライン内の画素405から画素411までの領域と第2のラインの画素424から画素430までの領域は連結している。つまり、ライン内の領域内の画素が連結していればよい。第1ラインの画素405から画素411の左画素が第2ラインの画素424の右画素から画素430までの画素と上下で重なっているので、連結している。したがって、この2つの領域を連結する。例えば、この2つの領域を囲む矩形を生成する。つまり、今までに作成された領域と現ラインの領域内で最も左にあるx座標を始点座標とし、今までに作成された領域と現ラインの領域内で最も右にあるx座標と始点座標との差を幅とし、高さを1増加させる。図4(a)の例では、始点座標を画素423と画素424の間の座標とし、幅を画素424から画素411までの幅とし、高さを2とする。
【0028】
図4(b)の例は、新たに領域を生成する場合を示している。第1のライン内の画素452から画素455までの領域と第2のラインの画素464から画素470までの領域は連結していない。つまり、第1のライン内の画素と第2のライン内の画素は、4連結又は8連結において連結していない。連結していない場合は、新規の領域を生成する。図4(b)の例では、変化点の始点座標(画素463と画素464の間のx座標,第2ラインのy座標)と幅(画素464と画素470の差)と高さ(1)の領域を新たに生成する。
また、領域の最下ラインが現ラインより2ライン以上前であれば、更新終了としてもよい。つまり、領域の確定としてもよい。
また、予め定められたサイズ以上の領域は、対象とする領域として抽出しないようにしてもよい。予め定められたサイズとして、例えば、最小線数で規定される最大ブロックサイズ(具体的には、2400dpiにおいて100線とすると24×24)等がある。
【0029】
ステップS206では、代表点決定モジュール130が、ステップS204で生成した各連結領域の代表点を決定する。ここでは、領域の代表点を領域の中心としているので、座標(始点x座標+幅の半分,始点y座標+高さの半分)を代表点とする。
図5は、代表点を決定する処理例を示す説明図である。図5(a)の例は、ステップS204で抽出された黒画素を囲む矩形領域510を示している。図5(b)の例は、矩形領域510の中心である代表点520を示している。
【0030】
ステップS208では、ベクトル算出モジュール140が、基準とする代表点と周囲にある代表点によって構成されるベクトルを算出する。ベクトルを算出するのに、2つの代表点を抽出する。
図6は、代表点を抽出する処理例を示す説明図である。ある代表点を原点とした場合に画像の左上矩形領域610、右上矩形領域620で最も近い代表点を抽出する。図6の例で示すと、基準代表点601を原点とし、左上方向で最も近い代表点611を抽出し、基準代表点601と代表点611で構成されるベクトルを抽出する。そして、基準代表点601を原点とし、右上方向で最も近い代表点621を抽出し、基準代表点601と代表点621で構成されるベクトルを抽出する。したがって、代表点631、代表点632、代表点633は抽出しない。ここで、基準代表点601から最も近いとしたが、半円でドーナツ状の探索範囲650内において最も近いの意である。基準代表点601から近い領域(探索範囲650の中心側で基準代表点601の周囲の白い領域)は、ノイズである可能性が高いため、抽出する代表点には含めないようにしている。探索範囲650の幅は、予め定められた幅であるが、例えば、対応線数によって定まる範囲である。より具体的には、線数が100線〜200線ならば12画素〜24画素である。また、基準代表点601から半径12画素の半円状の範囲は、対象外とする。
また、左上方向、右上方向を例示したが、右上方向、右下方向の組み合わせ、右下方向、左下方向の組み合わせ、左下方向、左上方向の組み合わせであってもよい。
【0031】
図7は、ベクトルの算出処理例を示す説明図である。図6の例で、抽出されたベクトルを示している。つまり、基準代表点601と代表点621によって規定されるベクトルをv1とし、基準代表点601と代表点611によって規定されるベクトルをv2としている。
なお、予め定められた角度(例えば、0度、45度、90度)とのずれが予め定められた画素数(例えば、1画素)以内なら、予め定められた代表点として、ベクトルを抽出してもよい。
また、ベクトルの算出は、全ての代表点を基準代表点(原点)とした場合について算出してもよいし、予め定められた数の代表点を基準代表点(原点)とした場合について算出してもよいし、予め定められた位置(ランダムに定められた位置であってもよい)にある代表点を基準代表点(原点)とした場合について算出してもよい。
【0032】
ステップS210では、スクリーン線数・角度抽出モジュール150が、ベクトルを集計して、スクリーンの線数、角度を抽出する。ステップS208で算出したベクトルの終点(基準代表点(原点)ではない代表点)をプロットする。つまり、図7に例示した座標系で、終点の位置をカウントする。
図8は、ドット集中型ディザスクリーンについてのベクトルの分布例を示す説明図である。基準代表点801を原点とした座標系において、色の濃い位置が分布数が多いことを示している。基準代表点801に対して右上方向にある矩形内においては、右下に分布数が多いことを示しており、基準代表点801に対して左上方向にある矩形内においては、右上に分布数が多いことを示している。
図9は、ドット分散型ディザスクリーン、誤差拡散スクリーン、FMスクリーンについてのベクトルの分布例を示す説明図である。基準代表点901を原点とした座標系において、色の濃い位置が分布数が多いことを示している。図8の例と比較すると、顕著に分布数が多い位置はない。
【0033】
この分布から、ピークとなる位置を抽出する。なお、ピークであるかどうかは、(1)1位の値と2位の値との差、(2)全体に占める割合等、を予め定められた閾値と比較して(例えば、閾値以上)判定する。また、局所範囲の最大値のS/N比を予め定められた閾値と比較して(例えば、閾値以上)判定する(特開2005−221276号公報参照)。Χ(カイ)2分布のQ値を予め定められた閾値と比較して(例えば、閾値以上)判定する(JAXA公開資料参照)等がある。
図10は、1位の値と2位の値とを用いたピークを決定する処理例を示す説明図である。図10に示すヒストグラム例は、横軸に座標位置、縦軸に分布数を示す。図10(a)のヒストグラム例は、図8の例に対応するものであり、1位の値と2位の値との差が閾値以上であり、ピークと判断したものである。図10(b)のヒストグラム例は、図9の例に対応するものであり、1位の値と2位の値との差が閾値未満であり、ピークとは判断できなかったものである。このように、ピークを抽出できなかった場合は、ドット集中型ディザスクリーンではないことを判断するようにしてもよい。そして、その旨を出力モジュール160が出力するようにしてもよい。
なお、ドット分散型ディザスクリーン、誤差拡散スクリーン、FMスクリーンは中心点間の距離が短くかつ濃度により分布範囲が変わり、方向も一定しないため、ピークが抽出できない。また、ラインスクリーンは濃度によってドット分散型ディザスクリーンと同様となるか、スクリーンの各線がそれぞれ1つの巨大な領域となるため、ピークが抽出できない。
【0034】
ピークの位置から、スクリーンの線数と角度を算出する。
スクリーンの線数は、原点(基準代表点)とピークの位置との距離、解像度を用いて算出する。原点とピークの位置との距離は、ベクトルの大きさに該当し、領域分離モジュール120が分離した領域(網点等)間の距離である。この距離と解像度を用いて実際の距離(例えば、単位がインチ等)を算出し、その逆数によって線数(単位長さあたりの網点の密度)を算出する。
また、スクリーンの角度は、ベクトルの角度に該当し、原点とピーク(例えば、原点に対して右上の矩形内にあるピーク)の位置によって構成される線と基準線(例えば、水平線(x軸))とによって構成される角度がスクリーンの角度となる。
また、ここで、スクリーン線数・角度抽出モジュール150は、抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、その抽出したスクリーンの線数又は角度をその予め定められた線数又は角度として抽出するようにしてもよい。
【0035】
ステップS212では、出力モジュール160が、スクリーンの線数、角度を出力する。そして、そのスクリーンの線数、角度を受け取った画像処理装置は画像処理を行う。例えば、多値化処理、文字領域と写真等のイメージ領域を分離する処理等の画像処理がある。
【0036】
図11は、対象とする画像の例を示す説明図である。本実施の形態である画像処理装置は、受付モジュール110が受け付けた画像1100に対して、以下に示すような領域を対象としてもよい。
図11(a)の例では、画像1100の全画像領域1110を対象としている。他の例と比べて、正確であるがページメモリを必要とする。
【0037】
図11(b)の例では、画像1100の複数ライン領域1120を対象としている。複数ライン領域1120は、予め定められた領域であってもよいし、中間調領域を画像処理によって抽出し、その中間調領域が含まれるような領域としてもよい。図11(a)の例と比較すると、精度は落ちるがメモリ量が少なくて済む。例えば、ハードウェアによる高速化に適している。
【0038】
図11(c)の例では、画像1100のサンプル数達成領域1130を対象としている。サンプル数達成領域1130は、予め定められたサンプル数(前述のベクトル数又は分布数)以上になった領域であり、そのサンプル数になったところで処理を打ち切る。図11(a)の例と比較すると、精度は落ちるが処理時間が短くなる。例えば、ソフトウェアによる高速化に適している。
【0039】
図11(d)の例では、画像1100のスクリーン領域1140、スクリーン領域1145を対象としている。スクリーン領域1140、スクリーン領域1145の選択は、操作者のマウス、キーボード、タッチパネル等を用いた選択、中間調領域を画像処理によって選択するようにしてもよい。また、この場合は、選択された領域毎にスクリーンの線数と角度を算出するようにしてもよい。したがって、1つの画像内に種類が異なるスクリーンを用いた領域がある場合にも対応し得る。
【0040】
図12を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図12に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1217と、プリンタなどのデータ出力部1218を備えたハードウェア構成例を示している。
【0041】
CPU(Central Processing Unit)1201は、前述の実施の形態において説明した各種のモジュール、すなわち、領域分離モジュール120、代表点決定モジュール130、ベクトル算出モジュール140、スクリーン線数・角度抽出モジュール150等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0042】
ROM(Read Only Memory)1202は、CPU1201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1203は、CPU1201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1204により相互に接続されている。
【0043】
ホストバス1204は、ブリッジ1205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1206に接続されている。
【0044】
キーボード1208、マウス等のポインティングデバイス1209は、操作者により操作される入力デバイスである。ディスプレイ1210は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0045】
HDD(Hard Disk Drive)1211は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、抽出した領域、ベクトル、スクリーンの線数、角度等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0046】
ドライブ1212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1207、外部バス1206、ブリッジ1205、及びホストバス1204を介して接続されているRAM1203に供給する。リムーバブル記録媒体1213も、ハードディスクと同様のデータ記録領域として利用可能である。
【0047】
接続ポート1214は、外部接続機器1215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1214は、インタフェース1207、及び外部バス1206、ブリッジ1205、ホストバス1204等を介してCPU1201等に接続されている。通信部1216は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0048】
なお、図12に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図12に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【0049】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0050】
110…受付モジュール
120…領域分離モジュール
130…代表点決定モジュール
140…ベクトル算出モジュール
150…スクリーン線数・角度抽出モジュール
160…出力モジュール
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
スクリーン処理に関する技術がある。これに関連する技術として、例えば、特許文献1には、網点で表現された画像を含む画像データを、モアレ発生を抑制して高品質な縮率変換処理を行うことを課題とし、網点領域認識手段は、画像データから網点を画素集合体の単位で検出し、網点をもとに網点領域を認識し、網点領域マスク作成手段は、網点間の距離からマスクパターン作成し、網点領域分離手段は、マスクパターンで網点領域とそれ以外の非網点領域とを分離し、網点領域縮率変換手段は、縮率をもとに、網点領域の各網点を、形状が線対称に近い形状になるように画素を追加/削除して変換し、非網点領域縮率変換手段は、非網点領域を別の手法で変換し、網点領域・非網点領域合成手段は、変換された網点領域及び非網点領域を合成することが開示されている。
【0003】
また、例えば、特許文献2には、高品位な複写結果を得ることを課題とし、画像入力部により原稿から画像を読み取って取得された入力画像データを、画像処理部によりRGBからYMCKに色変換すると共に、各色毎にディザリングして網点化して、印刷部に供給する際に、網点認識部により、入力画像データが示す画像、すなわち入力画像の網点の線数及び角度を求めることで、当該入力画像上における周期的な網点パターンの特徴を求める。ハーフトーン生成部により、この求めた線数及び角度と同一、すなわち網点パターンと一致するパターンを有するハーフトーンスクリーンを生成して、ハーフトーン処理部での入力画像のディザリングに用いて、このようにハーフトーンスクリーンのパターンを網点パターンと一致させることで、両者の干渉を無くすことができ、印刷部で印刷処理した際のモアレの発生を防止できることが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2004−213298号公報
【特許文献2】特開2004−200746号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像内の画素が連結している領域を分離する分離手段と、前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段を具備することを特徴とする画像処理装置である。
【0007】
請求項2の発明は、前記スクリーン線数角度抽出手段は、前記抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、該抽出したスクリーンの線数又は角度を該予め定められた線数又は角度として抽出することを特徴とする請求項1に記載の画像処理装置である。
【0008】
請求項3の発明は、前記ベクトル算出手段は、前記代表点決定手段によって決定された代表点のうち基準となる代表点を第1の代表点として選択し、該基準となる代表点から予め定められた第1の距離と第2の距離の間にある代表点を第2の代表点として選択し、該第1の代表点と該第2の代表点で構成されるベクトルを算出することを特徴とする請求項1又は2に記載の画像処理装置である。
【0009】
請求項4の発明は、前記ベクトル算出手段は、前記第1の代表点を角とする矩形領域であって、互いに隣接する矩形領域内で、前記第1の距離と前記第2の距離の間にある代表点を第2の代表点として選択することを特徴とする請求項3に記載の画像処理装置である。
【0010】
請求項5の発明は、コンピュータを、画像内の画素が連結している領域を分離する分離手段と、前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段として機能させるための画像処理プログラムである。
【発明の効果】
【0011】
請求項1の画像処理装置によれば、画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減することができる。
【0012】
請求項2の画像処理装置によれば、予め定められた線数又は角度であるにもかかわらず、雑音の影響によって予め定められた線数又は角度以外の線数又は角度になってしまうことを抑制することができる。
【0013】
請求項3の画像処理装置によれば、第1の距離と第2の距離の間にない代表点による雑音の影響を抑制することができる。
【0014】
請求項4の画像処理装置によれば、本構成を有していない場合に比較して、処理量を削減することができる。
【0015】
請求項5の画像処理プログラムによれば、画像に使用されているスクリーンの線数と角度を抽出するにあたって、本構成を有していない場合に比較して、処理量を削減することができる。
【図面の簡単な説明】
【0016】
【図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【図2】本実施の形態による処理例を示すフローチャートである。
【図3】変化点を抽出する処理例を示す説明図である。
【図4】連結領域を抽出する処理例を示す説明図である。
【図5】代表点を決定する処理例を示す説明図である。
【図6】代表点を抽出する処理例を示す説明図である。
【図7】ベクトルの算出処理例を示す説明図である。
【図8】ベクトルの分布例を示す説明図である。
【図9】ベクトルの分布例を示す説明図である。
【図10】ピークを決定する処理例を示す説明図である。
【図11】対象とする画像の例を示す説明図である。
【図12】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0017】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0018】
本実施の形態である画像処理装置は、画像に使用されているスクリーンの線数と角度を抽出するものであって、図1の例に示すように、受付モジュール110、領域分離モジュール120、代表点決定モジュール130、ベクトル算出モジュール140、スクリーン線数・角度抽出モジュール150、出力モジュール160を有している。
【0019】
受付モジュール110は、領域分離モジュール120と接続されている。受付モジュール110は、対象となる画像を受け付けて、その画像を領域分離モジュール120へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、スクリーン処理が施された2値画像(いわゆる中間調領域を含む画像)であってもよい。ただし、2値画像として、複数枚の2値画像からなるカラー画像であってもよい。また、多値画像である場合は、2値画像に変換するようにしてもよい。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。画像の解像度は限定しないが、例えば2400dpi等がある。
対象とするスクリーンとしては、例えば、ドット集中型ディザスクリーンが主である。ただし、ドット分散型ディザスクリーン、誤差拡散スクリーン、FM(Frequency Modulation(周波数変調))スクリーン、ラインスクリーン等の場合は、スクリーン線数・角度抽出モジュール150が、ドット集中型ディザスクリーンではないことを判断し、それを指摘するようにしてもよい。
【0020】
領域分離モジュール120は、受付モジュール110、代表点決定モジュール130と接続されている。領域分離モジュール120は、受付モジュール110から対象となる画像を受け取り、その画像内の画素が連結している領域を分離する。画素が連結しているとは、ある画素に隣接する同色の画素が存在することを指し、隣接する画素には斜め方向に隣接する画素も含む。以下では、黒画素を主に例示して説明する。ここでの分離には抽出を含み、いわゆるラベル付け処理が行われる。
【0021】
代表点決定モジュール130は、領域分離モジュール120、ベクトル算出モジュール140と接続されている。代表点決定モジュール130は、領域分離モジュール120によって分離された領域を代表する代表点を決定する。代表点は、その領域を代表する点であればよく、例えば、その領域の外接矩形の中心点、その領域の外接矩形の四隅の点(左上点、右上点、左下点、右下点)のいずれか、その領域の重心等である。以下では、領域の外接矩形の中心点を主に例示して説明する。
【0022】
ベクトル算出モジュール140は、代表点決定モジュール130、スクリーン線数・角度抽出モジュール150と接続されている。ベクトル算出モジュール140は、代表点決定モジュール130によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出する。
また、ベクトル算出モジュール140は、代表点決定モジュール130によって決定された代表点のうち基準となる代表点を第1の代表点として選択し、その基準となる代表点から予め定められた第1の距離と第2の距離の間にある代表点を第2の代表点として選択し、その第1の代表点とその第2の代表点で構成されるベクトルを算出するようにしてもよい。さらに、ベクトル算出モジュール140は、第1の代表点を角とする矩形領域であって、互いに隣接する矩形領域内で、第1の距離と第2の距離の間にある代表点を第2の代表点として選択するようにしてもよい。互いに隣接する矩形領域とは、第1の代表点に対して、左上にある矩形領域と右上にある矩形領域の組み合わせ、右上にある矩形領域と右下にある矩形領域の組み合わせ、右下にある矩形領域と左下にある矩形領域の組み合わせ、左下にある矩形領域と左上にある矩形領域の組み合わせの4種類がある。
【0023】
スクリーン線数・角度抽出モジュール150は、ベクトル算出モジュール140、出力モジュール160と接続されている。スクリーン線数・角度抽出モジュール150は、ベクトル算出モジュール140によって算出されたベクトルの分布に基づいて、画像内に使用されているスクリーンの線数と角度を抽出する。
また、スクリーン線数・角度抽出モジュール150は、抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、その抽出したスクリーンの線数又は角度をその予め定められた線数又は角度として抽出するようにしてもよい。
予め定められた線数又は角度とは、記憶装置に記憶された値であり、一般的に用いられているスクリーンの線数又は角度をいう。例えば、線数として100線、150線、200線等、角度として0度、45度、90度等がある。また、予め定められた線数又は角度は、それぞれ複数あってもよい。
予め定められた関係とは、その差が予め定められた閾値以下又は未満である場合である。
抽出したスクリーンの線数又は角度と予め定められた線数又は角度との関係としては、(1)抽出したスクリーンの線数と予め定められた線数、(2)抽出したスクリーンの角度と予め定められた角度、(3)抽出したスクリーンの線数と予め定められた線数及び抽出したスクリーンの角度と予め定められた角度の関係がある。
【0024】
出力モジュール160は、スクリーン線数・角度抽出モジュール150と接続されている。出力モジュール160は、スクリーン線数・角度抽出モジュール150によって抽出されたスクリーンの線数と角度を出力する。出力するとは、例えば、画像データベース等の画像記憶装置へ画像に対応させて(例えば、その画像の属性として)書き込むこと、メモリーカード等の記憶媒体に記憶すること、他の情報処理装置へ渡すこと等が含まれる。スクリーンの線数と角度を受け取った他の画像処理装置では、例えば、受付モジュール110が受け取った2値画像を多値化する処理、文字領域とスクリーン処理が施された領域(例えば、写真等)に分離する処理等を行う。
【0025】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、受付モジュール110が、対象とする画像を受け付ける。
【0026】
ステップS204では、領域分離モジュール120が、連結領域を分離する。連結領域の分離処理について、図3,4を用いて説明する。
図3は、変化点を抽出する処理例を示す説明図である。画像内のライン(主走査方向)の画素を示しており、白画素と黒画素が混在している。ライン単位で画素の各変化点を抽出する。図3の例では、白画素である画素303と黒画素である画素304の間が変化点であり、黒画素である画素310と白画素である画素311の間が変化点である。これを抽出する。例えば、領域として、変化点の始点座標(xm,yn)と幅(xm+1−xm)と高さ(1)を抽出する。
【0027】
図4は、連結領域を抽出する処理例を示す説明図である。図4(a)の例は、領域を統合する場合を示している。第1のライン内の画素405から画素411までの領域と第2のラインの画素424から画素430までの領域は連結している。つまり、ライン内の領域内の画素が連結していればよい。第1ラインの画素405から画素411の左画素が第2ラインの画素424の右画素から画素430までの画素と上下で重なっているので、連結している。したがって、この2つの領域を連結する。例えば、この2つの領域を囲む矩形を生成する。つまり、今までに作成された領域と現ラインの領域内で最も左にあるx座標を始点座標とし、今までに作成された領域と現ラインの領域内で最も右にあるx座標と始点座標との差を幅とし、高さを1増加させる。図4(a)の例では、始点座標を画素423と画素424の間の座標とし、幅を画素424から画素411までの幅とし、高さを2とする。
【0028】
図4(b)の例は、新たに領域を生成する場合を示している。第1のライン内の画素452から画素455までの領域と第2のラインの画素464から画素470までの領域は連結していない。つまり、第1のライン内の画素と第2のライン内の画素は、4連結又は8連結において連結していない。連結していない場合は、新規の領域を生成する。図4(b)の例では、変化点の始点座標(画素463と画素464の間のx座標,第2ラインのy座標)と幅(画素464と画素470の差)と高さ(1)の領域を新たに生成する。
また、領域の最下ラインが現ラインより2ライン以上前であれば、更新終了としてもよい。つまり、領域の確定としてもよい。
また、予め定められたサイズ以上の領域は、対象とする領域として抽出しないようにしてもよい。予め定められたサイズとして、例えば、最小線数で規定される最大ブロックサイズ(具体的には、2400dpiにおいて100線とすると24×24)等がある。
【0029】
ステップS206では、代表点決定モジュール130が、ステップS204で生成した各連結領域の代表点を決定する。ここでは、領域の代表点を領域の中心としているので、座標(始点x座標+幅の半分,始点y座標+高さの半分)を代表点とする。
図5は、代表点を決定する処理例を示す説明図である。図5(a)の例は、ステップS204で抽出された黒画素を囲む矩形領域510を示している。図5(b)の例は、矩形領域510の中心である代表点520を示している。
【0030】
ステップS208では、ベクトル算出モジュール140が、基準とする代表点と周囲にある代表点によって構成されるベクトルを算出する。ベクトルを算出するのに、2つの代表点を抽出する。
図6は、代表点を抽出する処理例を示す説明図である。ある代表点を原点とした場合に画像の左上矩形領域610、右上矩形領域620で最も近い代表点を抽出する。図6の例で示すと、基準代表点601を原点とし、左上方向で最も近い代表点611を抽出し、基準代表点601と代表点611で構成されるベクトルを抽出する。そして、基準代表点601を原点とし、右上方向で最も近い代表点621を抽出し、基準代表点601と代表点621で構成されるベクトルを抽出する。したがって、代表点631、代表点632、代表点633は抽出しない。ここで、基準代表点601から最も近いとしたが、半円でドーナツ状の探索範囲650内において最も近いの意である。基準代表点601から近い領域(探索範囲650の中心側で基準代表点601の周囲の白い領域)は、ノイズである可能性が高いため、抽出する代表点には含めないようにしている。探索範囲650の幅は、予め定められた幅であるが、例えば、対応線数によって定まる範囲である。より具体的には、線数が100線〜200線ならば12画素〜24画素である。また、基準代表点601から半径12画素の半円状の範囲は、対象外とする。
また、左上方向、右上方向を例示したが、右上方向、右下方向の組み合わせ、右下方向、左下方向の組み合わせ、左下方向、左上方向の組み合わせであってもよい。
【0031】
図7は、ベクトルの算出処理例を示す説明図である。図6の例で、抽出されたベクトルを示している。つまり、基準代表点601と代表点621によって規定されるベクトルをv1とし、基準代表点601と代表点611によって規定されるベクトルをv2としている。
なお、予め定められた角度(例えば、0度、45度、90度)とのずれが予め定められた画素数(例えば、1画素)以内なら、予め定められた代表点として、ベクトルを抽出してもよい。
また、ベクトルの算出は、全ての代表点を基準代表点(原点)とした場合について算出してもよいし、予め定められた数の代表点を基準代表点(原点)とした場合について算出してもよいし、予め定められた位置(ランダムに定められた位置であってもよい)にある代表点を基準代表点(原点)とした場合について算出してもよい。
【0032】
ステップS210では、スクリーン線数・角度抽出モジュール150が、ベクトルを集計して、スクリーンの線数、角度を抽出する。ステップS208で算出したベクトルの終点(基準代表点(原点)ではない代表点)をプロットする。つまり、図7に例示した座標系で、終点の位置をカウントする。
図8は、ドット集中型ディザスクリーンについてのベクトルの分布例を示す説明図である。基準代表点801を原点とした座標系において、色の濃い位置が分布数が多いことを示している。基準代表点801に対して右上方向にある矩形内においては、右下に分布数が多いことを示しており、基準代表点801に対して左上方向にある矩形内においては、右上に分布数が多いことを示している。
図9は、ドット分散型ディザスクリーン、誤差拡散スクリーン、FMスクリーンについてのベクトルの分布例を示す説明図である。基準代表点901を原点とした座標系において、色の濃い位置が分布数が多いことを示している。図8の例と比較すると、顕著に分布数が多い位置はない。
【0033】
この分布から、ピークとなる位置を抽出する。なお、ピークであるかどうかは、(1)1位の値と2位の値との差、(2)全体に占める割合等、を予め定められた閾値と比較して(例えば、閾値以上)判定する。また、局所範囲の最大値のS/N比を予め定められた閾値と比較して(例えば、閾値以上)判定する(特開2005−221276号公報参照)。Χ(カイ)2分布のQ値を予め定められた閾値と比較して(例えば、閾値以上)判定する(JAXA公開資料参照)等がある。
図10は、1位の値と2位の値とを用いたピークを決定する処理例を示す説明図である。図10に示すヒストグラム例は、横軸に座標位置、縦軸に分布数を示す。図10(a)のヒストグラム例は、図8の例に対応するものであり、1位の値と2位の値との差が閾値以上であり、ピークと判断したものである。図10(b)のヒストグラム例は、図9の例に対応するものであり、1位の値と2位の値との差が閾値未満であり、ピークとは判断できなかったものである。このように、ピークを抽出できなかった場合は、ドット集中型ディザスクリーンではないことを判断するようにしてもよい。そして、その旨を出力モジュール160が出力するようにしてもよい。
なお、ドット分散型ディザスクリーン、誤差拡散スクリーン、FMスクリーンは中心点間の距離が短くかつ濃度により分布範囲が変わり、方向も一定しないため、ピークが抽出できない。また、ラインスクリーンは濃度によってドット分散型ディザスクリーンと同様となるか、スクリーンの各線がそれぞれ1つの巨大な領域となるため、ピークが抽出できない。
【0034】
ピークの位置から、スクリーンの線数と角度を算出する。
スクリーンの線数は、原点(基準代表点)とピークの位置との距離、解像度を用いて算出する。原点とピークの位置との距離は、ベクトルの大きさに該当し、領域分離モジュール120が分離した領域(網点等)間の距離である。この距離と解像度を用いて実際の距離(例えば、単位がインチ等)を算出し、その逆数によって線数(単位長さあたりの網点の密度)を算出する。
また、スクリーンの角度は、ベクトルの角度に該当し、原点とピーク(例えば、原点に対して右上の矩形内にあるピーク)の位置によって構成される線と基準線(例えば、水平線(x軸))とによって構成される角度がスクリーンの角度となる。
また、ここで、スクリーン線数・角度抽出モジュール150は、抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、その抽出したスクリーンの線数又は角度をその予め定められた線数又は角度として抽出するようにしてもよい。
【0035】
ステップS212では、出力モジュール160が、スクリーンの線数、角度を出力する。そして、そのスクリーンの線数、角度を受け取った画像処理装置は画像処理を行う。例えば、多値化処理、文字領域と写真等のイメージ領域を分離する処理等の画像処理がある。
【0036】
図11は、対象とする画像の例を示す説明図である。本実施の形態である画像処理装置は、受付モジュール110が受け付けた画像1100に対して、以下に示すような領域を対象としてもよい。
図11(a)の例では、画像1100の全画像領域1110を対象としている。他の例と比べて、正確であるがページメモリを必要とする。
【0037】
図11(b)の例では、画像1100の複数ライン領域1120を対象としている。複数ライン領域1120は、予め定められた領域であってもよいし、中間調領域を画像処理によって抽出し、その中間調領域が含まれるような領域としてもよい。図11(a)の例と比較すると、精度は落ちるがメモリ量が少なくて済む。例えば、ハードウェアによる高速化に適している。
【0038】
図11(c)の例では、画像1100のサンプル数達成領域1130を対象としている。サンプル数達成領域1130は、予め定められたサンプル数(前述のベクトル数又は分布数)以上になった領域であり、そのサンプル数になったところで処理を打ち切る。図11(a)の例と比較すると、精度は落ちるが処理時間が短くなる。例えば、ソフトウェアによる高速化に適している。
【0039】
図11(d)の例では、画像1100のスクリーン領域1140、スクリーン領域1145を対象としている。スクリーン領域1140、スクリーン領域1145の選択は、操作者のマウス、キーボード、タッチパネル等を用いた選択、中間調領域を画像処理によって選択するようにしてもよい。また、この場合は、選択された領域毎にスクリーンの線数と角度を算出するようにしてもよい。したがって、1つの画像内に種類が異なるスクリーンを用いた領域がある場合にも対応し得る。
【0040】
図12を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図12に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1217と、プリンタなどのデータ出力部1218を備えたハードウェア構成例を示している。
【0041】
CPU(Central Processing Unit)1201は、前述の実施の形態において説明した各種のモジュール、すなわち、領域分離モジュール120、代表点決定モジュール130、ベクトル算出モジュール140、スクリーン線数・角度抽出モジュール150等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0042】
ROM(Read Only Memory)1202は、CPU1201が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1203は、CPU1201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1204により相互に接続されている。
【0043】
ホストバス1204は、ブリッジ1205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1206に接続されている。
【0044】
キーボード1208、マウス等のポインティングデバイス1209は、操作者により操作される入力デバイスである。ディスプレイ1210は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0045】
HDD(Hard Disk Drive)1211は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1201によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けた画像、抽出した領域、ベクトル、スクリーンの線数、角度等が格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0046】
ドライブ1212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1213に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1207、外部バス1206、ブリッジ1205、及びホストバス1204を介して接続されているRAM1203に供給する。リムーバブル記録媒体1213も、ハードディスクと同様のデータ記録領域として利用可能である。
【0047】
接続ポート1214は、外部接続機器1215を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1214は、インタフェース1207、及び外部バス1206、ブリッジ1205、ホストバス1204等を介してCPU1201等に接続されている。通信部1216は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1217は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1218は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0048】
なお、図12に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図12に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図12に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
なお、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【0049】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0050】
110…受付モジュール
120…領域分離モジュール
130…代表点決定モジュール
140…ベクトル算出モジュール
150…スクリーン線数・角度抽出モジュール
160…出力モジュール
【特許請求の範囲】
【請求項1】
画像内の画素が連結している領域を分離する分離手段と、
前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、
前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記スクリーン線数角度抽出手段は、前記抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、該抽出したスクリーンの線数又は角度を該予め定められた線数又は角度として抽出する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ベクトル算出手段は、前記代表点決定手段によって決定された代表点のうち基準となる代表点を第1の代表点として選択し、該基準となる代表点から予め定められた第1の距離と第2の距離の間にある代表点を第2の代表点として選択し、該第1の代表点と該第2の代表点で構成されるベクトルを算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記ベクトル算出手段は、前記第1の代表点を角とする矩形領域であって、互いに隣接する矩形領域内で、前記第1の距離と前記第2の距離の間にある代表点を第2の代表点として選択する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
コンピュータを、
画像内の画素が連結している領域を分離する分離手段と、
前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、
前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段
として機能させるための画像処理プログラム。
【請求項1】
画像内の画素が連結している領域を分離する分離手段と、
前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、
前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記スクリーン線数角度抽出手段は、前記抽出したスクリーンの線数又は角度と予め定められた線数又は角度との差が予め定められた関係にある場合は、該抽出したスクリーンの線数又は角度を該予め定められた線数又は角度として抽出する
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記ベクトル算出手段は、前記代表点決定手段によって決定された代表点のうち基準となる代表点を第1の代表点として選択し、該基準となる代表点から予め定められた第1の距離と第2の距離の間にある代表点を第2の代表点として選択し、該第1の代表点と該第2の代表点で構成されるベクトルを算出する
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記ベクトル算出手段は、前記第1の代表点を角とする矩形領域であって、互いに隣接する矩形領域内で、前記第1の距離と前記第2の距離の間にある代表点を第2の代表点として選択する
ことを特徴とする請求項3に記載の画像処理装置。
【請求項5】
コンピュータを、
画像内の画素が連結している領域を分離する分離手段と、
前記分離手段によって分離された領域を代表する代表点を決定する代表点決定手段と、
前記代表点決定手段によって決定された代表点に基づいて、2つの代表点で構成されるベクトルを算出するベクトル算出手段と、
前記ベクトル算出手段によって算出されたベクトルの分布に基づいて、前記画像内に使用されているスクリーンの線数と角度を抽出するスクリーン線数角度抽出手段
として機能させるための画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−175220(P2012−175220A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−32968(P2011−32968)
【出願日】平成23年2月18日(2011.2.18)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月18日(2011.2.18)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]