JPH09259288A - 画素列の折線近似装置 - Google Patents
画素列の折線近似装置Info
- Publication number
- JPH09259288A JPH09259288A JP8069611A JP6961196A JPH09259288A JP H09259288 A JPH09259288 A JP H09259288A JP 8069611 A JP8069611 A JP 8069611A JP 6961196 A JP6961196 A JP 6961196A JP H09259288 A JPH09259288 A JP H09259288A
- Authority
- JP
- Japan
- Prior art keywords
- point
- vector
- code
- pixel
- end point
- 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.)
- Pending
Links
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
(57)【要約】
【課題】 2値画素列について折線近似ベクトルを発生
させる際の計算量を飛躍的に減少させ、処理時間を大幅
に短縮する。 【解決手段】 折線近似装置10において、2値画素列
をチェーンコード列で記述したデータを記憶する記憶部
12と、間引きベクトル列の始点と終点を設定する設定
部14と、この始点と終点とを結ぶ線分の方向を表わす
単位ベクトルを求める単位ベクトル算出部15と上で求
めた単位ベクトルと注目画素の近傍内の各画素の相対座
標を用いてコード距離を計算する距離算出部16と、上
記始点から終点までの各コード値に従い、対応するコー
ド距離を順次加算する加算部18と、このコード距離の
加算値と許容値を比較する比較部20と、上記加算値が
許容値内であるか否かに応じて、始点、終点及び注目点
に対応する添数を設定する添数設定部22と、逆の時に
間引きベクトルを発生する発生部24とを備えている。
させる際の計算量を飛躍的に減少させ、処理時間を大幅
に短縮する。 【解決手段】 折線近似装置10において、2値画素列
をチェーンコード列で記述したデータを記憶する記憶部
12と、間引きベクトル列の始点と終点を設定する設定
部14と、この始点と終点とを結ぶ線分の方向を表わす
単位ベクトルを求める単位ベクトル算出部15と上で求
めた単位ベクトルと注目画素の近傍内の各画素の相対座
標を用いてコード距離を計算する距離算出部16と、上
記始点から終点までの各コード値に従い、対応するコー
ド距離を順次加算する加算部18と、このコード距離の
加算値と許容値を比較する比較部20と、上記加算値が
許容値内であるか否かに応じて、始点、終点及び注目点
に対応する添数を設定する添数設定部22と、逆の時に
間引きベクトルを発生する発生部24とを備えている。
Description
【0001】
【発明の属する技術分野】本発明は、画素列の折線近似
装置、特にチェーンコード列で記述された2次元画素列
から1又は2以上の間引きベクトルからなる折線近似ベ
クトルを作成する際に適用して好適な、画素列の折線近
似装置に関する。
装置、特にチェーンコード列で記述された2次元画素列
から1又は2以上の間引きベクトルからなる折線近似ベ
クトルを作成する際に適用して好適な、画素列の折線近
似装置に関する。
【0002】
【従来の技術】一般に、例えば、2値画像の輪郭等を2
値画素列で規定する場合、そのデータ量を削減するため
に、許容される範囲内で画素を間引いて2値画素列を折
線の間引きベクトル列に近似することが行われている。
このように、2値画素列から間引ベクトルからなる折線
近似ベクトルを作成する主な方法としては、分割・合成
法と追跡法がある。
値画素列で規定する場合、そのデータ量を削減するため
に、許容される範囲内で画素を間引いて2値画素列を折
線の間引きベクトル列に近似することが行われている。
このように、2値画素列から間引ベクトルからなる折線
近似ベクトルを作成する主な方法としては、分割・合成
法と追跡法がある。
【0003】分割・合成法は、2値画素列について最初
に粗い近似(始点画素と終点画素を結ぶ等)を行い、順
次近似する画素列を、許容誤差を満たす範囲内で分割し
たり合成したりしながら、所要の近似精度のベクトルデ
ータを求める方法である。又、追跡法は、始点から所要
の近似精度を満足する範囲内で、順次画素をベクトル化
する方法である。
に粗い近似(始点画素と終点画素を結ぶ等)を行い、順
次近似する画素列を、許容誤差を満たす範囲内で分割し
たり合成したりしながら、所要の近似精度のベクトルデ
ータを求める方法である。又、追跡法は、始点から所要
の近似精度を満足する範囲内で、順次画素をベクトル化
する方法である。
【0004】上記2方法のいずれの場合にも、誤差の評
価方法としては、ミニマックス評価と最小2乗評価とが
用いられている。
価方法としては、ミニマックス評価と最小2乗評価とが
用いられている。
【0005】ミニマックス評価とは、図8に示すよう
に、複数の要素(画素)Piで構成される2値画素列に
おいて、始点を決定すると共に、任意の終点を予想し、
これら始点と予想した終点とを結ぶ近似線Lに対し、2
値画素列の各要素Piからこの近似線Lへのユークリッ
ド距離Eiを算出し、該距離Eiが、許容値εを越える
か否かで評価を行い、εを越えない範囲で求められる最
長の近似直線Lを1つの間引きベクトルとする方法であ
る。
に、複数の要素(画素)Piで構成される2値画素列に
おいて、始点を決定すると共に、任意の終点を予想し、
これら始点と予想した終点とを結ぶ近似線Lに対し、2
値画素列の各要素Piからこの近似線Lへのユークリッ
ド距離Eiを算出し、該距離Eiが、許容値εを越える
か否かで評価を行い、εを越えない範囲で求められる最
長の近似直線Lを1つの間引きベクトルとする方法であ
る。
【0006】一方、最小2乗評価とは、図9に示す面積
|S|に相当する、近似線Lと2値画素列との2乗誤差
の総和{Σ(Ei 2 )}1/2 が許容値εを越えないとい
う条件で評価を行い、そのときの最長の直線Lを同様に
間引きベクトルとする方法である。
|S|に相当する、近似線Lと2値画素列との2乗誤差
の総和{Σ(Ei 2 )}1/2 が許容値εを越えないとい
う条件で評価を行い、そのときの最長の直線Lを同様に
間引きベクトルとする方法である。
【0007】以上、現状における折線近似ベクトルの作
成方法の概要を述べたが、いずれの方法を採用するにし
ても、近似線Lと要素Piとの間の距離Eiの距離を高
速に求めることが必要とされる。そして、この距離計算
は、図10フローチャートに従って行う間引き処理の手
法で折線近似ベクトルを作成する過程で行うのが一般的
である。
成方法の概要を述べたが、いずれの方法を採用するにし
ても、近似線Lと要素Piとの間の距離Eiの距離を高
速に求めることが必要とされる。そして、この距離計算
は、図10フローチャートに従って行う間引き処理の手
法で折線近似ベクトルを作成する過程で行うのが一般的
である。
【0008】以下、この間引き処理について説明する
が、まず使用する記号の説明をしておく。ここでは、便
宜上、ベクトルをアルファベットの大文字で表記する。
が、まず使用する記号の説明をしておく。ここでは、便
宜上、ベクトルをアルファベットの大文字で表記する。
【0009】 Vi =(x1i,x2i),(i=1,2,…,n) …(1)
【0010】ここで、Vi は、実数x1iとx2iで規定さ
れる2次元のベクトル座標列を表わし、i はデータ番号
を表わす添字で、1〜nまでの自然数である。
れる2次元のベクトル座標列を表わし、i はデータ番号
を表わす添字で、1〜nまでの自然数である。
【0011】ε;間引きベクトル列の元のベクトル列に
対する最大誤差で、正の実数である。
対する最大誤差で、正の実数である。
【0012】‖ ‖;ユークリッドノルム(距離)例
えば、ベクトルAに対して‖A‖=(A,A)1/2 であ
る。
えば、ベクトルAに対して‖A‖=(A,A)1/2 であ
る。
【0013】( , );ベクトル内積 P;ベクトル表記した始点 Q;ベクトル表記した終点 R;ベクトル表記した比較点
【0014】
【数1】
【0015】P=(p1 ,p2 );点Pの成分表示 Q=(q1 ,p2 );点Qの成分表示 R=(r1 ,r2 );点Rの成分表示
【0016】まず、ベクトル列の間引き処理を開始する
初期値を設定するべく、以降の繰返し計算で利用する添
数i、j、kを、それぞれi=1、j=1、k=2とす
る(ステップS31)。この時、ステップS32で設定
される始点P、比較点R、及び終点Qはベクトル列の最
初の3点V1、V2、V3となる。
初期値を設定するべく、以降の繰返し計算で利用する添
数i、j、kを、それぞれi=1、j=1、k=2とす
る(ステップS31)。この時、ステップS32で設定
される始点P、比較点R、及び終点Qはベクトル列の最
初の3点V1、V2、V3となる。
【0017】次に、図11に示すように、比較点Rから
線分PQ(前記近似線Lに当る)へ下ろした垂線の足を
ベクトルSとし、このとき、次の(2)式によりRS間
の距離‖R−S‖を求めると共に、この距離が許容値ε
の範囲内か否かを比較する(ステップS33、S3
4)。
線分PQ(前記近似線Lに当る)へ下ろした垂線の足を
ベクトルSとし、このとき、次の(2)式によりRS間
の距離‖R−S‖を求めると共に、この距離が許容値ε
の範囲内か否かを比較する(ステップS33、S3
4)。
【0018】
【数2】
【0019】上記ステップS34で、距離‖R−S‖が
許容範囲内のときは、比較点を1つ先に進めるため、添
数jを1つ増やす(ステップS35)。この時、もし添
数jと添数kがj<kの関係を満たしているとすると、
このjによって再び比較を行うことができ、比較点Rを
再設定するために、ステップS32へ戻る(ステップS
36)。これは、図12において、基準となる始点P
(=Vi )、終点Q(=Vi+K )はそのままにして、両
者の間にある比較点R(=Vi+J )のみ1つ先に進める
操作を表わしている。この場合には、前述の(2)式を
用いて上と全く同様にRS間の距離を算出することがで
き、この操作は、距離‖R−S‖が、許容値ε以上とな
るか、もしくは添数jと添数kが等しくなる迄繰返され
ることとなる。
許容範囲内のときは、比較点を1つ先に進めるため、添
数jを1つ増やす(ステップS35)。この時、もし添
数jと添数kがj<kの関係を満たしているとすると、
このjによって再び比較を行うことができ、比較点Rを
再設定するために、ステップS32へ戻る(ステップS
36)。これは、図12において、基準となる始点P
(=Vi )、終点Q(=Vi+K )はそのままにして、両
者の間にある比較点R(=Vi+J )のみ1つ先に進める
操作を表わしている。この場合には、前述の(2)式を
用いて上と全く同様にRS間の距離を算出することがで
き、この操作は、距離‖R−S‖が、許容値ε以上とな
るか、もしくは添数jと添数kが等しくなる迄繰返され
ることとなる。
【0020】ここにおいて、上記ステップS35でjを
1増やした結果、ステップS36でkと一致した場合、
即ち比較点Rが終点Qと一致した場合は、ステップS3
7でk←k+1として、終点の候補であるベクトルVi+
k を1つだけ先に延ばす。この結果として、Vi+k が対
象としている2値画素列の最終点を越えてしまった場
合、即ち、i+kがデータ総数nを超えてしまった場合
には(ステップS38)、Vi+k-1 を最終点として登録
し処理を終了する(ステップS39)。
1増やした結果、ステップS36でkと一致した場合、
即ち比較点Rが終点Qと一致した場合は、ステップS3
7でk←k+1として、終点の候補であるベクトルVi+
k を1つだけ先に延ばす。この結果として、Vi+k が対
象としている2値画素列の最終点を越えてしまった場
合、即ち、i+kがデータ総数nを超えてしまった場合
には(ステップS38)、Vi+k-1 を最終点として登録
し処理を終了する(ステップS39)。
【0021】一方、Vi+k が対象画素列内におさまって
いる場合には、再び上記と同様の間引き処理を行うべ
く、jを1に戻し(ステップS40)、ステップS32
に戻って始点P、終点Q及び比較点Rの再設定を行う。
いる場合には、再び上記と同様の間引き処理を行うべ
く、jを1に戻し(ステップS40)、ステップS32
に戻って始点P、終点Q及び比較点Rの再設定を行う。
【0022】又、前記ステップS34で、比較点Rと近
似線Lとの距離が許容誤差εを超えているNoの場合
は、1つ手前の点ベクトルVi+k-1 を間引きベクトル列
に追加し(ステップS41)、この点を次の間引きベク
トル列の始点として登録すると共に、これを登録点の次
の点であるi+kの値とし、且つ、j、kもそれぞれ初
期値1、2に戻し(ステップS42、43)、次のステ
ップS44でそのときのi+kがデータ総数nを超えて
いるか否かを判定し、超えていないNoの場合には、そ
のときのi、j、kの各添数を用いて、前記ステップS
32に戻り、それぞれ始点P、比較点R、終点Qを設定
し、同様の処理を繰返す。
似線Lとの距離が許容誤差εを超えているNoの場合
は、1つ手前の点ベクトルVi+k-1 を間引きベクトル列
に追加し(ステップS41)、この点を次の間引きベク
トル列の始点として登録すると共に、これを登録点の次
の点であるi+kの値とし、且つ、j、kもそれぞれ初
期値1、2に戻し(ステップS42、43)、次のステ
ップS44でそのときのi+kがデータ総数nを超えて
いるか否かを判定し、超えていないNoの場合には、そ
のときのi、j、kの各添数を用いて、前記ステップS
32に戻り、それぞれ始点P、比較点R、終点Qを設定
し、同様の処理を繰返す。
【0023】更に、上記ステップS44でi+kがnを
超えているYesの場合には、前記と同様に1つ手前の
点ベクトルVi+k-1 を間引きベクトル列の最終点として
登録し、処理を終了する(ステップS39)。
超えているYesの場合には、前記と同様に1つ手前の
点ベクトルVi+k-1 を間引きベクトル列の最終点として
登録し、処理を終了する(ステップS39)。
【0024】以上詳述したステップS31〜S43まで
の処理を行うことにより、もとの2値画素列からのずれ
が許容誤差εを超えない最も効率的な間引きベクトル列
を順次決定することができる。
の処理を行うことにより、もとの2値画素列からのずれ
が許容誤差εを超えない最も効率的な間引きベクトル列
を順次決定することができる。
【0025】その結果、図13に示すような、最大誤差
が±ε内に収まる間引きベクトルL1、L2、L3から
なる折線近似ベクトルを求めることが可能となる。
が±ε内に収まる間引きベクトルL1、L2、L3から
なる折線近似ベクトルを求めることが可能となる。
【0026】
【発明が解決しようとする課題】しかしながら、上述し
た従来の方法で折線近似ベクトルを求めるためには、終
点Qを1つ延ばす毎に、PとQの間にある比較点Rに対
して全て直線PQとの間の距離を算出する処理を繰り返
さなければならないため、計算量が膨大となり、処理時
間がかかり過ぎるという問題があった。
た従来の方法で折線近似ベクトルを求めるためには、終
点Qを1つ延ばす毎に、PとQの間にある比較点Rに対
して全て直線PQとの間の距離を算出する処理を繰り返
さなければならないため、計算量が膨大となり、処理時
間がかかり過ぎるという問題があった。
【0027】本発明は、前記従来の問題点を解決するべ
くなされたもので、2値画素列について折線近似ベクト
ルを発生させる際の計算量を飛躍的に減少させ、処理時
間を大幅に短縮することができる画素列の折線近似装置
を提供することを課題とする。
くなされたもので、2値画素列について折線近似ベクト
ルを発生させる際の計算量を飛躍的に減少させ、処理時
間を大幅に短縮することができる画素列の折線近似装置
を提供することを課題とする。
【0028】
【課題を解決するための手段】本発明は、2値画素列か
ら許容誤差内に収まる画素を間引いて作成される間引き
ベクトルからなる折線近似ベクトルを発生させる画素列
の折線近似装置において、2値画素列をチェーンコード
列で記述したデータを記憶する手段と、2値画素列の範
囲内で間引きベクトルの始点と終点とを設定する手段
と、設定した始点と終点とを結ぶ線分と同一の傾斜角の
線分を、注目画素の中心に一致させた場合の該線分から
各コードに対応する注目画素の近傍8画素の各中心まで
のコード距離を計算する手段と、始点から終点までの画
素列を記述した各コード値に従い、対応するコード距離
を順次加算する手段と、始点から終点までの画素列につ
いて、コード距離の加算値が許容誤差内にあるか否かを
判定する手段と、コード距離の加算値が全て許容誤差内
にあると判定された場合に、前記終点の次の画素を新た
な終点に更新する手段と、コード距離の加算値が許容誤
差を超えたと判定された場合に、前記終点の1つ前の画
素を終点と決定し、間引きベクトルを発生させる手段
と、を備えた構成とすることにより、前記課題を解決し
たものである。
ら許容誤差内に収まる画素を間引いて作成される間引き
ベクトルからなる折線近似ベクトルを発生させる画素列
の折線近似装置において、2値画素列をチェーンコード
列で記述したデータを記憶する手段と、2値画素列の範
囲内で間引きベクトルの始点と終点とを設定する手段
と、設定した始点と終点とを結ぶ線分と同一の傾斜角の
線分を、注目画素の中心に一致させた場合の該線分から
各コードに対応する注目画素の近傍8画素の各中心まで
のコード距離を計算する手段と、始点から終点までの画
素列を記述した各コード値に従い、対応するコード距離
を順次加算する手段と、始点から終点までの画素列につ
いて、コード距離の加算値が許容誤差内にあるか否かを
判定する手段と、コード距離の加算値が全て許容誤差内
にあると判定された場合に、前記終点の次の画素を新た
な終点に更新する手段と、コード距離の加算値が許容誤
差を超えたと判定された場合に、前記終点の1つ前の画
素を終点と決定し、間引きベクトルを発生させる手段
と、を備えた構成とすることにより、前記課題を解決し
たものである。
【0029】
【発明の実施の形態】本発明者等は、種々検討した結
果、間引き前の点列(2値画素列)をチェーンコード列
で記述する場合には、個々の比較点に対する直接の距離
計算を省き、効率的に間引きベクトル列を発生させるこ
とができることを知見した。
果、間引き前の点列(2値画素列)をチェーンコード列
で記述する場合には、個々の比較点に対する直接の距離
計算を省き、効率的に間引きベクトル列を発生させるこ
とができることを知見した。
【0030】ここで、チェーンコードとは、フリーマン
(Freeman) により考え出された、2値画像の輪郭等の
2値画素列を記述する際に使用するコード番号であり、
図1に示すように3×3の9画素を考え、斜線を付した
中心画素を注目画素に割り当て、この注目画素に連結し
ている次の画素が、中心画素の周囲8近傍座標の何処に
くるかにより、その位置と方向を規定するための、例え
ば1〜8の番号である。
(Freeman) により考え出された、2値画像の輪郭等の
2値画素列を記述する際に使用するコード番号であり、
図1に示すように3×3の9画素を考え、斜線を付した
中心画素を注目画素に割り当て、この注目画素に連結し
ている次の画素が、中心画素の周囲8近傍座標の何処に
くるかにより、その位置と方向を規定するための、例え
ば1〜8の番号である。
【0031】このように、次の画素のコードが確定した
ら、その確定した画素に注目画素を移し、同様に次の画
素のコードを確定する操作を繰り返すことにより、2値
画素列を1〜8の数字からなるコード列で記述すること
ができる。従って、最初の一点目を登録し、2点目から
1〜8の数字の列で、例えば2、3、3、・・・のよう
にして、画素列を記述することができる。上記チェーン
コードとしては、図1に示すような時計廻り近傍系とし
ても、又図2のように反時計廻りの近傍系とすることも
できる。
ら、その確定した画素に注目画素を移し、同様に次の画
素のコードを確定する操作を繰り返すことにより、2値
画素列を1〜8の数字からなるコード列で記述すること
ができる。従って、最初の一点目を登録し、2点目から
1〜8の数字の列で、例えば2、3、3、・・・のよう
にして、画素列を記述することができる。上記チェーン
コードとしては、図1に示すような時計廻り近傍系とし
ても、又図2のように反時計廻りの近傍系とすることも
できる。
【0032】今、図1に示すように時計廻りの近傍系を
採用する場合を考えると、チェーンコード列では、上述
した如く次点は常に注目画素の近傍8座標のいずれかと
なる。従って、予め各コードに対応して、比較点が始点
と終点を結ぶ線分(近似線)から、どれだけ近付くか
(あるいは遠ざかるか)を計算して距離(以下コード距
離ともいう)を求めておくことにより、間引きベクトル
の始点と終点の間にある複数の比較点について、予め求
めておいた上記距離を加算する処理を繰り返すことによ
り、上記線分から各比較点までの距離(以下、実距離と
もいう)を順次求めていくことができる。
採用する場合を考えると、チェーンコード列では、上述
した如く次点は常に注目画素の近傍8座標のいずれかと
なる。従って、予め各コードに対応して、比較点が始点
と終点を結ぶ線分(近似線)から、どれだけ近付くか
(あるいは遠ざかるか)を計算して距離(以下コード距
離ともいう)を求めておくことにより、間引きベクトル
の始点と終点の間にある複数の比較点について、予め求
めておいた上記距離を加算する処理を繰り返すことによ
り、上記線分から各比較点までの距離(以下、実距離と
もいう)を順次求めていくことができる。
【0033】これを具体的に説明すると、次のようにな
る。図3に示すように始点P、終点Qを結ぶ直線を平行
移動し、比較点(注目画素)Rの中心を通るようにした
線分をL′とし、該比較点Rの近傍のコード番号を付し
た黒点で示した各画素の中心点と線分L′との各々の距
離であるコード距離をD1〜D8とする。
る。図3に示すように始点P、終点Qを結ぶ直線を平行
移動し、比較点(注目画素)Rの中心を通るようにした
線分をL′とし、該比較点Rの近傍のコード番号を付し
た黒点で示した各画素の中心点と線分L′との各々の距
離であるコード距離をD1〜D8とする。
【0034】又、x方向、y方向の各画素間の距離をd
x 、dy とし、Lの始点Pから終点Qへと向かう向きを
示す単位ベクトルを(ex ,ey )とすると、コード距
離D1〜D8は、図3における近傍中心に対する近傍内
の各画素の相対座標を表わすベクトルと(ex ,ey )
の組からなる2×2行列の行列式を求めることにより得
られる。なぜならば、図4に示すように、この行列式の
値は上の2ベクトルのなす平行四辺形の面積に符号を付
けた値となるが、(ex ,ey )が単位ベクトルである
ことにより、その長さは1に等しく、結局上で求めた行
列式の値の絶対値は、各画素の相対座標を表わすベクト
ルの終点からLへ降ろした垂線の長さに等しく、その符
号は、各画素の相対座標を表わすベクトルが(ex ,e
y )に対して左廻りの位置にあるのか、あるいは右廻り
の位置にあるのかを示すこととなる。
x 、dy とし、Lの始点Pから終点Qへと向かう向きを
示す単位ベクトルを(ex ,ey )とすると、コード距
離D1〜D8は、図3における近傍中心に対する近傍内
の各画素の相対座標を表わすベクトルと(ex ,ey )
の組からなる2×2行列の行列式を求めることにより得
られる。なぜならば、図4に示すように、この行列式の
値は上の2ベクトルのなす平行四辺形の面積に符号を付
けた値となるが、(ex ,ey )が単位ベクトルである
ことにより、その長さは1に等しく、結局上で求めた行
列式の値の絶対値は、各画素の相対座標を表わすベクト
ルの終点からLへ降ろした垂線の長さに等しく、その符
号は、各画素の相対座標を表わすベクトルが(ex ,e
y )に対して左廻りの位置にあるのか、あるいは右廻り
の位置にあるのかを示すこととなる。
【0035】具体的に時計廻りの近傍系の場合につい
て、D1〜D8を求めてみると、以下のようになる。
て、D1〜D8を求めてみると、以下のようになる。
【0036】
【数3】
【0037】以上のようにして予めコード距離D1〜D
8を求めておくことにより、例えば2値画素列の中心が
図5に模式的に示したようになっている場合であれば、
比較点R1、R2、R3の各コードから、予め求めてお
いた距離Dr1 、Dr2 、Dr3 (全てD1〜D8のい
ずれかで与えられる)を単に加算するだけで、各比較点
が、許容誤差ε以内に収まっているか否かを判定するこ
とが可能となる。
8を求めておくことにより、例えば2値画素列の中心が
図5に模式的に示したようになっている場合であれば、
比較点R1、R2、R3の各コードから、予め求めてお
いた距離Dr1 、Dr2 、Dr3 (全てD1〜D8のい
ずれかで与えられる)を単に加算するだけで、各比較点
が、許容誤差ε以内に収まっているか否かを判定するこ
とが可能となる。
【0038】従って、本発明においては、前述の如く、
2値画素列をチェーンコード列で記述すると共に、間引
きベクトルの始点と終点を設定し、その間に存在する画
素列(比較点)について、始点と終点とを結ぶ線分から
の実距離を、前記図3に示した方法で予め求めておいた
各コードに対応するコード距離D1〜D8の距離を、上
記画素列のコード値に従って、始点側から順次加算する
だけで求めることができるようにしたので、各比較点に
ついて、上記実距離を計算する際の計算量を大幅に削減
することが可能となり、処理時間を大幅に短縮すること
が可能となる。
2値画素列をチェーンコード列で記述すると共に、間引
きベクトルの始点と終点を設定し、その間に存在する画
素列(比較点)について、始点と終点とを結ぶ線分から
の実距離を、前記図3に示した方法で予め求めておいた
各コードに対応するコード距離D1〜D8の距離を、上
記画素列のコード値に従って、始点側から順次加算する
だけで求めることができるようにしたので、各比較点に
ついて、上記実距離を計算する際の計算量を大幅に削減
することが可能となり、処理時間を大幅に短縮すること
が可能となる。
【0039】以下、図面を参照して、より具体的な本発
明の実施の形態の例を詳細に説明する。
明の実施の形態の例を詳細に説明する。
【0040】図6は、本発明に係る一実施の形態の画素
列の折線近似装置の概略構成を示すブロック図である。
列の折線近似装置の概略構成を示すブロック図である。
【0041】本実施の形態の折線近似装置10は、2値
画素列から許容誤差内に収まる画素を間引いて作成され
る1以上の間引きベクトルからなる折線近似ベクトルを
発生させる機能を有しており、対象の2値画素列全体を
チェーンコード列で記述したデータを記憶する記憶部1
2と、上記2値画素列の範囲内で間引きベクトルの始点
と終点とを設定する始点・終点設定部14と、始点と終
点を結ぶ線の向きを示す単位ベクトルを求める単位ベク
トル算出部15と、設定した始点と終点とを結ぶ線分か
らその方向に示す単位ベクトルを求め、これと各コード
に対応する相対座標値からコード距離を計算するコード
距離算出部16と、上記始点から終点までの画素列を記
述した各コード値に従い、上記算出部16で算出した各
コードに対応する上記コード距離を順次加算するコード
距離加算部18と、上記始点から終点までの各画素につ
いて、上記加算部18で算出したコード距離の加算値が
許容誤差内にあるか否かを判定する比較部20と、この
比較部20において、上記コード距離の加算値が全て許
容誤差内にあると判定された場合には、終点の添数を1
つ増やし次の画素とすると共に、比較点をリセットして
始点の次の画素とする処理を行い、許容誤差を超えた場
合には、新たに始点、終点を設定するべく添数をリセッ
トする処理を行う添数設定部22と、上記比較部20で
加算値が許容誤差を超えていると判定された場合に、そ
の終点より1つ前の画素を終点と決定し、間引きベクト
ルを発生させる間引きベクトル発生部24とを備えてお
り、その間引きベクトルを前記記憶部12に記憶するよ
うになっている。
画素列から許容誤差内に収まる画素を間引いて作成され
る1以上の間引きベクトルからなる折線近似ベクトルを
発生させる機能を有しており、対象の2値画素列全体を
チェーンコード列で記述したデータを記憶する記憶部1
2と、上記2値画素列の範囲内で間引きベクトルの始点
と終点とを設定する始点・終点設定部14と、始点と終
点を結ぶ線の向きを示す単位ベクトルを求める単位ベク
トル算出部15と、設定した始点と終点とを結ぶ線分か
らその方向に示す単位ベクトルを求め、これと各コード
に対応する相対座標値からコード距離を計算するコード
距離算出部16と、上記始点から終点までの画素列を記
述した各コード値に従い、上記算出部16で算出した各
コードに対応する上記コード距離を順次加算するコード
距離加算部18と、上記始点から終点までの各画素につ
いて、上記加算部18で算出したコード距離の加算値が
許容誤差内にあるか否かを判定する比較部20と、この
比較部20において、上記コード距離の加算値が全て許
容誤差内にあると判定された場合には、終点の添数を1
つ増やし次の画素とすると共に、比較点をリセットして
始点の次の画素とする処理を行い、許容誤差を超えた場
合には、新たに始点、終点を設定するべく添数をリセッ
トする処理を行う添数設定部22と、上記比較部20で
加算値が許容誤差を超えていると判定された場合に、そ
の終点より1つ前の画素を終点と決定し、間引きベクト
ルを発生させる間引きベクトル発生部24とを備えてお
り、その間引きベクトルを前記記憶部12に記憶するよ
うになっている。
【0042】本実施の形態においては、前記図10に示
したフローチャートに相当する図7に示したフローチャ
ートに従って、間引きベクトルを作成し、1又は2以上
の間引きベクトル列からなる折線近似ベクトルを発生さ
せることができる。なお、ここでもアルファベットの大
文字は原則としてベクトルを表わす。
したフローチャートに相当する図7に示したフローチャ
ートに従って、間引きベクトルを作成し、1又は2以上
の間引きベクトル列からなる折線近似ベクトルを発生さ
せることができる。なお、ここでもアルファベットの大
文字は原則としてベクトルを表わす。
【0043】まず、対象とする2値画素のベクトル列全
てをチェーンコード列で記述して上記記憶部12に記憶
すると共に、該ベクトル列の最初の3点をそれぞれ始
点、比較点、終点とするべく添数の初期設定を行う(ス
テップS1)。
てをチェーンコード列で記述して上記記憶部12に記憶
すると共に、該ベクトル列の最初の3点をそれぞれ始
点、比較点、終点とするべく添数の初期設定を行う(ス
テップS1)。
【0044】ここで、データ総数nの画素からなるベク
トル列をチェーンコード化して得られるチェーンコード
列をCi(i=1,2,…,n)とすると、始点座標V
1=(x11,x21)を用いて、l点目のQの座標は次の
(11)式のようにして求めることができる。なお、C
iは前述した1〜8のいずれかの数値を表わす。
トル列をチェーンコード化して得られるチェーンコード
列をCi(i=1,2,…,n)とすると、始点座標V
1=(x11,x21)を用いて、l点目のQの座標は次の
(11)式のようにして求めることができる。なお、C
iは前述した1〜8のいずれかの数値を表わす。
【0045】
【数4】
【0046】上記(11)式におけるx[Ci]、y
[Ci]は、コード値が前記図1に示したように時計廻
りで設定されている場合には、次の各値を取ることにす
る。
[Ci]は、コード値が前記図1に示したように時計廻
りで設定されている場合には、次の各値を取ることにす
る。
【0047】 (x[1],y[1])=(−dx ,dy ), (x[2],y[2])=(0,dy ), (x[3],y[3])=(dx ,dy ), (x[4],y[4])=(dx ,0), (x[5],y[5])=(dx ,−dy ), (x[6],y[6])=(0,−dy ), (x[7],y[7])=(−dx ,−dy ), (x[8],y[8])=(−dx ,0)
【0048】ここで、dx 、dy は、コード距離の計算
方法を説明する際に用いたx方向、y方向の各画素間の
距離である。
方法を説明する際に用いたx方向、y方向の各画素間の
距離である。
【0049】又、前記図2に示した反時計廻りの場合
は、次の各値とする。
は、次の各値とする。
【0050】 (x[1],y[1])=(−dx ,dy ), (x[2],y[2])=(−dx ,0), (x[3],y[3])=(−dx ,−dy ), (x[4],y[4])=(0,−dy ), (x[5],y[5])=(dx ,−dy ), (x[6],y[6])=(dx ,0), (x[7],y[7])=(dx ,dy ), (x[8],y[8])=(0,dy )
【0051】続いて、始点・終点設定部14でチェーン
コード値を利用して、始点Vi 、比較点Vi+j 、終点V
i+k の座標値を求める(ステップS2)。これは、前記
(11)式を用いて帰納的に求めることができる。又、
始点と終点を結ぶ直線Lと比較点との距離を格納する変
数Λを初期化する(ステップS3)。次に単位ベクトル
算出部15では、始点の座標を(px ,py )、終点の
座標を(qx ,qy )とするとき、次の(12)、(1
3)式を用いて単位ベクトル(ex ,ey )を求める
(ステップS4)。
コード値を利用して、始点Vi 、比較点Vi+j 、終点V
i+k の座標値を求める(ステップS2)。これは、前記
(11)式を用いて帰納的に求めることができる。又、
始点と終点を結ぶ直線Lと比較点との距離を格納する変
数Λを初期化する(ステップS3)。次に単位ベクトル
算出部15では、始点の座標を(px ,py )、終点の
座標を(qx ,qy )とするとき、次の(12)、(1
3)式を用いて単位ベクトル(ex ,ey )を求める
(ステップS4)。
【0052】 ex =(qx −px )/{(qx −px )2 +(qy −py )2 }1/2 …(12) ey =(qy −py )/{(qx −px )2 +(qy −py )2 }1/2 …(13)
【0053】又、同時に、上記算出部16で、上で求め
た上記(12)、(13)式の結果を用いて、前記図3
に示したものと同様のコード距離D1〜D8を予め算出
し、記憶しておく。
た上記(12)、(13)式の結果を用いて、前記図3
に示したものと同様のコード距離D1〜D8を予め算出
し、記憶しておく。
【0054】続いて、最初の比較点について直線Lと比
較点との距離わ表わすΛの値を、Λにコード距離Dci
を加えることにより求め(ステップS6)、これの絶対
値と許容誤差εと比較し(ステップS7)、ε内であれ
ば、添数jに1を加える(ステップS8)。ここでjが
kより小の場合には、まだ比較点が終点と一致していな
いのでステップS6に戻り、同様の加算処理を繰返すこ
とができる(ステップS9)。
較点との距離わ表わすΛの値を、Λにコード距離Dci
を加えることにより求め(ステップS6)、これの絶対
値と許容誤差εと比較し(ステップS7)、ε内であれ
ば、添数jに1を加える(ステップS8)。ここでjが
kより小の場合には、まだ比較点が終点と一致していな
いのでステップS6に戻り、同様の加算処理を繰返すこ
とができる(ステップS9)。
【0055】ステップS9でjとkが等しくなった場合
は、比較点と終点が一致していることから、始点と終点
の間の全ての比較点が許容誤差ε内に入っていることと
なる。この場合には、kに1に加える(ステップS1
0)。この時、もしi+kがデータ総数nを超えてしま
う場合は、kに1を加える前の点、即ち前記の終点が総
データの最終点となっている場合に相当する。従って、
この場合には、前記の終点Vi+k-1 (kに1を加えた後
なので1を引いてもとに戻す必要がある)を最終点とし
て間引きベクトル列に登録して(ステップS12)処理
を終了する。
は、比較点と終点が一致していることから、始点と終点
の間の全ての比較点が許容誤差ε内に入っていることと
なる。この場合には、kに1に加える(ステップS1
0)。この時、もしi+kがデータ総数nを超えてしま
う場合は、kに1を加える前の点、即ち前記の終点が総
データの最終点となっている場合に相当する。従って、
この場合には、前記の終点Vi+k-1 (kに1を加えた後
なので1を引いてもとに戻す必要がある)を最終点とし
て間引きベクトル列に登録して(ステップS12)処理
を終了する。
【0056】一方、i+kの値がデータ総数n以下の場
合は、比較点をリセットするためにj=1とし(ステッ
プS13)、新たに設定された終点Vi+k の値を次の
(14)式から求める(ステップS14)。
合は、比較点をリセットするためにj=1とし(ステッ
プS13)、新たに設定された終点Vi+k の値を次の
(14)式から求める(ステップS14)。
【0057】
【数5】
【0058】ここでステップS3に戻り、再び同様の繰
返し計算を行っていく。前に戻り、ステップS7で直線
Lと比較点との距離を示す変数Λの絶対値がεを超えて
しまった場合の処理は、次の様になる。
返し計算を行っていく。前に戻り、ステップS7で直線
Lと比較点との距離を示す変数Λの絶対値がεを超えて
しまった場合の処理は、次の様になる。
【0059】この場合は、終点を延ばし過ぎているた
め、比較点の中で許容誤差εの範囲に収まりきれなくな
ったことを示している。従って、始点を1つ前に戻した
点Vi+k-1 が始点・終点間の全ての比較点が許容誤差ε
内に収まるような終点のうちで始点から最も離れたもの
となる。従ってこれを間引きベクトル列に追加し(ステ
ップS15)、前の計算過程での終点を始点とした次の
処理を行うために添数i、kの設定を行う(ステップS
16、S17)。
め、比較点の中で許容誤差εの範囲に収まりきれなくな
ったことを示している。従って、始点を1つ前に戻した
点Vi+k-1 が始点・終点間の全ての比較点が許容誤差ε
内に収まるような終点のうちで始点から最も離れたもの
となる。従ってこれを間引きベクトル列に追加し(ステ
ップS15)、前の計算過程での終点を始点とした次の
処理を行うために添数i、kの設定を行う(ステップS
16、S17)。
【0060】この時、前記と同様にi+kがデータ総数
nを超えるか否かを調べ、n以下である場合には、比較
点を表わす添数jをリセットし(ステップS19)、比
較点Vi+j と終点Vi+k の座標値を次の(15)、(1
6)式によって求める(ステップS20、S21)。
nを超えるか否かを調べ、n以下である場合には、比較
点を表わす添数jをリセットし(ステップS19)、比
較点Vi+j と終点Vi+k の座標値を次の(15)、(1
6)式によって求める(ステップS20、S21)。
【0061】
【数6】
【0062】そして、再びステップS3に戻り、対象画
素列間引きのための、コード距離加算等の処理を続行す
る。
素列間引きのための、コード距離加算等の処理を続行す
る。
【0063】又、i+kがnを超える場合には、上記ス
テップS12と全く同様にVi+k-1を最終点として登録
し、処理を終了する(ステップS12)。
テップS12と全く同様にVi+k-1を最終点として登録
し、処理を終了する(ステップS12)。
【0064】以上詳述した如く、間引きベクトル列を作
成して折線近似ベクトルを発生させる場合、従来は各比
較点Rについて、その都度実際の距離計算を実行してい
たのに対し、本実施の形態によれば、比較点Vi+j のコ
ード番号Ci+j に対応する上記D1〜D8のコード距離
を、単に加算する処理を繰り返すだけで、目的とする、
例えば前記図13に示したものと同様に折線近似ベクト
ルを発生させることができる。
成して折線近似ベクトルを発生させる場合、従来は各比
較点Rについて、その都度実際の距離計算を実行してい
たのに対し、本実施の形態によれば、比較点Vi+j のコ
ード番号Ci+j に対応する上記D1〜D8のコード距離
を、単に加算する処理を繰り返すだけで、目的とする、
例えば前記図13に示したものと同様に折線近似ベクト
ルを発生させることができる。
【0065】従って、従来の計算方法に比べ、計算負荷
を大幅に削減することが可能となり、同一の2値画素列
について実際に比較したところ、本実施の形態によって
計算負荷を従来の約1/7にすることができた。
を大幅に削減することが可能となり、同一の2値画素列
について実際に比較したところ、本実施の形態によって
計算負荷を従来の約1/7にすることができた。
【0066】以上、本発明について具体的に説明した
が、本発明は、前記実施の形態に示したものに限られる
ものでなく、その要旨を逸脱しない範囲で種々変更可能
である。
が、本発明は、前記実施の形態に示したものに限られる
ものでなく、その要旨を逸脱しない範囲で種々変更可能
である。
【0067】例えば、折線近似装置の具体的な構成とし
ては、前記実施の形態に示したものに限定されない。
ては、前記実施の形態に示したものに限定されない。
【0068】
【発明の効果】以上説明したとおり、本発明によれば、
2値画素列について折線近似ベクトルを発生させる際の
計算量を飛躍的に減少させ、処理時間を大幅に短縮する
ことができる。
2値画素列について折線近似ベクトルを発生させる際の
計算量を飛躍的に減少させ、処理時間を大幅に短縮する
ことができる。
【図1】チェーンコード列の記述に用いるコード値の一
例を示す説明図
例を示す説明図
【図2】チェーンコード列の記述に用いるコード値の他
の一例を示す説明図
の一例を示す説明図
【図3】コード距離の算出原理を示す線図
【図4】単位ベクトルを利用したコード距離の算出原理
を示す線図
を示す線図
【図5】コード距離を用いる実距離の算出原理を示す線
図
図
【図6】本発明に係る一実施の形態の折線近似装置の概
略構成を示すブロック図
略構成を示すブロック図
【図7】実施の形態の折線近似装置による処理手順を示
すフローチャート
すフローチャート
【図8】間引きベクトルを作成する従来方法を示す線図
【図9】間引きベクトルを作成する他の従来方法を示す
線図
線図
【図10】折線近似ベクトルを作成する従来の手順を示
すフローチャート
すフローチャート
【図11】最初に設定する始点、終点と比較点との関係
を示す線図
を示す線図
【図12】2番目以降に設定する始点、終点と比較点と
の関係を示す線図
の関係を示す線図
【図13】最終的な折線近似ベクトルの一例を模式的に
示す線図
示す線図
10…折線近似装置 12…記憶部 14…始点・終点設定部 15…単位ベクトル算出部 16…コード距離算出部 18…コード距離加算部 20…比較部 22…添数設定部 24…間引きベクトル発生部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高倉 章 東京都新宿区市谷加賀町一丁目1番1号 大日本印刷株式会社内 (72)発明者 飯沼 輝明 東京都新宿区市谷加賀町一丁目1番1号 大日本印刷株式会社内
Claims (1)
- 【請求項1】2値画素列から許容誤差内に収まる画素を
間引いて作成される間引きベクトルからなる折線近似ベ
クトルを発生させる画素列の折線近似装置において、 2値画素列をチェーンコード列で記述したデータを記憶
する手段と、 2値画素列の範囲内で間引きベクトルの始点と終点とを
設定する手段と、 設定した始点と終点とを結ぶ線分と同一の傾斜角の線分
を、注目画素の中心に一致させた場合の該線分から各コ
ードに対応する注目画素の近傍8画素の各中心までのコ
ード距離を計算する手段と、 始点から終点までの画素列を記述した各コード値に従
い、対応するコード距離を順次加算する手段と、 始点から終点までの画素列について、コード距離の加算
値が許容誤差内にあるか否かを判定する手段と、 コード距離の加算値が全て許容誤差内にあると判定され
た場合に、前記終点の次の画素を新たな終点に更新する
手段と、 コード距離の加算値が許容誤差を超えたと判定された場
合に、前記終点の1つ前の画素を終点と決定し、間引き
ベクトルを発生させる手段と、を備えていることを特徴
とする画素列の折線近似装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8069611A JPH09259288A (ja) | 1996-03-26 | 1996-03-26 | 画素列の折線近似装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8069611A JPH09259288A (ja) | 1996-03-26 | 1996-03-26 | 画素列の折線近似装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09259288A true JPH09259288A (ja) | 1997-10-03 |
Family
ID=13407834
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8069611A Pending JPH09259288A (ja) | 1996-03-26 | 1996-03-26 | 画素列の折線近似装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09259288A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000053326A (ja) * | 1998-08-10 | 2000-02-22 | W Schlafhorst Ag & Co | 紡績コップ巻管における残糸を検知する方法と装置 |
| JP2006209353A (ja) * | 2005-01-26 | 2006-08-10 | Sharp Corp | 画像判断装置、画像形成装置、画像判断方法、画像判断プログラム、画像形成プログラムおよびコンピュータ読取り可能な記録媒体 |
-
1996
- 1996-03-26 JP JP8069611A patent/JPH09259288A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000053326A (ja) * | 1998-08-10 | 2000-02-22 | W Schlafhorst Ag & Co | 紡績コップ巻管における残糸を検知する方法と装置 |
| JP2006209353A (ja) * | 2005-01-26 | 2006-08-10 | Sharp Corp | 画像判断装置、画像形成装置、画像判断方法、画像判断プログラム、画像形成プログラムおよびコンピュータ読取り可能な記録媒体 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7352919B2 (en) | Method and system of generating a high-resolution image from a set of low-resolution images | |
| US9524555B2 (en) | Method and computer program product of the simultaneous pose and points-correspondences determination from a planar model | |
| US9582518B2 (en) | Image processing apparatus, image processing method, and storage medium | |
| JP6137916B2 (ja) | 信号処理装置、信号処理方法、及び、信号処理システム | |
| EP0866409A1 (en) | Image retrieval apparatus and method | |
| KR20010043717A (ko) | 이미지 인식 및 상관 시스템 | |
| US20200293857A1 (en) | Cnn processing device, cnn processing method, and program | |
| US20090096784A1 (en) | Computer graphics systems and methods for encoding subdivision triangular surfaces | |
| CN104969257A (zh) | 图像处理设备和图像处理方法 | |
| US20150317788A1 (en) | Method for Registering Deformable Images Using Random Markov Fields | |
| US20130236108A1 (en) | Object or shape information representation method | |
| EP0604687B1 (en) | Method for deriving character features in a character recognition system | |
| KR102557697B1 (ko) | 기계학습 기반의 꼭짓점 추출과 호모그래피 행렬의 연산을 통해 기울어진 차량 번호판 이미지를 직사각형화시킬 수 있는 전자 장치 및 그 동작 방법 | |
| KR102482472B1 (ko) | 기계학습 기반의 꼭짓점 추출을 통해 기울어진 차량 번호판 이미지를 직사각형화시킬 수 있는 전자 장치 및 그 동작 방법 | |
| US8019154B2 (en) | Numerically robust implementation of spectral gamut mapping | |
| Bhayani et al. | Sparse resultant-based minimal solvers in computer vision and their connection with the action matrix | |
| JP3569138B2 (ja) | 単語認識装置および方法 | |
| CN117727415A (zh) | 一种dicom影像与tps报告影像的对齐方法 | |
| JP3684606B2 (ja) | パターン認識方法 | |
| JP2882327B2 (ja) | 線図形整合装置 | |
| JPH04241684A (ja) | 画像整合方法及び装置 | |
| JP2002334332A (ja) | 画像照合装置、画像照合方法、プログラム及び記録媒体 | |
| JP3980666B2 (ja) | 動きベクトル推定方法及び画像処理装置 | |
| WO2004015616A1 (en) | Method of encoding lines | |
| KR100415074B1 (ko) | 물체의 닮음을 인식하는 방법 및 그 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040723 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040803 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050111 |