JP4802898B2 - 線状要素を有する画像の修正装置および修正方法 - Google Patents

線状要素を有する画像の修正装置および修正方法 Download PDF

Info

Publication number
JP4802898B2
JP4802898B2 JP2006188767A JP2006188767A JP4802898B2 JP 4802898 B2 JP4802898 B2 JP 4802898B2 JP 2006188767 A JP2006188767 A JP 2006188767A JP 2006188767 A JP2006188767 A JP 2006188767A JP 4802898 B2 JP4802898 B2 JP 4802898B2
Authority
JP
Japan
Prior art keywords
image
shift
pixel
distance
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006188767A
Other languages
English (en)
Other versions
JP2008015952A (ja
Inventor
直樹 河合
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2006188767A priority Critical patent/JP4802898B2/ja
Publication of JP2008015952A publication Critical patent/JP2008015952A/ja
Application granted granted Critical
Publication of JP4802898B2 publication Critical patent/JP4802898B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

本発明は、線状要素を有する画像の修正装置および修正方法に関し、特に、万線やヘアラインと呼ばれる不定形の線状要素を多数配置してなる画像について、線状要素の密度分布を修正する技術に関する。
細長い線状要素を多数配置してなる画像は、様々な分野で利用されている。たとえば、
壁紙や床材をはじめとする建材の表面装飾や、家具の表面装飾には、万線やヘアラインと呼ばれる線状要素を多数配置してなる模様が施されることが少なくない。これらの模様は、通常の印刷によってインキ層として表面に形成される場合もあるし、箔押しの方法によって金属光沢をもった層として形成される場合もあるし、エンボス加工により表面の凹凸構造として形成される場合もある。特に、エンボス加工により形成された多数の線状要素からなる模様は、光の反射に方向性をもたせる機能を果たすことができるため、いわゆる「照り」の表現を行う上で有用である。
たとえば、下記の特許文献1には、木材表面の照りの移動を表現するために、木目模様をもった建材表面に万線からなる多数の溝をエンボス加工によって形成する技術が開示されており、特許文献2には、コンピュータを利用して人工的に木目の導管断面パターンを生成する技術が開示されている。また、特許文献3には、天然木材の繊維質の配向性を表現するために、コンピュータを利用して、繊維潜り角の二次元スカラー場を定義し、この二次元スカラー場に基づいて万線パターンからなる画像を生成する方法が開示されている。更に、特許文献4には、任意の立体模様を多数のヘアライン状の溝からなるパターンによって表現する方法が開示されている。
特開平5−289302号公報 特開平9−327969号公報 特開2000−351263号公報 特開2001−138700号公報
万線やヘアラインと呼ばれる線状要素を多数配置してなる模様としては、同一の幅や長さを有する規格化された線状要素を規則的に配置したものも利用されているが、逆に、それぞれが不規則な不定形形状を有する多数の線状要素を、不規則に配置したものが利用される場合も少なくない。特に、木材や石材などの天然素材の自然な風合いを表現する上では、多数の不定形の線状要素を多数配置してなる模様が好んで用いられる。このような模様をコンピュータで人工的に発生させるための手法として、乱数を用いて個々の線状要素の形状や位置を決定する手法や、フラクタル場を利用して線状要素の形状や位置に自然の揺らぎを加える手法が知られている。
しかしながら、このようにコンピュータを利用した手法で、不定形の線状要素を不規則に配置した画像を作成すると、線状要素の密度分布が一様にならない、という問題が生じる。もちろん、天然木板に現れる木目導管断面パターンなどでも、個々の導管断面(線状要素)の密度分布は一様ではないが、コンピュータを利用した手法で作成した画像の場合、人為的に発生させたパターンであるため、どうしても密度分布に不自然さが残ってしまう。
このような線状要素を有する画像における密度分布の不自然な不均一性は、意匠上の問題にとどまらず、当該画像を建材や包装材の表面装飾に利用するにあたって、製造プロセス上の問題をも生じさせる。たとえば、画像の部分ごとに極端に密度の粗密があると、印刷を行う際のインキ量が部分ごとに異なってくるため、印刷不良が生じやすくなる。また、箔押しの方法によって画像の転写を行う場合であれば、箔層が部分的にはげ落ちてしまうような事態も生じやすくなり、エンボス加工により凹凸を形成する場合であれば、エンボス圧が部分ごとに相違し、正しいエンボス加工ができない事態も生じやすくなる。
そこで本発明は、不定形の線状要素を多数配置してなる画像について、線状要素の密度分布を全体的に違和感が生じないように修正する技術を提供することを目的とする。
(1) 本発明の第1の態様は、線状要素を多数配置してなる画像について、線状要素の密度分布を修正する画像の修正装置において、
線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像を入力する原画像入力部と、
入力した原画像を初期画像として格納する修正作業用画像格納部と、
入力した原画像を初期画像として格納するシフト画像格納部と、
修正作業用画像格納部内の画像について、個々の画素についての最近接黒画素に対する距離を求める距離演算部と、
距離演算部で演算された距離を示す値を画素値としてもつ距離画像を格納する距離画像格納部と、
所定のシフト量Δおよび空隙幅Wをパラメータとして設定するパラメータ設定部と、
シフト画像格納部内の画像を所定方向にシフト量Δだけシフトして更新するシフト処理部と、
シフト画像格納部内の画像の黒画素のうち、距離画像格納部内の画像の対応位置にある画素の画素値が空隙幅Wを超えている黒画素を、修正作業用画像格納部内の画像の対応位置にコピーするコピー処理部と、
を設けるようにしたものである。
(2) 本発明の第2の態様は、上述の第1の態様に係る線状要素を有する画像の修正装置において、
コピー処理部が、シフト画像格納部内の画像の個々の黒画素について、距離画像格納部内の画像の対応位置にある画素の画素値をそれぞれの参照画素値として求める処理を行い、この参照画素値が空隙幅Wを超えている黒画素が発見されたら、当該黒画素に対応する位置にある修正作業用画像格納部内の画像の白画素を黒画素に置換する処理を行うようにしたものである。
(3) 本発明の第3の態様は、上述の第1の態様に係る線状要素を有する画像の修正装置において、
コピー処理部が、修正作業用画像格納部内の画像の個々の白画素について、「対応する位置にあるシフト画像格納部内の画像の画素が黒画素」かつ「対応する位置にある距離画像格納部内の画像の画素の画素値が空隙幅Wを超えている」という条件を満たすかどうかを判定し、当該条件を満たしていた場合には、当該白画素を黒画素に置換する処理を行うようにしたものである。
(4) 本発明の第4の態様は、線状要素を多数配置してなる画像について、線状要素の密度分布を修正する画像の修正装置において、
線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像を入力する原画像入力部と、
入力した原画像を初期画像として格納する修正作業用画像格納部と、
入力した原画像を初期画像として格納するシフト画像格納部と、
修正作業用画像格納部内の画像について、個々の画素についての最近接黒画素に対する距離を求める距離演算部と、
所定のシフト量Δおよび空隙幅Wをパラメータとして設定するパラメータ設定部と、
シフト画像格納部内の画像を所定方向にシフト量Δだけシフトして更新するシフト処理部と、
シフト画像格納部内の画像の黒画素のうち、修正作業用画像格納部内の画像の対応位置にある画素についての距離演算部によって求められた距離が空隙幅Wを超えている黒画素を、修正作業用画像格納部内の画像の対応位置にコピーするコピー処理部と、
を設けるようにしたものである。
(5) 本発明の第5の態様は、上述の第1〜第4の態様に係る線状要素を有する画像の修正装置において、
シフト処理部が、シフト処理を複数回だけ繰り返し実行し、
コピー処理部が、各回のシフト処理が行われるごとにそれぞれコピー処理(実質的なコピーが全く行われない空コピー処理も含む)を実行し、
距離演算部が、原画像に対する距離演算処理およびコピー処理後の画像に対する距離演算処理を実行するようにしたものである。
(6) 本発明の第6の態様は、上述の第5の態様に係る線状要素を有する画像の修正装置において、
シフト処理部が、距離演算処理により空隙幅Wを超える距離が得られる画素の総数が所定の基準値以下になるまで、シフト処理を繰り返し実行するようにしたものである。
(7) 本発明の第7の態様は、上述の第5の態様に係る線状要素を有する画像の修正装置において、
シフト処理部が、空コピー処理が所定回数だけ連続して実行されるまで、シフト処理を繰り返し実行するようにしたものである。
(8) 本発明の第8の態様は、上述の第1〜第7の態様に係る線状要素を有する画像の修正装置において、
距離演算部が、2つの画素の中心点間のユークリッド距離もしくは当該ユークリッド距離を所定有効桁でまるめた値を演算値として求めるようにしたものである。
(9) 本発明の第9の態様は、上述の第1〜第7の態様に係る線状要素を有する画像の修正装置において、
距離演算部が、2つの画素の四近傍距離もしくは八近傍距離を演算値として求めるようにしたものである。
(10) 本発明の第10の態様は、上述の第1〜第9の態様に係る線状要素を有する画像の修正装置において、
シフト処理部が、シフトにより画像の一方から食み出た画素を、シフトにより画像の他方に生じた空白部分に配置するローテーションシフトを行うようにしたものである。
(11) 本発明の第11の態様は、上述の第1〜第10の態様に係る線状要素を有する画像の修正装置において、
パラメータ設定部が、シフト方向をパラメータとして設定する機能を有し、
シフト処理部が、設定したシフト方向にシフト処理を実行するようにしたものである。
(12) 本発明の第12の態様は、上述の第1〜第11の態様に係る線状要素を有する画像の修正装置を、コンピュータに専用のプログラムを組み込むことにより実現したものである。
(13) 本発明の第13の態様は、線状要素を多数配置してなる画像について、線状要素の密度分布を修正する画像の修正方法において、
線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像をコンピュータに入力し、入力した原画像を初期状態の修正作業用画像および初期状態のシフト画像として設定する原画像入力段階と、
所定のシフト量Δおよび空隙幅Wをパラメータとしてコンピュータに対して設定するパラメータ設定段階と、
コンピュータが、初期状態もしくはその後の状態の修正作業用画像の個々の画素についての最近接黒画素に対する距離を求める距離演算段階と、
コンピュータが、初期状態もしくはその後の状態のシフト画像を所定方向にシフト量Δだけシフトして更新する画像シフト段階と、
コンピュータが、シフト画像の黒画素のうち、修正作業用画像の対応位置にある画素について距離演算段階で求められた距離が空隙幅Wを超えている黒画素を、修正作業用画像の対応位置にコピーして更新する画像コピー段階と、
コンピュータが、更新後の修正作業用画像を修正済画像として出力する修正済画像出力段階と、
を実行するようにしたものである。
(14) 本発明の第14の態様は、上述の第13の態様に係る線状要素を有する画像の修正方法において、
距離演算段階、画像シフト段階、画像コピー段階(実質的なコピーが全く行われない空コピー段階も含む)を、複数回だけ繰り返し実行した後に、修正済画像出力段階を実行するようにしたものである。
(15) 本発明の第15の態様は、上述の第14の態様に係る線状要素を有する画像の修正方法において、
距離演算段階で、空隙幅Wを超える距離が得られる画素の総数が所定の基準値以下となった時点で、修正済画像出力段階を実行するようにしたものである。
(16) 本発明の第16の態様は、上述の第14の態様に係る線状要素を有する画像の修正方法において、
空コピー段階が所定回数だけ連続して実行された時点で、修正済画像出力段階を実行するようにしたものである。
(17) 本発明の第17の態様は、上述の第13〜第16の態様に係る線状要素を有する画像の修正方法において、
距離演算段階で、2つの画素の中心点間のユークリッド距離もしくは当該ユークリッド距離を所定有効桁でまるめた値を演算値として求めるようにしたものである。
(18) 本発明の第18の態様は、上述の第13〜第16の態様に係る線状要素を有する画像の修正方法において、
距離演算段階で、2つの画素の四近傍距離もしくは八近傍距離を演算値として求めるようにしたものである。
(19) 本発明の第17の態様は、上述の第13〜第18の態様に係る線状要素を有する画像の修正方法において、
画像シフト段階で、シフトにより画像の一方から食み出た画素を、シフトにより画像の他方に生じた空白部分に配置するローテーションシフトを行うようにしたものである。
(20) 本発明の第20の態様は、上述の第13〜第19の態様に係る線状要素を有する画像の修正方法において、
パラメータ設定段階で、空隙幅Wとして、各線状要素の平均的な幅値にほぼ等しい値を設定するようにしたものである。
(21) 本発明の第21の態様は、上述の第13〜第20の態様に係る線状要素を有する画像の修正方法において、
パラメータ設定段階で、シフト量Δとして、空隙幅Wの2倍の値を設定するようにしたものである。
(22) 本発明の第22の態様は、上述の第13〜第21の態様に係る線状要素を有する画像の修正方法において、
画像シフト段階で、全線状要素に共通する大まかな長手方向をコンピュータに対して指示し、コンピュータが、長手方向に対して直交する方向をシフト方向とするシフト処理を実行するようにしたものである。
本発明によれば、不定形の線状要素を多数配置してなる画像について、線状要素の分布が粗となる領域に、既存の線状要素の全部もしくは一部をコピーするようにしたため、全体的に違和感のない密度分布の修正が可能になる。
以下、本発明を図示する実施形態に基づいて説明する。
<<< §1.本発明の基本概念 >>>
図1は、本発明に係る修正方法による修正前の画像の一例を示す平面図であり、図2は、この図1に示す画像に対して、本発明に係る修正方法を適用することによって得られた修正後の画像の一例を示す平面図である。図1に示す修正前画像は、乱数を用いたアルゴリズムに基づき、コンピュータで人為的に発生させた画像であり、多数の不定形線状要素から構成されている。この修正前画像上の模様は、全体的には、葉脈のようなモチーフとなっており、自然の流れを表現するために、その発生過程において乱数を用いたアルゴリズムが利用されている。
このように、不定形の線状要素を不規則に配置した画像をコンピュータを利用して作成すると、線状要素の密度分布が一様にならないという問題が生じる。たとえば、図1に示す例では、ところどころに空隙領域(白地の背景部分)が目立っており、線状要素の密度分布が不均一となっている。このような線状要素の密度分布の不均一性は、意匠上好ましくなく、また、印刷、箔押し、エンボス加工などの方法で建材や包装材の表面模様として利用した場合にも、製造プロセス上の様々な問題が生じることは、既に述べたとおりである。
この図1に示す修正前画像に対して、本発明に係る修正装置および修正方法を適用して得られた画像が、図2に示す修正後画像である。図1の画像において目立っていた白地の空隙領域が、図2の画像では解消しており、線状要素の密度分布が、より均一化されていることがわかる。しかも、図2に示す結果を見ると、修正を加えた部分が特段不自然に見えるようなこともない。実際、図2の画像を見る限り、どの部分が修正個所であるかを認識することはできず、修正を施すことにより、全体的に違和感は生じていない。
本発明の特徴は、このように、不定形の線状要素を多数配置してなる画像について、線状要素の密度分布を全体的に違和感が生じないように修正することができる点にある。その基本原理は、修正対象となる原画像上の線状要素もしくはその一部分を、空隙部分に平行移動してコピーする、というものである。この基本原理によると、原画像において線状要素が「密」に配置されていた部分に対する修正はできないが、線状要素が「粗」に配置されていた部分には、新たな線状要素が配置されることになり、密度を向上させることができる。
続いて、この基本原理を、図3〜図6の平面図を参照しながら、もう少し詳しく説明しよう。いま、図3に示すような原画像が修正対象として与えられたものとしよう。この原画像は、4本の線状要素L1〜L4からなる単純な画像であるが、実際には、多数の画素の集合から構成されている。ここでは、各線状要素L1〜L4の部分(ハッチングを施した部分)を構成する画素を「黒画素」と呼び、背景部分(図の白い部分)を構成する画素を「白画素」と呼ぶことにする。「黒画素」と「白画素」とは、画素値によって区別される。たとえば、「黒画素」を画素値「1」、「白画素」を画素値「0」で表わすことにすれば、この原画像は、1ビットの画素値をもつ多数の画素の集合体として表現される。
図3に示す原画像の線状要素L1とL2との間には、空隙領域SPが存在するため、全体的に、線状要素の分布密度にムラが生じている。そこで、この空隙領域SPに、たとえば、図4に示すように既存の線状要素L1をコピーし、新たな線状要素L1aとして追加すれば、空隙領域SPは解消し、線状要素の分布密度はより均一化されることになる。この例の場合、線状要素L1aは、元の線状要素L1と全く同じ形状をした要素であり、元の線状要素L1を、図に白矢印で示す方向に平行移動してコピーしたものになる。
ただ、実際には、元の線状要素L1をそっくりコピーするのが好ましくない場合もある。たとえば、図5に示すような原画像に対して修正を行うことを考えてみる。この図5に示す原画像は、図3に示す原画像に線状要素L5を付加したものであるが、やはり線状要素L5の左側部分に空隙領域SPが生じてしまっている。ただ、この空隙領域SPを埋めるために、既存の線状要素L1をそっくりそのままコピーすると、線状要素L5と干渉してしまうため好ましくない。
このような場合には、図6に示すように、既存の線状要素L1の一部分のみをコピーし、新たな線状要素L1bとして追加すればよい。すなわち、元の線状要素L1の左から2/3程の部分のみを、図に白矢印で示す方向に平行移動してコピーし、右から1/3程の部分はコピーしないようにすればよい。
このように、修正対象となる原画像上に既存の線状要素もしくはその一部分を、空隙領域にコピーする、という手法を採れば、コピーされた線状要素の形状は、既存の線状要素の形状に準じたものになるため、全体的に違和感が生じない修正が可能になる。また、コピーする際に、元の線状要素を平行移動する、という手法を採ることにより、コピーされた線状要素の向きも、既存の線状要素の向きに準じたものになるため、やはり全体的に違和感が生じない修正が可能になる。このように、新たに追加する線状要素の向きを、既存の線状要素の向きに合わせる、という手法は、特に、木材の「照り」を表現するための万線など、配向性が重要な機能を果たす線状模様の場合には有効である。
さて、上述したように、修正対象となる原画像上の線状要素もしくはその一部分を、空隙領域に平行移動してコピーする、という基本原理に従った修正を、コンピュータ上で行うためには、何らかのアルゴリズムが必要になる。すなわち、特定の線状要素の特定部分を、空隙領域の特定部分へコピーする、という処理をコンピュータに実行させるためには、具体的なアルゴリズムに基づいてプログラムを作成する必要がある。
そこで、本発明では、次のようなアルゴリズムにより、この修正処理を実行させるようにした。まず、原画像の個々の白画素について、それぞれ空間的に最も近い位置に存在する黒画素(最近接黒画素)に対する距離値を求める。その結果、既存の線状要素から遠い白画素ほど、大きな距離値が与えられることになる。そして、各距離値を画素値としてもつ距離画像を生成する。次に、原画像全体を所定方向に所定ピッチだけシフトさせたシフト画像を生成し、このシフト画像上の黒画素のうち、対応する距離画像上の画素値が所定値を超える画素をコピー対象画素と定め、当該コピー対象画素からなる線状要素を原画像上にコピーすることにより密度分布の修正を行うようにする。以下、このアルゴリズムについて、より具体的な説明を行う。
<<< §2.本発明に係る修正装置の構成 >>>
ここでは、上述したアルゴリズムに基づく修正処理を実行することが可能な修正装置の基本構成を図7のブロック図を参照しながら説明する。この修正装置は、図示のとおり、原画像入力部10、シフト画像格納部20、修正作業用画像格納部30、コピー処理部40、シフト処理部50、パラメータ設定部60、距離演算部70、距離画像格納部80によって構成されており、線状要素を多数配置してなる原画像P0について、線状要素の密度分布を修正する処理を行う機能を有している。
もっとも、実際には、この修正装置は、コンピュータに専用のプログラムを組み込むことにより実現されるものであり、上述した各構成要素は、いずれもコンピュータのハードウエアおよびソフトウエアの組合わせによって具現化されることになる。たとえば、シフト画像格納部20、修正作業用画像格納部30、距離画像格納部80は、いずれも画像データを格納する機能をもった構成要素であるが、実際には、コンピュータメモリなどの記憶装置によって構成されることになる。また、原画像入力部10やパラメータ設定部60は、外部からのデータや指示を入力するためのコンピュータ用入力機器を利用して構成され、コピー処理部40、シフト処理部50、距離演算部70は、所定の演算処理用プログラムと演算処理装置との組合わせによって実現されることになる。
原画像入力部10は、修正対象となる原画像P0を二値画像として入力する構成要素である。前述したように、ここでは、線状要素を含む画像において、線状要素部分を構成する画素を「黒画素」と呼び、背景部分を構成する画素を「白画素」と呼ぶことにする。したがって、原画像入力部10は、黒画素と白画素との集合体からなる二値画像として、修正対象となる原画像P0を入力する構成要素ということになる。
なお、本願における「黒画素」,「白画素」という用語は、単に、「線状要素部分を構成する画素」,「背景部分を構成する画素」を意味する用語として用いるものであり、「第1属性の画素」,「第2属性の画素」と同義である。ここで「第1属性の画素」,「第2属性の画素」という語句の代わりに、「黒」や「白」という色を示す語句を敢えて用いているのは、図面を参照しながら実施例の説明を行う上での便宜を図るため(視覚的把握を容易にするため)のものであり、「黒画素」,「白画素」は、画像上の実際の色を示すものではない。
原画像入力部10によって入力された原画像P0は、シフト画像格納部20および修正作業用画像格納部30にそれぞれ格納される。ここに示す実施形態では、原画像P0は、I行J列の二次元画素配列からなるデータであり、第i行第j列目の位置にある画素をP0(i,j)で表わすことにする。上述したとおり、この原画像P0を構成する画素は、黒画素か白画素かのいずれか一方である。すなわち、原画像P0は二値画像であり、任意の画素P0(i,j)は、画素値「1」(黒画素の場合)もしくは画素値「0」(白画素の場合)のいずれか一方の画素値を有している。
シフト画像格納部20は、I行J列の二次元画素配列からなる画像データを格納する機能をもった記憶領域である。ここでは、このシフト画像格納部20に格納されることになる画像を「シフト画像Sk」と呼ぶことにし、このシフト画像Skの第i行第j列目の位置にある画素をSk(i,j)で表わすことにする。ここで、「シフト画像Sk」や「画素Sk(i,j)」における添字の「k」は、1,2,3,…という整数である。シフト画像Skは、元になる原画像P0を、所定方向に、所定のシフト量だけ、k回だけシフトさせることにより得られる画像である。元になる原画像P0自身を、シフト画像と呼ばないことにすれば、上述のようにシフト画像Skの添字の「k」は1から始まることになるが、原画像P0自身を初期状態のシフト画像(原画像を0回だけシフトさせることにより得られる画像)として把握すれば、添字の「k」は、0から始まることになる。
同様に、修正作業用画像格納部30も、I行J列の二次元画素配列からなる画像データを格納する機能をもった記憶領域である。ここでは、この修正作業用画像格納部30に格納されることになる画像を「修正作業用画像Pk」と呼ぶことにし、この修正作業用画像Pkの第i行第j列目の位置にある画素をPk(i,j)で表わすことにする。ここでの添字の「k」は、0,1,2,…という整数である。なお、ここでは、便宜上、元になる原画像P0自身も、修正作業用画像Pkと呼ぶことにし、修正作業用画像Pkの添字の「k」は0から始まることにする。
結局、原画像入力部10から入力された原画像P0は、シフト画像格納部20内に、シフト画像を生成するための元になる初期画像として格納されるとともに、修正作業用画像格納部30内に、最初の修正作業用画像として格納されることになる。別言すれば、シフト画像格納部20内に格納される初期画像と、修正作業用画像格納部30内に格納される初期画像とは、いずれも原画像P0に一致する。
パラメータ設定部60は、所定のシフト量Δおよび空隙幅Wをパラメータとして設定する機能を有する。これらのパラメータの値として、常に固定値を用いるのであれば、当該固定値をパラメータ設定部60に記憶させておけばよい。ただ、後述するように、このパラメータは、修正処理の内容に影響を与えることになるので、実用上は、オペレータが任意の値をパラメータとして自由に設定できるようにしておくのが好ましい。具体的には、キーボードなどから、ΔおよびWの値をオペレータが直接入力できるようにしておいてもよいし、ディスプレイ画面上に表示されたツマミなどをマウスでドラッグすることにより、数値を増減できるインターフェイスを用意しておき、オペレータがツマミなどを所望の位置に移動させることにより、所望の数値をパラメータとして設定できるようにしておいてもよい。
シフト処理部50は、シフト画像格納部20内に格納されている画像を所定方向に、シフト量Δ(パラメータ設定部60に設定した値)だけシフトして更新する処理を実行する。ここに示す実施形態の場合、シフト画像格納部20内には、I行J列の二次元画素配列からなる画像が格納されているので、この画像を下方向にシフト量Δだけローテーションシフトする処理が行われる。たとえば、シフト量Δ=1画素に設定した場合、第1行目の画素は第2行目へ移動し、第2行目の画素は第3行目へ移動し、第3行目の画素は第4行目へ移動し、……、第I行目(最下行)の画素は第1行目(最上行)へ移動することになる。もちろん、「画像をシフトする」と言っても、実際には、個々の配列要素に格納されている画素値を移動させる演算が行われることになる。
距離演算部70は、修正作業用画像格納部30内の画像について、個々の画素についての最近接黒画素に対する距離を求める演算を行い、この距離演算部70で演算された距離を示す値を画素値としてもつ距離画像Dkが、距離画像格納部80に格納される。この距離画像Dkも、I行J列の二次元画素配列からなる画像データであり、この距離画像Dkの第i行第j列目の位置にある画素をDk(i,j)で表わすことにする。したがって、距離画像Dkを格納する機能をもった距離画像格納部80も、I行J列の二次元画素配列からなる画像データを格納する機能をもった記憶領域ということになる。
ここでの添字の「k」は、修正作業用画像Pkの添字「k」に対応するものであり、やはり0,1,2,…という整数になる。たとえば、修正作業用画像格納部30内には、初期画像として、修正作業用画像P0(原画像と同一)が格納されているが、この修正作業用画像P0について距離演算部70が行った演算により得られた画像は、最初の距離画像D0として、距離画像格納部80に格納されることになる。同様に、第k番目の修正作業用画像Pkについて距離演算部70が行った演算により得られた画像は、第k番目の距離画像Dkとして、距離画像格納部80に格納されることになる。このように、距離画像格納部80内の距離画像は、修正作業用画像格納部30内の画像が更新されるたびに、新たな画像に更新されることになる。
コピー処理部40は、シフト画像格納部20内に格納されているシフト画像Sk内の線状要素もしくはその一部を、修正作業用画像格納部30に格納されている修正作業用画像Pkの上にコピーする処理を実行する。具体的には、シフト画像格納部20内の画像の黒画素のうち、距離画像格納部80内の画像の対応位置にある画素の画素値が空隙幅W(パラメータ設定部60に設定した値)を超えている黒画素を、コピー対象画素として決定し、修正作業用画像格納部30内の画像の対応位置にコピーする処理を実行する。いわば、図4に示す線状要素L1aや図6に示す線状要素L1bを新たな線状要素として追加する処理を実行する機能を有している。
<<< §3.本発明に係る修正方法の手順 >>>
続いて、図8の流れ図を参照しながら、本発明に係る修正方法の手順を説明する。まず、ステップS1において、原画像入力段階が行われる。この段階は、線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像をコンピュータに入力し、入力した原画像を初期状態の修正作業用画像および初期状態のシフト画像として設定する段階である。たとえば、図7に示す例の場合、原画像P0が、初期状態のシフト画像S0としてシフト画像格納部20へ格納されるとともに、初期状態の修正作業用画像P0として修正作業用画像格納部30へ格納される。
続くステップS2では、所定のシフト量Δおよび空隙幅Wをパラメータとしてコンピュータに対して設定する段階が行われる。ここに示す実施形態の場合、シフト量Δ,空隙幅Wともに「画素」を単位とする整数値として設定される。以上、ステップS1,S2は、コンピュータに修正処理を実行させるための準備段階というべき処理である。実質的な修正処理の手順は、続くステップS3〜S5によって行われる。
まず、ステップS3の距離演算段階では、コンピュータ(距離演算部70)が、初期状態もしくはその後の状態の修正作業用画像Pk(修正作業用画像格納部30に格納されている画像)の個々の画素についての最近接黒画素に対する距離を求める処理が行われ、その結果として得られる距離画像Dkが、距離画像格納部80に格納される。ステップS2に続いて、最初にステップS3が実行された場合、修正作業用画像格納部30内には、原画像P0が初期状態の修正作業用画像P0として格納されているので、この原画像P0についての距離画像D0が演算によって求められ、距離画像格納部80内に格納されることになる。
ステップS4の画像シフト段階では、コンピュータ(シフト処理部50)が、初期状態もしくはその後の状態のシフト画像(シフト画像格納部20に格納されている画像)を所定方向にシフト量Δ(ステップS2で設定したパラメータ)だけシフトして更新する処理が行われる。初期状態では、シフト画像格納部20内には、原画像P0が格納されているので、この原画像P0に対してシフト量Δだけローテーションシフトして得られるシフト画像によって、シフト画像格納部20内の画像が書き換えられることになる。
続くステップS5の画像コピー段階では、コンピュータ(コピー処理部40)が、シフト画像Sk(シフト画像格納部20に格納されている画像)の黒画素について、修正作業用画像Pk(修正作業用画像格納部30に格納されている画像)の対応位置にある画素について距離演算段階で求められた距離(すなわち、距離画像格納部80に格納されている距離画像Dk内の画素値)を調べ、当該距離が空隙幅W(ステップS2で設定したパラメータ)を超えていた場合には、当該黒画素を、修正作業用画像Pkの対応位置にコピーして更新する処理が行われる。
たとえば、シフト画像Sk内の第i行第j列目の画素Sk(i,j)が黒画素であったものとしよう。この場合、修正作業用画像Pkの同じ位置の画素Pk(i,j)についての距離(最近接黒画素に対する距離)は、ステップS3の距離演算段階で求められており、距離画像Dkの同じ位置の画素Dk(i,j)の画素値として記録されている。そこで、この画素Dk(i,j)の画素値を空隙幅Wと比較し、前者が後者を超えていた場合には、黒画素Sk(i,j)を、修正作業用画像Pkの同じ位置へコピーする処理が行われる。実際には、修正作業用画像Pkの同じ位置の画素Pk(i,j)の画素値を黒画素を示す画素値「1」に変更する処理が行われることになる。シフト画像Sk内のすべての黒画素について、同様の処理を行えば、ステップS5の画像コピー段階は完了である。
以上のステップS3〜S5の処理段階により、修正作業用画像Pk内の空隙領域に、シフト画像Skの適当な箇所から線状要素のコピーが行われることになり、線状要素の密度分布の均一化が進むことになる。ただ、実際には、ステップS5において、条件を満たす黒画素(コピー対象となる黒画素)が1つも見つからず、実質的な黒画素のコピーが全く行われないケースもあり得る。この場合、ステップS5の画像コピー段階は、単なる「空コピー段階」ということになる。また、ステップS5において、実質的なコピーが行われたとしても、それだけでは不十分な場合も少なくない。そこで、実用上は、ステップS3の距離演算段階、ステップS4の画像シフト段階、ステップS5の画像コピー段階(実質的なコピーが全く行われない空コピー段階も含む)を、複数回だけ繰り返し実行するのが好ましい。
そのために、図8の流れ図に示す手順では、ステップS6の分岐を経て、再びステップS3へと戻るループを形成し、ステップS6において「終了」との判断がなされるまで、ステップS3〜S5の処理段階が繰り返し実行されるようにしている。ステップS6では、たとえば、繰り返し回数が予め定めた所定の設定値に達したか否か、というような所定の条件(より実用的な条件設定については後述する)を定めておき、ステップS3へ戻るか、ステップS7へ進むかの判断を行うようにすればよい。
最後のステップS7の修正済画像出力段階では、更新後の修正作業用画像Pk(その時点で、修正作業用画像格納部30内に格納されている画像)を修正済画像としてコンピュータから出力する処理が行われる。
<<< §4.具体例に基づく手順説明 >>>
ここでは、具体的な原画像について、図7に示す修正装置を用いて、図8に示す修正方法の手順を実行した例を詳細に説明する。まず、図8のステップS1「原画像入力段階」において、図9に示すような原画像P0が入力された場合を考えてみる。この図9に示す原画像P0は、図1に示す実際の原画像に比べるとかなり粗い画像であるが、説明の便宜を考慮して、以下、このような原画像P0に対する修正処理の手順を述べる。
この原画像P0は、I行J列の二次元画素配列からなる画像であり、図示のとおり、3つの線状要素L11,L12,L13を有している。図にハッチングを施して示す小さな正方形は、個々の黒画素(たとえば、画素値「1」をもつ画素)を示しており、各線状要素L11,L12,L13は、いずれもこの黒画素の集合体によって構成されている。一方、白地の背景として示されている領域は、白画素(たとえば、画素値「0」をもつ画素)の集合体によって構成されている。なお、ここでは、図が繁雑になるのを避けるため、個々の画素の輪郭(小さな正方形の輪郭)は、黒画素についてのみ表示し、白画素の輪郭は図示を省略してある。
図8のステップS1「原画像入力段階」では、図7の原画像入力部10から、図9に示す原画像P0を入力して、シフト画像格納部20および修正作業用画像格納部30内に初期画像として格納する処理が行われる。したがって、この時点では、シフト画像格納部20に格納されている初期状態のシフト画像S0と、修正作業用画像格納部30に格納されている初期状態の修正作業用画像P0とは、いずれも図9に示す原画像P0ということになる。
続くステップS2「パラメータ設定段階」では、シフト量Δと空隙幅Wとが、パラメータとして設定される。ここでは、シフト量Δ=1画素、空隙幅W=2画素、という具体的な数値によってパラメータ設定がなされたものとして、以下の説明を続けることにする。このようなパラメータ設定は、前述したとおり、図7のパラメータ設定部60に対して行われる。
さて、続いて、ステップS3〜S5の実質的な修正作業に入ることになる。このステップS3〜S5は、前述したとおり、何回か繰り返して実行される手順である。そこで、以下、各繰り返しごとに順を追って説明する。前述したように「k」は、繰り返し回数を示す変数である。
<第1回目の繰り返し>
はじめに、ステップS3「距離演算段階」が実行される。ここでは、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像Pkの各画素について、最近接黒画素に対する距離を求め、求めた距離を示す値を画素値としてもつ距離画像Dkを作成して、距離画像格納部80に格納する処理が実行される。現時点で修正作業用画像格納部30内に格納されている画像は、初期段階の修正作業用画像P0、すなわち、図9に示す原画像P0である。そこで、この図9に示す原画像P0について、図10に示すような距離画像D0が作成され、距離画像格納部80に格納されることになる。
図10に示す距離画像D0は、やはりI行J列の二次元画素配列からなる画像であり、図9に示す原画像P0と、全く同一の画素配列を有している。したがって、距離画像D0内の任意の画素D0(i,j)は、原画像P0内の同じ位置にある特定の画素P0(i,j)に1対1に対応する。そして、距離画像D0上の画素D0(i,j)の画素値は、原画像P0上の対応する画素P0(i,j)についての「最近接黒画素に対する距離」を示している。なお、図10に示す距離画像D0上には、説明の便宜上、図9に示す原画像P0上の黒画素の輪郭(小さな正方形)を描いてある。これにより、対応する原画像P0上の黒画素の位置を容易に認識することができる。
図10において、この小さな正方形の輪郭内に描かれている数値がすべて「0」になっているのは、黒画素についての最近接黒画素は自分自身であるから、「最近接黒画素に対する距離」が「0」であることを示しているからである。これに対して、図10において「1以上の数値」が描かれている画素は、対応する原画像P0上に白画素が配置されている画素である。数値は、1〜6と様々であるが、数値が小さいほど、近隣に黒画素が存在していることになる。たとえば、数値「1」が描かれている画素は、数値「0」が描かれている画素に隣接する画素となっており、「最近接黒画素に対する距離」が1であることを示している。
なお、ここで述べる実施形態の場合、「最近接黒画素に対する距離」として、画素の配列ピッチ(縦横等ピッチとする)を単位距離とした場合の2つの画素の中心点間のユークリッド距離(純粋な幾何学上の距離)を用いている。これを図11の拡大画素図を用いて説明しよう。
図11は8行7列の二次元画素配列を示しており、ハッチングを施した画素が黒画素、白地の画素が白画素である。また、Q1〜Q9は、個々の画素を示すとともに、その中心点をも示している。ここで、各画素Q1〜Q9の「最近接黒画素に対する距離」を、それぞれD(Q1)〜D(Q9)とした場合、各距離の値は、図11の下段に示すような数値になる。
たとえば、D(Q3)=0となっているが、これは、画素Q3についての最近接黒画素は自分自身であるから、中心点Q3と中心点Q3との間のユークリッド距離が0になるためである。同様に、黒画素Q4,Q6,Q7,Q9についての距離D(Q4),D(Q6),D(Q7),D(Q9)は、いずれも0である。一方、画素Q1についての距離D(Q1)=2となっているのは、画素Q1についての最近接黒画素はQ3であり、中心点Q1,Q3間のユークリッド距離が2になるためである。同様に、画素Q2についての距離D(Q2)=1となっているのは、画素Q2についての最近接黒画素はQ3であり、中心点Q2,Q3間のユークリッド距離が2になるためである。
また、画素Q5については、黒画素Q6に対する距離(中心点Q5,Q6間の距離)が2であるのに対して、黒画素Q4に対する距離(中心点Q5,Q4間の距離)が√5であるので、最近接黒画素はQ6ということになり、距離D(Q5)=2となっている。これに対して、画素Q8については、黒画素Q7に対する距離(中心点Q8,Q7間の距離)が2であるのに対して、黒画素Q9に対する距離(中心点Q8,Q9間の距離)が√2であるので、最近接黒画素はQ9ということになり、距離D(Q8)=√2となっている。
このように、個々の画素について、それぞれ最近接黒画素に対するユークリッド距離を求める演算は単純な幾何学演算であり、コンピュータ上でこのような演算を行う手法は種々の方法が公知であるため、ここでは詳しい説明は省略する。なお、ここに示す実施形態では、√2や√5など、整数にならない距離値を、距離画像Dk上にそのまま描くと図が繁雑になるため、距離の値としては、小数点以下を四捨五入してまるめた値を用いた例を示すことにする。もちろん、実用上も、本来のユークリッド距離を所定有効桁でまるめた値を距離の演算値として用いるようにするのが好ましい。
こうしてステップS3「距離演算段階」が完了すると、続いて、ステップS4「画像シフト段階」が行われる。すなわち、シフト画像格納部20内に現時点で格納されているシフト画像S0(図9に示す原画像P0と同一)に対して、シフト処理部50がローテーションシフト処理を実行する。図12は、このようなシフト処理によって得られたシフト画像S1を示す平面図である。ここに示す例では、シフト方向は下方向、シフト量Δ=1画素に設定されているため、図12に示すシフト画像S1は、図9に示す原画像P0を1行分だけ下方にローテーションシフトしたものとなっている。シフト画像S1の第I行目(最下行)の画素は、旧(I−1)行目の画素であり、シフト画像S1の第1行目(最上行)の画素は、旧I行目(最下行)の画素である。
このようなローテーションシフトを行うには、たとえば、まず、第I行目の画素の各画素値を一時的なレジスタに退避させておき、第(I−1)行目の画素の各画素値を、それぞれ第I行目の画素の各画素値として書き込み、第(I−2)行目の画素の各画素値を、それぞれ第(I−1)行目の画素の各画素値として書き込み、……、第1行目の画素の各画素値を、それぞれ第2行目の画素の各画素値として書き込み、最後に、レジスタに退避させていた画素値を、第1行目の画素の各画素値として書き込む、という処理を行えばよい。
最後に、ステップS5「画像コピー段階」が実行される。これは、コピー処理部40が、シフト画像格納部20内の画像(この例の場合、図12に示すシフト画像S1)の黒画素S1(i,j)のうち、距離画像格納部80内の画像(この例の場合、図10に示す距離画像D0)の対応位置にある画素D0(i,j)の画素値が、空隙幅W(この例の場合W=2)を超えている黒画素S1(i,j)を、修正作業用画像格納部30内の画像(この例の場合、図9に示す原画像P0)の対応位置にコピーする処理である。
図13は、このコピー処理において参照されるシフト画像S1と距離画像D0との関係図である。図13に示す個々の数値は、図10に示す距離画像D0の画素値を示す数値と全く同一であるが、図13に示す小さな正方形の輪郭は、図12に示すシフト画像S1の黒画素の位置を示すものになっている。別言すれば、図10と図13との相違は、図10に示す小さな正方形の輪郭が原画像P0の黒画素の位置を示しているのに対して、図13に示す小さな正方形の輪郭はシフト画像S1の黒画素の位置を示していることになる。その結果、図10では、輪郭内の数値はすべて「0」であったのに対し、図13では、輪郭内の数値は「0」と「1」との混合になっている。
コピー処理部40は、この図13において、輪郭内の数値がW=2を超える画素(すなわち、この例では、輪郭内の数値が3以上のもの)を探し、そのような画素があれば、これをコピー対象画素として、修正作業用画像格納部30内の画像に対してコピーを行って更新する。図13に示す例の場合、輪郭内の数値は0または1のみであり、3以上の画素は存在しない。したがって、この時点でのステップS5「画像コピー段階」は、実質的なコピーが全く行われない空コピー処理ということになるが、ここでは、便宜上、このような空コピー処理により、修正作業用画像格納部30内に格納されていた修正作業用画像P0が、修正作業用画像P1に更新されたものとする。もちろん、修正作業用画像P1は、修正作業用画像P0(すなわち原画像P0)と全く同一の画像であり、実際には、データの書換作業は何ら行われない。
結局、ステップS5の処理が完了した時点では、シフト画像格納部20内には、図12に示すシフト画像S1が格納され、修正作業用画像格納部30内には、図9に示す原画像P0と全く同一の修正作業用画像P1が格納され、距離画像格納部80には、図10に示す距離画像D0が格納された状態となっている。
このようなステップS3〜S5の実質的な修正作業が、ステップS6を介したループにより、繰り返し実行される。図7のブロック図に示した、シフト画像Sk,修正作業用画像Pk,距離画像Dkの添字「k」は、この繰り返し回数に対応するものである。すなわち、シフト画像Skは、第k回目のシフト処理後に得られるシフト画像を示し、修正作業用画像Pkは、このシフト画像Skに基づくコピー処理後(実質的なコピーが全く行われない空コピー処理も含む)に得られる修正作業用画像を示し、距離画像Dkは、この修正作業用画像Pkについての距離演算によって得られる距離画像を示している。
結局、ステップS3〜S5の処理は、ステップS6を介したループにより、繰り返し実行されることになるが、第k回目の繰り返し実行時には、ステップS3の距離演算処理は、修正作業用画像P(k−1)についての距離演算を行い、その結果として得られる距離画像D(k−1)を距離画像格納部80に格納する処理ということになり、ステップS4の画像シフト処理は、シフト画像S(k−1)に対してローテーションシフトを行い、その結果として得られる新たなシフト画像Skをシフト画像格納部20に格納する処理ということになり、ステップS5のコピー処理は、シフト画像Skの黒画素のうち、距離画像D(k−1)の対応位置にある画素の画素値が空隙幅Wを超えている黒画素を、修正作業用画像P(k−1)の対応位置にコピーして、その結果として得られる新たな修正作業用画像Pkを修正作業用画像格納部30に格納する処理ということになる。
<第2回目の繰り返し>
それでは、図8のステップS6からステップS3へと戻り、第2回目の繰り返しが実行された場合の処理手順を続けて説明する。まず、ステップS3「距離演算段階」では、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像P1について距離演算を行い、得られた距離画像D1を距離画像格納部80に格納する処理が行われる。もっとも、ここに示す例の場合、前回のコピー処理は空コピー処理であったため、修正作業用画像P1は、修正作業用画像P0(すなわち原画像P0)と全く同一である。したがって、当然ながら、距離画像D1は距離画像D0と全く同一であり、新たに距離演算を行う必要はない。そこで、実用上は、前回のコピー処理が空コピー処理であった場合、ステップS3「距離演算段階」の実質的な演算処理は省略することができる。
続いて、ステップS4「画像シフト段階」が行われる。すなわち、シフト画像格納部20内に現時点で格納されているシフト画像S1(図12)に対して、シフト処理部50がローテーションシフト処理を実行する。図14は、このようなシフト処理によって得られたシフト画像S2を示す平面図である。図示のとおり、下方向に1行ずつローテーションシフトしたため、もとの線状要素L13は、3つの線状要素L13−1,L13−2,L13−3に分割されてしまっている。
そして、ステップS5「画像コピー段階」が実行される。これは、コピー処理部40が、シフト画像格納部20内のシフト画像S2(図14)の黒画素S2(i,j)のうち、距離画像格納部80内の距離画像D1(図10に示す距離画像D0と同じ)の対応位置にある画素D1(i,j)の画素値が、空隙幅W(この例の場合W=2)を超えている黒画素S2(i,j)を、修正作業用画像格納部30内の修正作業用画像(図9に示す原画像P0と同じ)の対応位置にコピーする処理である。
図15は、このコピー処理において参照されるシフト画像S2と距離画像D1との関係図である。図15に示す小さな正方形の輪郭は、図14に示すシフト画像S2の黒画素の位置を示すものになっており、この輪郭内の数値は「1」と「2」との混合になっている。
コピー処理部40は、この図15において、輪郭内の数値がW=2を超える画素(すなわち、輪郭内の数値が3以上のもの)を探し、そのような画素があれば、これをコピー対象画素として、修正作業用画像格納部30内の画像に対してコピーを行って更新する。ただ、図15に示す例の場合も、3以上の画素は存在しないので、やはり空コピー処理が行われることになる。
結局、第2回目の繰り返し手順が完了した時点では、シフト画像格納部20内には、図14に示すシフト画像S2が格納され、修正作業用画像格納部30内には、図9に示す原画像P0と全く同一の修正作業用画像P2が格納され、距離画像格納部80には、図15に示す距離画像D1(図10の距離画像D0と同じ)が格納された状態となっている。
<第3回目の繰り返し>
次に、図8のステップS6からステップS3へと戻り、第3回目の繰り返しが実行された場合の処理手順を続けて説明する。まず、ステップS3「距離演算段階」では、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像P2について距離演算を行い、得られた距離画像D2を距離画像格納部80に格納する処理が行われる。ここに示す例の場合、前回のコピー処理は空コピー処理であったため、修正作業用画像P2は、修正作業用画像P1(すなわち原画像P0)と全く同一であり、実質的な演算処理は省略することができる。
続いて、ステップS4「画像シフト段階」が行われる。すなわち、シフト画像格納部20内に現時点で格納されているシフト画像S2(図14)に対して、シフト処理部50がローテーションシフト処理を実行する。図16は、このようなシフト処理によって得られたシフト画像S3を示す平面図である。図示のとおり、原画像P0では最も下に位置していた線状要素L13が、シフト画像S3では、最も上に位置している。
そして、ステップS5「画像コピー段階」が実行される。これは、コピー処理部40が、シフト画像格納部20内のシフト画像S3(図16)の黒画素S3(i,j)のうち、距離画像格納部80内の距離画像D2(図10に示す距離画像D0と同じ)の対応位置にある画素D2(i,j)の画素値が、空隙幅W(この例の場合W=2)を超えている黒画素S3(i,j)を、修正作業用画像格納部30内の修正作業用画像P2(図9に示す原画像P0と同じ)の対応位置にコピーする処理である。
図17は、このコピー処理において参照されるシフト画像S3と距離画像D2との関係図である。図17に示す小さな正方形の輪郭は、図16に示すシフト画像S3の黒画素の位置を示すものになっており、この輪郭内の数値は「1」,「2」,「3」の混合になっている。
コピー処理部40は、この図17において、輪郭内の数値がW=2を超える画素(すなわち、輪郭内の数値が3以上のもの)を探し、そのような画素があれば、これをコピー対象画素として、修正作業用画像格納部30内の画像に対してコピーを行って更新する。この例の場合、輪郭内の数値が「3」を示している画素が、コピー対象画素ということになる。図18は、このコピー対象画素のみを抽出して示す平面図である。ここでは、説明の便宜上、このコピー対象画素については、ドットによるハッチングを施して示している。
図18に示すとおり、これらのコピー対象画素は、3つの要素L21,L22,L23を形成する。これら3つの要素L21,L22,L23は、コピー対象となった部分線状要素である。すなわち、図18に示す部分線状要素L21,L22,L23は、図16に示すシフト画像S3上の線状要素L11の一部分に対応する要素である。ここに示す例で、線状要素L11全体がコピー対象とならなかったのは、全体をコピーしてしまうと、他の線状要素に対して接近しすぎてしまう部分(空隙幅Wが確保できなくなる部分)が生じるためである。これは、図6において、コピー対象となった線状要素L1bが、元の線状要素L1全体ではなく、その一部分となっていることと同じ理由である。
結局、コピー処理部40により、図18に示す部分線状要素L21,L22,L23を、修正作業用画像格納部30内の修正作業用画像P2(図9に示す原画像P0と同じ)の対応位置にコピーする処理が行われる。図19は、このようなコピー処理によって得られた修正作業用画像P3の平面図である。図において、斜線によるハッチングを施して示す線状要素L11,L12,L13は、元の修正作業用画像P2(原画像P0)に含まれていた既存の線状要素であり、ドットによるハッチングを施して示す部分線状要素L21,L22,L23は、新たに追加された線状要素である。もちろん、実際には、斜線によるハッチングを施した画素も、ドットによるハッチングを施した画素も、画素値「1」をもった同じ黒画素であり、データ上は何ら区別はない。
なお、実際には、コピ−処理部40による上述のようなコピー処理は、次の2通りの方法により実行することができる。第1の方法は、シフト画像格納部20内のシフト画像S3の個々の黒画素S3(i,j)について、距離画像格納部80内の距離画像D2の対応位置にある画素D2(i,j)の画素値をそれぞれの参照画素値として求める処理を行い、この参照画素値が空隙幅Wを超えている黒画素S3(i,j)が発見されたら、当該黒画素S3(i,j)に対応する位置にある修正作業用画像格納部30内の修正作業用画像P2の白画素P2(i,j)を黒画素に置換する処理(画素値「0」を画素値「1」に書き換える処理)を行う方法である。いわば、シフト画像側の黒画素をスキャンする方法ということができる。
第2の方法は、修正作業用画像格納部30内の修正作業用画像P2の個々の白画素P2(i,j)について、「対応する位置にあるシフト画像格納部20内のシフト画像S3の画素S3(i,j)が黒画素(画素値が「1」)」かつ「対応する位置にある距離画像格納部80内の距離画像D2の画素D2(i,j)の画素値が空隙幅Wを超えている」という条件を満たすかどうかを判定し、当該条件を満たしていた場合には、当該白画素P2(i,j)を黒画素に置換する処理(画素値「0」を画素値「1」に書き換える処理)を行う方法である。いわば修正作業用画像側の白画素をスキャンする方法ということができる。
結局、第3回目の繰り返し手順が完了した時点では、シフト画像格納部20内には、図16に示すシフト画像S3が格納され、修正作業用画像格納部30内には、図19に示す修正作業用画像P3が格納され、距離画像格納部80には、図17に示す距離画像D2(図10の距離画像D0と同じ)が格納された状態となっている。
<第4回目の繰り返し>
更に続けて、図8のステップS6からステップS3へと戻り、第4回目の繰り返しが実行された場合の処理手順を説明する。まず、ステップS3「距離演算段階」では、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像P3について距離演算を行い、得られた距離画像D3を距離画像格納部80に格納する処理が行われる。修正作業用画像P3は、図19に示すように、新たな線状要素L21〜L23の付加によって修正が施された画像であるから、この修正作業用画像P3についての演算によって得られた距離画像D3は、図20に示すようなものになる。この図20に示す距離画像D3を、図10に示す距離画像D0と比べてみると、新たな線状要素L21〜L23が付加された部分近傍の距離の値が低下していることがわかる。このように実質的なコピー処理が実行されて、修正作業用画像に実質的な修正が施されると、コピー処理が行われた部分の距離値が低下することになるので、本発明に係る修正処理手順を順次繰り返してゆくことにより、距離画像の画素値を徐々に減少させてゆくことができる。
続いて、ステップS4「画像シフト段階」が行われる。すなわち、シフト画像格納部20内に現時点で格納されているシフト画像S3(図16)に対して、シフト処理部50がローテーションシフト処理を実行する。図21は、このようなシフト処理によって得られたシフト画像S4を示す平面図である。
そして、ステップS5「画像コピー段階」が実行される。これは、コピー処理部40が、シフト画像格納部20内のシフト画像S4(図21)の黒画素S4(i,j)のうち、距離画像格納部80内の距離画像D3(図20)の対応位置にある画素D3(i,j)の画素値が、空隙幅W(この例の場合W=2)を超えている黒画素S4(i,j)を、修正作業用画像格納部30内の修正作業用画像P3(図19)の対応位置にコピーする処理である。
図22は、このコピー処理において参照されるシフト画像S4と距離画像D3との関係図である。図22に示す小さな正方形の輪郭は、図21に示すシフト画像S4の黒画素の位置を示すものになっており、この輪郭内の数値は「0」と「1」との混合になっている。
コピー処理部40は、この図22において、輪郭内の数値がW=2を超える画素(すなわち、輪郭内の数値が3以上のもの)を探し、そのような画素があれば、これをコピー対象画素として、修正作業用画像格納部30内の画像に対してコピーを行って更新する。ただ、図22に示す例の場合も、3以上の画素は存在しないので、空コピー処理が行われることになる。
結局、第4回目の繰り返し手順が完了した時点では、シフト画像格納部20内には、図21に示すシフト画像S4が格納され、修正作業用画像格納部30内には、図19に示す修正作業用画像P3と全く同一の修正作業用画像P4が格納され、距離画像格納部80には、図20に示す距離画像D3が格納された状態となっている。
<第5回目の繰り返し>
再び、図8のステップS6からステップS3へと戻り、第5回目の繰り返しが実行される。まず、ステップS3「距離演算段階」では、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像P4について距離演算を行い、得られた距離画像D4を距離画像格納部80に格納する処理が行われる。この場合、前回のコピー処理が空コピー処理であったため、距離画像D4は距離画像D3と全く同一であり、ステップS3「距離演算段階」の実質的な演算処理は省略することができる。
続いて、ステップS4「画像シフト段階」が行われる。すなわち、シフト画像格納部20内に現時点で格納されているシフト画像S4(図21)に対して、シフト処理部50がローテーションシフト処理を実行する。図23は、このようなシフト処理によって得られたシフト画像S5を示す平面図である。図示のとおり、下方向に1行ずつローテーションシフトしたため、もとの線状要素L12は、2つの線状要素L12−1,L12−2に分割されてしまっている。
そして、ステップS5「画像コピー段階」が実行される。これは、コピー処理部40が、シフト画像格納部20内のシフト画像S5(図23)の黒画素S5(i,j)のうち、距離画像格納部80内の距離画像D4(図20に示す距離画像D3と同じ)の対応位置にある画素D4(i,j)の画素値が、空隙幅W(この例の場合W=2)を超えている黒画素S5(i,j)を、修正作業用画像格納部30内の修正作業用画像P4(図19に示す修正作業用画像P3と同じ)の対応位置にコピーする処理である。
図24は、このコピー処理において参照されるシフト画像S5と距離画像D4との関係図である。図24に示す小さな正方形の輪郭は、図23に示すシフト画像S5の黒画素の位置を示すものになっており、この輪郭内の数値は「0」,「1」,「2」の混合になっている。
コピー処理部40は、この図24において、輪郭内の数値がW=2を超える画素(すなわち、輪郭内の数値が3以上のもの)を探し、そのような画素があれば、これをコピー対象画素として、修正作業用画像格納部30内の画像に対してコピーを行って更新する。ただ、図24に示す例の場合も、3以上の画素は存在しないので、やはり空コピー処理が行われることになる。
結局、第5回目の繰り返し手順が完了した時点では、シフト画像格納部20内には、図23に示すシフト画像S5が格納され、修正作業用画像格納部30内には、図19に示す修正作業用画像P3と全く同一の修正作業用画像P5が格納され、距離画像格納部80には、図24に示す距離画像D4(図20の距離画像D3と同じ)が格納された状態となっている。
<第6回目の繰り返し>
もう一度、図8のステップS6からステップS3へと戻り、第6回目の繰り返しが実行される。まず、ステップS3「距離演算段階」では、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像P5について距離演算を行い、得られた距離画像D5を距離画像格納部80に格納する処理が行われる。ここに示す例の場合、前回のコピー処理は空コピー処理であったため、実質的な演算処理は省略することができる。
続いて、ステップS4「画像シフト段階」が行われる。すなわち、シフト画像格納部20内に現時点で格納されているシフト画像S5(図23)に対して、シフト処理部50がローテーションシフト処理を実行する。図25は、このようなシフト処理によって得られたシフト画像S6を示す平面図である。図示のとおり、下方向に1行ずつローテーションシフトしたため、もとの線状要素L12は、3つの線状要素L12−1,L12−2,L12−3に分割されてしまっている。
そして、ステップS5「画像コピー段階」が実行される。これは、コピー処理部40が、シフト画像格納部20内のシフト画像S6(図25)の黒画素S6(i,j)のうち、距離画像格納部80内の距離画像D5の対応位置にある画素D5(i,j)の画素値が、空隙幅W(この例の場合W=2)を超えている黒画素S6(i,j)を、修正作業用画像格納部30内の修正作業用画像P5の対応位置にコピーする処理である。
図26は、このコピー処理において参照されるシフト画像S6と距離画像D5との関係図である。図25に示す小さな正方形の輪郭は、図25に示すシフト画像S6の黒画素の位置を示すものになっており、この輪郭内の数値は[0],「1」,「2」,「3」の混合になっている。
コピー処理部40は、この図26において、輪郭内の数値がW=2を超える画素(すなわち、輪郭内の数値が3以上のもの)を探し、そのような画素があれば、これをコピー対象画素として、修正作業用画像格納部30内の画像に対してコピーを行って更新する。この例の場合、輪郭内の数値が「3」を示している画素が、コピー対象画素ということになる。図27は、このコピー対象画素のみを抽出して示す平面図である。ここでも、説明の便宜上、このコピー対象画素については、ドットによるハッチングを施して示している。
図27に示すとおり、今回のコピー対象画素は、たった1つの画素からなる部分線状要素L31である。そこで、コピー処理部40により、図27に示す部分線状要素L31を、修正作業用画像格納部30内の修正作業用画像P5(図19に示す修正作業用画像P3と同じ)の対応位置にコピーする処理が行われる。図28は、このようなコピー処理によって得られた修正作業用画像P6の平面図である。図において、斜線によるハッチングを施して示す線状要素L11,L12,L13は、原画像P0に含まれていた既存の線状要素であり、ドットによるハッチングを施して示す部分線状要素L21,L22,L23は、前述した第3回目の繰り返し時点で追加された線状要素であり、ドットによるハッチングを施して示す部分線状要素L31が、今回の繰り返し時点で追加された線状要素である。もちろん、実際には、斜線によるハッチングを施した画素も、ドットによるハッチングを施した画素も、画素値「1」をもった同じ黒画素であり、データ上は何ら区別はない。
結局、第6回目の繰り返し手順が完了した時点では、シフト画像格納部20内には、図25に示すシフト画像S6が格納され、修正作業用画像格納部30内には、図28に示す修正作業用画像P6が格納され、距離画像格納部80には、図26に示す距離画像D5(図20の距離画像D3と同じ)が格納された状態となっている。
<第7回目の繰り返し>
更に続けて、図8のステップS6からステップS3へと戻り、第7回目の繰り返しが実行される。まず、ステップS3「距離演算段階」では、距離演算部70が、修正作業用画像格納部30内に格納されている修正作業用画像P6について距離演算を行い、得られた距離画像D6を距離画像格納部80に格納する処理が行われる。修正作業用画像P6は、図28に示すように、新たな線状要素L31の付加によって修正が施された画像であるから、この修正作業用画像P6についての演算によって得られた距離画像D6は、図29に示すようなものになる。この図29に示す距離画像D6を、図20に示す距離画像D3と比べてみると、新たな線状要素L31が付加された部分近傍の距離の値が低下していることがわかる。
ここで、この図29の距離画像D6を観察すると、左右両端を除いた中央部分の画素の画素値は、ほとんど「0」,「1」,「2」の混合になっていることがわかる。すなわち、空隙幅W=2を超える画素は、中央部分にはほとんど存在していない状態となっている。この後、ステップS4「シフト段階」およびステップS5「画像コピー段階」が実行され、ステップS6へと到達するが、ここに示す実施形態では、この第7回目の繰り返しが完了した時点で、ステップS6からステップS7へと進み、繰り返しループから抜け出るものとする。
その結果、ステップS7における修正済画像出力が実行される。すなわち、この時点で修正作業用画像格納部30内に格納されていた修正作業用画像P7(図28に示す修正作業用画像P6と同一)が、最終的な修正済画像として出力されることになる。結局、図9に示す原画像が、図28に示すような画像に修正されたことになる。
なお、図8のステップS6において、ステップS3へ戻る繰り返しループから抜け出て、ステップS7の修正済画像出力段階へと進む判断条件としては、たとえば、「合計100回だけ繰り返しループを実行し終えたとき」のような条件を設定することもできるが、より実用的な条件としては、次のような条件設定を行うことができる。
1つの条件設定としては、「距離演算段階S3で、空隙幅Wを超える距離が得られる画素が1つも存在しなくなったとき」のような条件設定を行うことができる。たとえば、上述した具体例の場合、W=2という設定を行っていたので、距離演算段階S3で求めた距離画像Dkのすべての画素値が2以下となったときに、この条件が満たされることになる。
上述の具体例の場合、図9に示すように、原画像P0には、左右両端まで延びる線状要素が含まれていない。このため、上述の具体例では、無限にループを繰り返したとしても、画像の左右両端付近には、新たな線状要素が付加されることはなく、距離画像Dk上において「3」以上の画素値をもった画素が永遠に残ってしまうことになる。しかしながら、実際の原画像(たとえば、図1に示すような原画像)を用いれば、このような状況は稀であり、上述した条件設定は、実用上、十分に機能する。
もっとも、より柔軟な条件設定を行うには、「距離演算段階S3で、空隙幅Wを超える距離が得られる画素の総数が所定の基準値以下となったとき」のような条件設定を行うのが好ましい。このような条件設定に基づく修正処理を行うのであれば、図7に示すシフト処理部50に、「距離演算部70における距離演算処理において、空隙幅Wを超える距離が得られる画素の総数が所定の基準値以下になるまで、シフト処理を繰り返し実行する」機能をもたせておけばよい。
別な条件設定としては、「実質的なコピーが全く行われない空コピー段階が所定回数だけ連続して実行されたとき」のような条件を設定することもできる。上述の具体例の場合、第1回目、第2回目のループでは空コピーが行われたが、第3回目のループでは実質的なコピーが行われ、更に、第4回目、第5回目のループで空コピーが行われ、第6回目のループで実質的なコピーが行われている。この場合、空コピーの連続実行回数は2回である。したがって、「空コピー段階が3回以上連続して実行されたとき」のような条件を設定しておいた場合、少なくとも第8回目のループまでは実行されることになる。そして、第7回目、第8回目のループで空コピーが行われ、更に、第9回目のループでも空コピーが行われた場合には、その時点で繰り返しループから抜け出て、ステップS7の修正済画像出力段階へと進むことになる。
このような条件設定に基づく修正処理を行うのであれば、図7に示すシフト処理部50に、「空コピー処理が所定回数だけ連続して実行されるまで、シフト処理を繰り返し実行する」機能をもたせておけばよい。もちろん、修正作業用画像格納部30内の画像をオペレータにモニタさせ、オペレータの指示により、ステップS6の判定を行わせるようにしてもよい。
<<< §5.パラメータの意味 >>>
上述の§4では、図9に示す原画像P0に対して、パラメータとして、シフト量Δ=1,空隙幅W=2という設定を行い、第6回目の繰り返し処理(第6回目に実行されたステップS3〜S5の処理)を行った段階で、図28に示すような修正作業用画像P6を得ることができた。ここでは、まず、この図28の画像P6において、新たに追加された線状要素L21,L22,L23,L31(ドットによるハッチング部分)の形態を考えてみる。
既に述べたとおり、これらの線状要素のうち、L21,L22,L23は、第3回目の繰り返し処理でコピーされた画素から構成され、L31は、第6回目の繰り返し処理でコピーされた画素から構成されている。いずれも、コピー元となったのは、原画像P0に既存の線状要素L11である。
すなわち、L21,L22,L23は、L11を3行分だけ下方向にシフトし、その一部分をコピー対象としてコピーすることにより得られた線状要素である。したがって、L21,L22,L23の形態を全体的に捉えると、コピー元であるL11の特徴を残していることがわかる。すなわち、L11は、左端が上方に湾曲し、右端が下方に湾曲している特徴をもった線状要素であるが、L21,L22,L23の形態全体にも、このような特徴がそのまま現れている。また、L31は、L11を6行分だけ下方向にシフトし、その一部分(左端の1画素のみ)をコピー対象としてコピーすることにより得られた要素である。1画素のみであるため、コピー元であるL11の特徴は明確には現れていないが、原理的には、L11の特徴が反映されていることになる。
このように、本発明の基本原理は、修正対象となる原画像上の線状要素もしくはその一部分を、空隙領域に平行移動してコピーする、というものであるが、このような基本原理に基づく修正を行えば、コピーされた線状要素の形状は、既存の線状要素の形状に準じたものになり、更に、平行移動(前掲の例では、下方向へのシフト)を行った後のコピーであるから、コピーされた線状要素の向きも、既存の線状要素の向きに準じたものになる。このため、全体的に違和感が生じない修正が可能になる。
ところで、図28に示す画像P6において、新たに追加された線状要素L21,L22,L23,L31の位置および形状を決定する要因を考えてみると、パラメータとして設定した、シフト量Δおよび空隙幅Wが大きく関わっていることが理解できよう。
まず、新たな線状要素L21,L22,L23と既存の線状要素L11との空隙をみると、いずれも空隙部分の幅は2画素分となっていることがわかる。同様に、新たな線状要素L31と既存の線状要素L12との間の空隙部分の幅も2画素分となっている。これは、パラメータとして空隙幅W=2に設定したことが要因である。また、新たな線状要素L21とL31との間の空隙幅が2画素分となっているのも、W=2に設定したことが要因である。このように、空隙幅Wというパラメータは、文字どおり、線状要素間の空隙部分の幅を左右するパラメータということになる。たとえば、空隙幅W=1に設定すれば、線状要素L21,L22,L23は1画素分上方にコピーされていたことになるし、空隙幅W=3に設定すれば、線状要素L21,L22は1画素分下方にコピーされていたことになる。
これに対して、シフト量Δは、新たな線状要素の形状を左右するパラメータである。上述したように、新たな線状要素L21,L22,L23は、既存の線状要素L11の一部をコピーすることにより生まれた要素である。この新たな線状要素L21,L22,L23が生まれる過程は、図17の関係図を参照すれば容易に理解できる。すなわち、図17において、小さな正方形の輪郭が示された画素(図16のシフト画像S3上の黒画素)のうち、画素値(距離を示す値)が3以上の画素が、コピー対象画素となる。その結果、図18に示すように、線状要素L21,L22,L23がコピー対象として抽出されたわけである。
ここで、図16に示すシフト画像S3上の各線状要素L11〜L13の位置が、それぞれ1画素分下にずれていた場合を考えてみよう。その場合は、図17における正方形の輪郭もそれぞれ1画素分下にずれることになるので、中央の輪郭群(L11に対応する輪郭群)内の画素値の多くは3以上になることがわかる。その結果、コピー対象として抽出される線状要素は、より太くなる(2画素分の幅をもつ)。
結局、空隙幅Wは、修正後の画像上の各線状要素間の空隙の幅を支配するパラメータとなり、シフト量Δは、修正後の画像上で新たに追加された線状要素の形状を支配するパラメータとなることがわかる。
このようなパラメータの機能をより明確に示すために、図30に示すような単純な原画像P0が与えられた場合を考えてみよう。この図30に示す原画像P0上には、線状要素L51,L52が配置されている。いずれも幅2画素分、長さ12画素分の矩形からなる線状要素である。この原画像P0についての距離画像D0は、図31に示すようなものになる。なお、図31では、説明の便宜上、距離画像D0の一部のみ(L51とL52との間の部分のみ)を示すことにする。
図32は、図30に示す原画像P0に対して、「シフト量Δ=1画素、空隙幅W=2画素」なるパラメータ設定を行い、本発明に係る修正処理を施して得られる修正済画像を示している。ここでも、既存の線状要素に対しては斜線によるハッチングを施し、新たに追加された線状要素に対してはドットによるハッチングを施している。図示のとおり、新たな線状要素L61,L62,L63が追加されている。各線状要素の上下方向の空隙幅は概ね2画素分となっている(L63,L52間の空隙幅が4画素分となっているのは、この間に新たな線状要素を入れる余裕がなかったためである)。これは、空隙幅W=2という設定が反映されたものである。また、線状要素L61,L62,L63の幅が1画素分となっているが、これはシフト量Δ=1という設定が反映されたものである。
図33は、「シフト量Δ=1画素、空隙幅W=3画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L64,L65が追加されている。各線状要素の上下方向の空隙幅は概ね3画素分となっているが、これは、空隙幅W=3という設定が反映されたものである。また、線状要素L64,L65の幅が1画素分となっているが、これはシフト量Δ=1という設定が反映されたものである。
図34は、「シフト量Δ=1画素、空隙幅W=4画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L66が追加されている。線状要素L51,L66の上下方向の空隙幅は4画素分となっているが、これは、空隙幅W=4という設定が反映されたものである。一方、線状要素L66,L52の上下方向の空隙幅は8画素分となっているが、これは、空隙幅W=4という設定では、この間に新たな線状要素を入れる余裕がなかったためである。また、線状要素L66の幅が1画素分となっているが、これはシフト量Δ=1という設定が反映されたものである。
続いて、シフト量Δ=2という設定を行った場合の例を見てみよう。図35は、「シフト量Δ=2画素、空隙幅W=2画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L71,L72,L73が追加されている。各線状要素の上下方向の空隙幅はすべて2画素分となっているが、これは、空隙幅W=2という設定が反映されたものである。また、線状要素L71,L72の幅が2画素分となっているが、これはシフト量Δ=2という設定が反映されたものである。線状要素L73の幅が1画素となっているのは、既存の線状要素L52に接近しているためである。
このように、シフト量Δ=2にすると、新たに追加される線状要素の幅が2画素分になる理由は、図31の距離画像D0を参照すると理解できる。シフト量Δ=2に設定すると、既存の線状要素L51を、下方向へ2行分ずつシフトすることによりシフト画像が生成されることになる。図31において、線状要素L51を2行分シフトすると、シフト後の輪郭内に含まれる距離の値は「1」または「2」であるから、W=2という設定の場合、いずれの画素もコピー対象にはならない。ところが、線状要素L51をもう1回、2行分シフトすると(原画像に対して、合計4行分シフトすると)、シフト後の輪郭内に含まれる距離の値は「3」または「4」になるので、輪郭内の画素がすべてコピー対象となる。このため、2行分の画素がそっくりコピー対象となり、図35に示す線状要素L71,L72のように、幅が2画素分の線状要素が追加されることになるのである。
結局、シフト量Δの値を大きく設定すると、1回のシフトにより、シフト後の輪郭内に含まれる距離の値が一気に増加することになり、コピー対象となる画素が一気に増え、比較的幅の広い線状要素が新たに追加され易くなる。シフト量Δは、このような点において、修正後の画像上で新たに追加された線状要素の形状を支配するパラメータとして関与するのである。
図36は、「シフト量Δ=2画素、空隙幅W=3画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L74,L75が追加されている。各線状要素の上下方向の空隙幅は概ね3画素分となっているが、これは、空隙幅W=3という設定が反映されたものである。また、シフト量Δ=2という設定を行っているにもかかわらず、線状要素L74,L75の幅が1画素分となっているが、これはシフト量Δと空隙幅Wとの関係に依拠する結果である。すなわち、シフト量Δ=2という設定を行った以上、コピー元となる線状要素L51は、偶数ピッチでシフトされてゆくことになるが、空隙幅についてはW=3という奇数値を設定しているため、線状要素L51の一行分のみがコピー対象として抽出されることになるのである。
このように、パラメータとして設定したシフト量Δは、必ずしも新たに追加される線状要素の幅を正確に規定するものではなく、実際に追加される線状要素の幅は、コピー元となる線状要素L51の幅、シフト量Δ、空隙幅Wの相互関連により決まることになる。
図37は、「シフト量Δ=2画素、空隙幅W=4画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L76が追加されている。線状要素L51,L76の上下方向の空隙幅は4画素分となっているが、これは、空隙幅W=4という設定が反映されたものである。一方、線状要素L76,L52の上下方向の空隙幅は7画素分となっているが、これは、空隙幅W=4という設定では、この間に新たな線状要素を入れる余裕がなかったためである。また、線状要素L76の幅が2画素分となっているが、これはシフト量Δ=2という設定が反映されたものである。
今度は、シフト量Δ=3という設定を行った場合の例を見てみよう。図38は、「シフト量Δ=3画素、空隙幅W=2画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L81,L82,L83が追加されている。各線状要素の上下方向の空隙幅は概ね2画素分となっているが、これは、空隙幅W=2という設定が反映されたものである。また、線状要素L81,L82,L83の幅が1画素分となっているが、これはコピー元となる線状要素L51の幅と、シフト量Δ=3と空隙幅W=2という設定値との相互関連により決まったものである。
図39は、「シフト量Δ=3画素、空隙幅W=3画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L84が追加されている。空隙幅W=3という設定を行っているにもかかわらず、実際の線状要素L51,L84の上下方向の空隙幅は4画素分となっているが、これはコピー元となる線状要素L51の幅が2画素分しかないのに、シフト量Δ=3に設定したためである。すなわち、コピー元となる線状要素L51の幅よりも大きなシフト量を設定すると、コピー元が存在しない行(図39の例の場合、第4行目、第7行目、第10行目、第13行目)が発生し、そのような行には、画素のコピーが行われないことになる。線状要素L84,L52の上下方向の空隙幅が7画素分という大きな値になっているのも、第13行目が、コピー元が存在しない行に該当したためである。
最後に、シフト量Δ=4という設定を行った場合の例を見てみよう。図40は、「シフト量Δ=4画素、空隙幅W=2画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L91,L92,L93が追加されている。各線状要素の上下方向の空隙幅は概ね2画素分となっているが、これは、空隙幅W=2という設定が反映されたものである。また、線状要素L91,L92,L93の幅は、コピー元となる線状要素L51の幅と、シフト量Δ=4と空隙幅W=2という設定値との相互関連により決まったものである。
図41は、「シフト量Δ=4画素、空隙幅W=3画素」なるパラメータ設定を行った結果である。図示のとおり、新たな線状要素L94,L95が追加されている。各線状要素の上下方向の空隙幅は概ね3画素分となっているが、これは、空隙幅W=3という設定が反映されたものである。また、線状要素L94,L95の幅は、コピー元となる線状要素L51の幅と、シフト量Δ=4と空隙幅W=3という設定値との相互関連により決まったものである。
以上の例を見てわかるように、パラメータとして設定する空隙幅Wは、必ずしも正確ではないが、文字どおり、線状要素間の空隙部分の幅を左右する因子ということになる。これに対して、パラメータとして設定するシフト量Δは、コピー元となる線状要素の幅や空隙幅Wとの相互関連により、新たに追加される線状要素の幅を左右する因子ということになる。オペレータは、このような予備知識をもって、任意のパラメータ設定を試行錯誤することにより、所望の修正結果を得ることができる。
本願発明者が行った種々の試行錯誤によると、パラメータ設定段階で設定するパラメータとしては、空隙幅Wとして、各線状要素の平均的な幅値にほぼ等しい値を設定すると好ましい修正結果が得られる傾向にあることが判明した。前掲の例の場合、原画像上の線状要素L51,L52の幅は2画素であるので、W=2という設定を行うと、好ましい結果が得られることになる。たとえば、図40に示す例では、新たな線状要素L91,L92,L93が、既存の線状要素L51,L52の間に自然に融合するように付加されていることがわかる。
また、シフト量Δとしては、空隙幅Wの2倍の値を設定すると、好ましい修正結果が得られる傾向にあることも判明した。たとえば、空隙幅W=2に設定した場合、シフト量Δ=4に設定するのが好ましいことになる。具体的には、図40に示す例が、このような設定を行った例である。図32〜図41に示す種々の修正結果を相互に比較すれば、この図40に示す修正結果が最も自然な結果であることが認識できよう。
<<< §6.変形例 >>>
最後に、本発明のいくつかの変形例に係る実施形態を説明する。
(1) 距離画像格納部80を用いない形態
図7にブロック図を示す実施形態では、距離演算部70による演算結果を、距離画像格納部80内に距離画像Dkとして格納しておき、コピー処理部40は、この距離画像格納部80内の距離画像Dkを参照することにより、特定の画素について求めた距離(最近接黒画素に対する距離)の値を利用していた。しかしながら、この距離画像格納部80は、本発明を実施する上で、必ずしも必須の構成要素ではない。距離画像格納部80がない場合、距離演算部70による演算結果を距離画像Dkという形式で保存しておくことはできなくなるが、コピー処理部40からの問い合わせを受けて、距離演算部70がその都度、特定の画素に関する「最近接黒画素に対する距離」を演算する処理を行い、結果をコピー処理部40に報告するようにすれば、本発明の基本原理に基づく画像修正は実施可能である。
すなわち、距離演算部70は、修正作業用画像格納部30内の画像について、個々の画素についての最近接黒画素に対する距離を求める演算機能を有していれば足り、コピー処理部40は、シフト画像格納部20内の画像の黒画素のうち、修正作業用画像格納部30内の画像の対応位置にある画素についての距離演算部70によって求められた距離が空隙幅Wを超えている黒画素を、修正作業用画像格納部30内の画像の対応位置にコピーする処理を実行すればよい。
(2) 図8のステップの順番
本発明に係る画像の修正方法の手順を、図8の流れ図に基づいて説明したが、この流れ図の手順は、必ずしもこのとおりの順番で行う必要はない。たとえば、ステップS1の原画像入力段階を行う前に、ステップS2のパラメータ設定段階を実行することも可能であるし、ステップS3の距離演算段階を行う前に、ステップS4の画像シフト段階を行うことも可能である。要するに、本発明の基本原理から逸脱しない限り、この流れ図の各ステップの順序は適宜変更可能である。
(3) 最近接黒画素に対する距離
距離演算部70によって、個々の画素について演算される「最近接黒画素に対する距離」として、これまで述べてきた実施形態では、2つの画素の中心点間のユークリッド距離、もしくは当該ユークリッド距離を所定有効桁でまるめた値(前掲の実施例の場合、小数点以下を四捨五入した値)を演算値として用いてきた。しかしながら、「最近接黒画素に対する距離」としては、必ずしもユークリッド距離を用いる必要はない。たとえば、2つの画素の四近傍距離もしくは八近傍距離を代用することも可能である。
ここで、四近傍距離とは、二次元行列からなる画素配列について、任意の画素間の距離を示す値として利用されているものであり、二次元行列の升目上を縦または横に1ますずつ移動した場合に、何回の移動で相手の画素まで到達できるか、を示す数値として示される距離である。たとえば、図11に示す例の場合、画素Q5とQ6との間の四近傍距離は2であるが、画素Q5とQ4との間の四近傍距離は、3ということになる。これは、画素Q5の升目から画素Q4の升目まで、縦または横に1ますずつ移動して到達するためには、合計3回の移動が必要になるためである。同様に、画素Q8とQ9との間の四近傍距離は、斜めへの移動はできないので、2ということになる。
これに対して、八近傍距離とは、更に斜めへの移動も許した場合の移動回数を示す値である。上例の場合、画素Q5とQ4との間の八近傍距離は、2ということになり、画素Q8とQ9との間の八近傍距離は、1ということになる。
本発明で行う修正処理は、原画像上の空隙領域に、既存の線状要素の全部もしくは一部をコピーすることにより、線状要素の密度分布を修正するためのものであるので、距離演算部70において厳密な距離演算は不要である。したがって、本発明を実施する上で、「最近接黒画素に対する距離」として、上述した四近傍距離や八近傍距離のような便宜的な距離を用いても大きな支障は生じない。
(4) ローテーションしないシフト処理
これまでの実施形態では、シフト処理部50が、原画像もしくはシフト画像に対して、ローテーションシフトを行う例を示した。このローテーションシフトは、結局、シフトにより画像の一方から食み出た画素(前掲の実施例の場合、画像の下端から食み出た1行分の画素)を、シフトにより画像の他方に生じた空白部分(前掲の実施例の場合、画像の上端に生じた1行分の空白部分)に配置するシフトであり、画素を有効利用する上では好ましいシフト形態である。
しかしながら、本発明におけるシフト処理は、必ずしもローテーションシフトによって行う必要はない。たとえば、画像の一方から食み出た画素については、そのまま廃棄してしまってもかまわない。この場合、画像の他方からは徐々に空白部分が広がることになるが、トータルのシフト量が、画像の大きさに比較して小さい場合には、本発明を実施する上で大きな支障は生じない。
(5) シフト方向もパラメータ設定する方法
これまでの実施形態では、シフト方向は下方向と決められていたが、シフト方向をパラメータとして任意に設定できるようにすることも可能である。この場合、パラメータ設定部60に、シフト方向をパラメータとして設定する機能をもたせておき、シフト処理部50が、設定されたシフト方向にシフト処理を実行するようにすればよい。斜め方向へのシフトを行ってもかまわない。
これまでの実施例で示した原画像は、いずれも水平方向に伸びた線状要素を含む画像であったが、垂直方向に伸びた線状要素を含む画像に対しては、シフト方向を右もしくは左方向に設定した方が効果的である。そこで、実用上は、オペレータが入力した原画像上の全線状要素に共通する大まかな長手方向を目視確認し、この大まかな長手方向をコンピュータに対して指示してパラメータ設定部60にパラメータとして設定し、シフト処理部50が、当該長手方向に対して直交する方向をシフト方向とするシフト処理を実行するようにするのが好ましい。もっとも、本発明を実施する上で、線状要素の長手方向とシフト方向とを直交させることは必須ではなく、直交していなくても十分修正は可能である。
本発明に係る修正方法による修正前の画像の一例を示す平面図である。 図1に示す画像に対して、本発明に係る修正方法を適用することによって得られた修正後の画像の一例を示す平面図である。 本発明の基本概念を説明するための単純な原画像を示す平面図である。 図3に示す原画像に対して、本発明の基本概念に基づく修正を加えた状態を示す平面図である。 本発明の基本概念を説明するための別な単純な原画像を示す平面図である。 図5に示す原画像に対して、本発明の基本概念に基づく修正を加えた状態を示す平面図である。 本発明の一実施形態に係る画像の修正装置の基本構成を示すブロック図である。 本発明の一実施形態に係る画像の修正方法の基本手順を示す流れ図である。 本発明に係る画像の修正手順を説明するための原画像P0を示す平面図である。 図9に示す原画像P0について求められた距離画像D0を示す平面図である(小さな四角い枠は、原画像P0の黒画素の位置を示す)。 本発明における各画素の距離値の概念を示す拡大画素図である。 図9に示す原画像P0を下方向に1画素分だけローテーションシフトすることにより得られたシフト画像S1を示す平面図である。 図12に示すシフト画像S1と図10に示す距離画像D0との関係を示す平面図である(小さな四角い枠は、シフト画像S1の黒画素の位置を示す)。 図12に示すシフト画像S1を下方向に1画素分だけローテーションシフトすることにより得られたシフト画像S2を示す平面図である。 図14に示すシフト画像S2と距離画像D1(図10に示す距離画像D0と同じ)との関係を示す平面図である(小さな四角い枠は、シフト画像S2の黒画素の位置を示す)。 図14に示すシフト画像S2を下方向に1画素分だけローテーションシフトすることにより得られたシフト画像S3を示す平面図である。 図16に示すシフト画像S3と距離画像D2(図10に示す距離画像D0と同じ)との関係を示す平面図である(小さな四角い枠は、シフト画像S3の黒画素の位置を示す)。 図16に示すシフト画像S3を構成する黒画素のうち、コピー対象となる黒画素(部分線状要素L21,L22,L23)を示す平面図である。 図18に示すコピー対象となった黒画素(部分線状要素L21,L22,L23)を、図9に示す原画像上にコピーすることにより得られる修正作業用画像P3を示す平面図である。 図19に示す修正作業用画像P3について求められた距離画像D3を示す平面図である。 図16に示すシフト画像S3を下方向に1画素分だけローテーションシフトすることにより得られたシフト画像S4を示す平面図である。 図21に示すシフト画像S4と図20に示す距離画像D3との関係を示す平面図である(小さな四角い枠は、シフト画像S4の黒画素の位置を示す)。 図21に示すシフト画像S4を下方向に1画素分だけローテーションシフトすることにより得られたシフト画像S5を示す平面図である。 図23に示すシフト画像S5と距離画像D4(図20に示す距離画像D3と同じ)との関係を示す平面図である(小さな四角い枠は、シフト画像S5の黒画素の位置を示す)。 図23に示すシフト画像S5を下方向に1画素分だけローテーションシフトすることにより得られたシフト画像S6を示す平面図である。 図25に示すシフト画像S6と距離画像D5(図20に示す距離画像D3と同じ)との関係を示す平面図である(小さな四角い枠は、シフト画像S6の黒画素の位置を示す)。 図25に示すシフト画像S6を構成する黒画素のうち、コピー対象となる黒画素(部分線状要素L31)を示す平面図である。 図27に示すコピー対象となった黒画素(部分線状要素L31)を、図19に示す修正作業用画像P3上にコピーすることにより得られる修正作業用画像P6を示す平面図である。 図28に示す修正作業用画像P6について求められた距離画像D6を示す平面図である。 本発明に係る画像の修正手順におけるパラメータΔおよびWの意味を説明するための原画像P0を示す平面図である。 図30に示す原画像P0について求められた距離画像D0の一部を示す平面図である(L51,L52は、原画像P0上の線状要素をそのまま示し、数字部分が距離画像を示す)。 図30に示す原画像P0に対して、パラメータΔ=1,W=2なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=1,W=3なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=1,W=4なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=2,W=2なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=2,W=3なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=2,W=4なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=3,W=2なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=3,W=3なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=4,W=2なる設定を行うことによって得られる修正済画像Pnを示す平面図である。 図30に示す原画像P0に対して、パラメータΔ=4,W=3なる設定を行うことによって得られる修正済画像Pnを示す平面図である。
符号の説明
10:原画像入力部
20:シフト画像格納部
30:修正作業用画像格納部
40:コピー処理部
50:シフト処理部
60:パラメータ設定部
70:距離演算部
80:距離画像格納部
Dk:距離画像(k=0,1,2,3,…)
Dk(i,j):距離画像を構成する画素
D(Q1)〜D(Q9):各画素の距離値
L1〜L5:線状要素
L1a,L1b:コピー対象となった線状要素
L11〜L13:線状要素
L12−1,L12−2,L12−3:分割された線状要素
L13−1,L13−2,L13−3:分割された線状要素
L21,L22,L23,L31:コピー対象となった部分線状要素
L51,L52:線状要素
L61〜L66:コピー対象となった線状要素もしくは部分線状要素
L71〜L76:コピー対象となった線状要素もしくは部分線状要素
L81〜L84:コピー対象となった線状要素もしくは部分線状要素
L91〜L95:コピー対象となった線状要素もしくは部分線状要素
P0:原画像
P0(i,j):原画像を構成する画素
Pk:修正作業用画像(k=0,1,2,3,…)
Pk(i,j):修正作業用画像を構成する画素
Pn:修正済画像
Q1〜Q9:画素およびその中心点
S1〜S7:流れ図の各ステップ
Sk:シフト画像(k=1,2,3,…)
Sk(i,j):シフト画像を構成する画素
SP:空隙領域
W:空隙幅
Δ:シフト量

Claims (22)

  1. 線状要素を多数配置してなる画像について、線状要素の密度分布を修正する装置であって、
    線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像を入力する原画像入力部と、
    入力した前記原画像を初期画像として格納する修正作業用画像格納部と、
    入力した前記原画像を初期画像として格納するシフト画像格納部と、
    前記修正作業用画像格納部内の画像について、個々の画素についての最近接黒画素に対する距離を求める距離演算部と、
    前記距離演算部で演算された距離を示す値を画素値としてもつ距離画像を格納する距離画像格納部と、
    所定のシフト量Δおよび空隙幅Wをパラメータとして設定するパラメータ設定部と、
    前記シフト画像格納部内の画像を所定方向に前記シフト量Δだけシフトして更新するシフト処理部と、
    前記シフト画像格納部内の画像の黒画素のうち、前記距離画像格納部内の画像の対応位置にある画素の画素値が前記空隙幅Wを超えている黒画素を、前記修正作業用画像格納部内の画像の対応位置にコピーするコピー処理部と、
    を備えることを特徴とする線状要素を有する画像の修正装置。
  2. 請求項1に記載の修正装置において、
    コピー処理部が、シフト画像格納部内の画像の個々の黒画素について、距離画像格納部内の画像の対応位置にある画素の画素値をそれぞれの参照画素値として求める処理を行い、この参照画素値が空隙幅Wを超えている黒画素が発見されたら、当該黒画素に対応する位置にある修正作業用画像格納部内の画像の白画素を黒画素に置換する処理を行うことを特徴とする線状要素を有する画像の修正装置。
  3. 請求項1に記載の修正装置において、
    コピー処理部が、修正作業用画像格納部内の画像の個々の白画素について、「対応する位置にあるシフト画像格納部内の画像の画素が黒画素」かつ「対応する位置にある距離画像格納部内の画像の画素の画素値が空隙幅Wを超えている」という条件を満たすかどうかを判定し、前記条件を満たしていた場合には、当該白画素を黒画素に置換する処理を行うことを特徴とする線状要素を有する画像の修正装置。
  4. 線状要素を多数配置してなる画像について、線状要素の密度分布を修正する装置であって、
    線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像を入力する原画像入力部と、
    入力した前記原画像を初期画像として格納する修正作業用画像格納部と、
    入力した前記原画像を初期画像として格納するシフト画像格納部と、
    前記修正作業用画像格納部内の画像について、個々の画素についての最近接黒画素に対する距離を求める距離演算部と、
    所定のシフト量Δおよび空隙幅Wをパラメータとして設定するパラメータ設定部と、
    前記シフト画像格納部内の画像を所定方向に前記シフト量Δだけシフトして更新するシフト処理部と、
    前記シフト画像格納部内の画像の黒画素のうち、前記修正作業用画像格納部内の画像の対応位置にある画素についての前記距離演算部によって求められた距離が前記空隙幅Wを超えている黒画素を、前記修正作業用画像格納部内の画像の前記対応位置にコピーするコピー処理部と、
    を備えることを特徴とする線状要素を有する画像の修正装置。
  5. 請求項1〜4のいずれかに記載の修正装置において、
    シフト処理部が、シフト処理を複数回だけ繰り返し実行し、
    コピー処理部が、各回のシフト処理が行われるごとにそれぞれコピー処理(実質的なコピーが全く行われない空コピー処理も含む)を実行し、
    距離演算部が、原画像に対する距離演算処理およびコピー処理後の画像に対する距離演算処理を実行することを特徴とする線状要素を有する画像の修正装置。
  6. 請求項5に記載の修正装置において、
    シフト処理部が、距離演算処理により空隙幅Wを超える距離が得られる画素の総数が所定の基準値以下になるまで、シフト処理を繰り返し実行することを特徴とする線状要素を有する画像の修正装置。
  7. 請求項5に記載の修正装置において、
    シフト処理部が、空コピー処理が所定回数だけ連続して実行されるまで、シフト処理を繰り返し実行することを特徴とする線状要素を有する画像の修正装置。
  8. 請求項1〜7のいずれかに記載の修正装置において、
    距離演算部が、2つの画素の中心点間のユークリッド距離もしくは当該ユークリッド距離を所定有効桁でまるめた値を演算値として求めることを特徴とする線状要素を有する画像の修正装置。
  9. 請求項1〜7のいずれかに記載の修正装置において、
    距離演算部が、2つの画素の四近傍距離もしくは八近傍距離を演算値として求めることを特徴とする線状要素を有する画像の修正装置。
  10. 請求項1〜9のいずれかに記載の修正装置において、
    シフト処理部が、シフトにより画像の一方から食み出た画素を、シフトにより画像の他方に生じた空白部分に配置するローテーションシフトを行うことを特徴とする線状要素を有する画像の修正装置。
  11. 請求項1〜10のいずれかに記載の修正装置において、
    パラメータ設定部が、シフト方向をパラメータとして設定する機能を有し、
    シフト処理部が、前記シフト方向にシフト処理を実行することを特徴とする線状要素を有する画像の修正装置。
  12. 請求項1〜11のいずれかに記載の修正装置としてコンピュータを機能させるためのプログラム。
  13. 線状要素を多数配置してなる画像について、線状要素の密度分布を修正する方法であって、
    線状要素部分を構成する黒画素と背景部分を構成する白画素との集合体からなる二値画像として、修正対象となる原画像をコンピュータに入力し、入力した原画像を初期状態の修正作業用画像および初期状態のシフト画像として設定する原画像入力段階と、
    所定のシフト量Δおよび空隙幅Wをパラメータとしてコンピュータに対して設定するパラメータ設定段階と、
    コンピュータが、初期状態もしくはその後の状態の修正作業用画像の個々の画素についての最近接黒画素に対する距離を求める距離演算段階と、
    コンピュータが、初期状態もしくはその後の状態のシフト画像を所定方向に前記シフト量Δだけシフトして更新する画像シフト段階と、
    コンピュータが、前記シフト画像の黒画素のうち、前記修正作業用画像の対応位置にある画素について距離演算段階で求められた距離が前記空隙幅Wを超えている黒画素を、前記修正作業用画像の前記対応位置にコピーして更新する画像コピー段階と、
    コンピュータが、更新後の前記修正作業用画像を修正済画像として出力する修正済画像出力段階と、
    を有することを特徴とする線状要素を有する画像の修正方法。
  14. 請求項13に記載の修正方法において、
    距離演算段階、画像シフト段階、画像コピー段階(実質的なコピーが全く行われない空コピー段階も含む)を、複数回だけ繰り返し実行した後に、修正済画像出力段階を実行することを特徴とする線状要素を有する画像の修正方法。
  15. 請求項14に記載の修正方法において、
    距離演算段階で、空隙幅Wを超える距離が得られる画素の総数が所定の基準値以下となった時点で、修正済画像出力段階を実行することを特徴とする線状要素を有する画像の修正方法。
  16. 請求項14に記載の修正方法において、
    空コピー段階が所定回数だけ連続して実行された時点で、修正済画像出力段階を実行することを特徴とする線状要素を有する画像の修正方法。
  17. 請求項13〜16のいずれかに記載の修正方法において、
    距離演算段階で、2つの画素の中心点間のユークリッド距離もしくは当該ユークリッド距離を所定有効桁でまるめた値を演算値として求めることを特徴とする線状要素を有する画像の修正方法。
  18. 請求項13〜16のいずれかに記載の修正方法において、
    距離演算段階で、2つの画素の四近傍距離もしくは八近傍距離を演算値として求めることを特徴とする線状要素を有する画像の修正方法。
  19. 請求項13〜18のいずれかに記載の修正方法において、
    画像シフト段階で、シフトにより画像の一方から食み出た画素を、シフトにより画像の他方に生じた空白部分に配置するローテーションシフトを行うことを特徴とする線状要素を有する画像の修正方法。
  20. 請求項13〜19のいずれかに記載の修正方法において、
    パラメータ設定段階で、空隙幅Wとして、各線状要素の平均的な幅値にほぼ等しい値を設定することを特徴とする線状要素を有する画像の修正方法。
  21. 請求項13〜20のいずれかに記載の修正方法において、
    パラメータ設定段階で、シフト量Δとして、空隙幅Wの2倍の値を設定することを特徴とする線状要素を有する画像の修正方法。
  22. 請求項13〜21のいずれかに記載の修正方法において、
    画像シフト段階で、全線状要素に共通する大まかな長手方向をコンピュータに対して指示し、コンピュータが、前記長手方向に対して直交する方向をシフト方向とするシフト処理を実行することを特徴とする線状要素を有する画像の修正方法。
JP2006188767A 2006-07-10 2006-07-10 線状要素を有する画像の修正装置および修正方法 Active JP4802898B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006188767A JP4802898B2 (ja) 2006-07-10 2006-07-10 線状要素を有する画像の修正装置および修正方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006188767A JP4802898B2 (ja) 2006-07-10 2006-07-10 線状要素を有する画像の修正装置および修正方法

Publications (2)

Publication Number Publication Date
JP2008015952A JP2008015952A (ja) 2008-01-24
JP4802898B2 true JP4802898B2 (ja) 2011-10-26

Family

ID=39072872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006188767A Active JP4802898B2 (ja) 2006-07-10 2006-07-10 線状要素を有する画像の修正装置および修正方法

Country Status (1)

Country Link
JP (1) JP4802898B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2246924B1 (en) 2008-01-28 2015-10-21 Toyota Jidosha Kabushiki Kaisha Fuel cell electrode catalyst, method for manufacturing the same, and solid polymer type fuel cell using the same

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4666432B2 (ja) * 2001-01-26 2011-04-06 大日本印刷株式会社 ヘアラインパターンの作成装置
JP2004179845A (ja) * 2002-11-26 2004-06-24 Matsushita Electric Ind Co Ltd 画像処理方法及びその装置

Also Published As

Publication number Publication date
JP2008015952A (ja) 2008-01-24

Similar Documents

Publication Publication Date Title
US7928983B2 (en) Interactive labyrinth curve generation and applications thereof
CN105513110A (zh) 基于gpu的宽度渐变线型地图符号绘制方法
JP5791312B2 (ja) 表面加工データの作成方法および装置
WO2009096891A1 (en) Real-time user guided optimization of general 3d data
US10685499B1 (en) Dynamic detail adaptive hair modeling and editing
CN102339479A (zh) 使用光谱分析的伸展驱动的网格参数化
CN104851133A (zh) 一种图像自适应网格生成变分方法
JP6987624B2 (ja) 杭施工方法及び杭施工管理システム
CN111177809B (zh) 一种纹织图生成方法、装置、电子设备及可读存储介质
CN101527774A (zh) 一种图像点阵质量优化方法及装置
JP4802898B2 (ja) 線状要素を有する画像の修正装置および修正方法
US10055868B2 (en) Method of rendering a mosaic design
US7330772B2 (en) Knit design method and apparatus
JPH09277691A (ja) 木目導管断面パターンをもった印刷物、エンボス製品、印刷版、およびエンボス版、ならびに木目導管断面パターンの形成方法および形成装置
US7199797B2 (en) Silhouette-oriented gray font generation
US10115181B2 (en) Systems for automatically assembling tile maps and associated techniques
JPH10326302A (ja) ちりめん模様の作成方法および作成装置
JP3889097B2 (ja) ちりめん模様の作成方法および作成装置
JP2011148184A (ja) テクスチュアデータ処理装置、テクスチュアデータ処理方法、プログラム、エンボス版製造装置、エンボス版製造方法、及びシート
JP7204583B2 (ja) ニットデザインシステム
JP2006217246A (ja) 三角形状及び多角形状のモザイク画像の生成装置及びその方法
JP4597586B2 (ja) メランジ糸の糸画像作成装置と糸画像作成方法及びそのプログラム
CN112150633B (zh) 三维网格面上的曲线生成方法和装置
van Rens et al. A two-dimensional paving mesh generator for triangles with controllable aspect ratio and quadrilaterals with high quality
JP3690501B2 (ja) 3次元モデル化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090625

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110725

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4802898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3