JPH0546766A - モーメントの演算方法及びその装置 - Google Patents

モーメントの演算方法及びその装置

Info

Publication number
JPH0546766A
JPH0546766A JP3205043A JP20504391A JPH0546766A JP H0546766 A JPH0546766 A JP H0546766A JP 3205043 A JP3205043 A JP 3205043A JP 20504391 A JP20504391 A JP 20504391A JP H0546766 A JPH0546766 A JP H0546766A
Authority
JP
Japan
Prior art keywords
moment
pixel
calculation
image
blocks
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.)
Withdrawn
Application number
JP3205043A
Other languages
English (en)
Inventor
Shigeru Yamada
茂 山田
Koji Haruyama
弘司 春山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP3205043A priority Critical patent/JPH0546766A/ja
Publication of JPH0546766A publication Critical patent/JPH0546766A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】 【目的】 画像のモーメントを高速に演算する装置及び
方法を提案する。 【構成】 画像を複数のブロックに分割し、その分割さ
れた個々のブロックにおいて、1つの連結領域のモーメ
ントを演算し、全てのブロックに対して演算されたモー
メントのなかから、その連結領域に属するもの同士を加
算し、この加算結果を前記連結領域のモーメントとする
ことを特徴とする。モーメントは線形性があるので、個
々のブロックについて計算された個別のモーメントを加
算し、それを全体のモーメントとすることができる。こ
のことは、画像をブロックに分割し、その個々のブロッ
クにおける個別モーメントの演算を他のブロックにおけ
るそれと分離することができることを意味する。即ち、
複数のブロック間における演算を他のブロックと独立さ
せることにより、演算の高速化が可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はモーメントを演算するモ
ーメント演算方法及びその装置に関する。かかるモーメ
ントは、例えば画像に基づいてパターン認識等を行なう
際に必要となる。本発明は、例えば、ブロック分割され
た画像個々の0次,1次,2次モーメント量を高速に演
算するためのモーメント量演算装置に関する。そして、
特に演算された各種モーメント量より画像個々の面積,
重心,慣性主軸,傾き等の特徴量を算出することが可能
となる。
【0002】
【従来の技術】例えば、パターン認識を画像処理に基づ
いて行なうときは、抽出された画像のモーメントをその
画像の特徴量として扱い、その画像の特徴が特徴辞書と
どの程度マツチングしているかを判断することにより、
パターン認識を行なうことが多い。このように、画像の
モーメントを演算することは、単に数学的な分野に留ま
らずに種々の工業的な分野に利用されている。
【0003】従来では、画像のモーメント量の演算を実
行するに当つては、1画像分の2値画像を画像メモリに
記憶し、該画像メモリ上の画素を1個づつ順次読み出
し、 画素データに対応した画素数の総和:Σii x座標の総和:Σii , y座標の総和:Σii x,y座標の積の総和:Σiii x座標の二乗値の総和:Σii 2, y座標の二乗値の総和:Σii 2 を求めていた。ここで、mi は画素iの画像データであ
る。また積分は、ラベリングを行なって抽出された1つ
のブロックについてなされる。上記演算はソフトウエア
による処理に基づいて行なっていた。
【0004】上記の処理方法の他に、特公昭57−19
2814号によるモーメント演算処理の手法がある。こ
の手法は、画像ブロック分に対応する前記乗算Σxi 2
Σy i 2の値をテーブルとして前もってメモリに記憶して
おき、演算過程では、x,y座標値に対応して上記テー
ブルを参照し、各モーメント量を演算するハードウエア
を構成するというものである。また、モーメント演算に
必要なΣxii は xy={(x+y)2−(x−y)2 /4 ‥‥‥(1) の展開式の原理を利用して求めている。
【0005】
【発明が解決しようとしている課題】しかしながら、上
記従来例では、x,y各座標値の二乗演算を行なうテー
ブルを各々m個,n個必要とし、該演算テーブルを高速
のRAMに記憶させる必要がある。また、そのRAMか
ら読み出すとしても、例えば、80nsの速度で該処理
を実行することは不可能である。また、モーメント演算
に必要なΣxii を求めるにしても、(1)式の演算
を実行しなければならず、該演算を実行する回路も複雑
になり、1画面当りの求めるべきモーメント演算が多い
場合には、処理時間が膨大となるという問題がある。従
って、上記従来のモーメント演算装置では、高速処理が
要求される、ロボツトの視覚への適用、検査工程におけ
る視覚認識の分野への適用は難しいと言つた欠点があつ
た。
【0006】
【課題を解決するための手段】そこで、本発明の目的
は、高速にモーメント演算を行なうことのできる演算装
置を提案するものである。
【0007】本発明の演算方法及び装置は、画像を複数
のブロックに分割し、その分割された個々のブロックに
おいて、1つの連結領域のモーメントを演算し、全ての
ブロックに対して演算されたモーメントのなかから、そ
の連結領域に属するもの同士を加算し、この加算結果を
前記連結領域のモーメントとすることを特徴とする。
【0008】モーメントは線形性があるので、個々のブ
ロックについて計算された個別のモーメントを加算し、
それを全体のモーメントとすることができる。このこと
は、画像をブロックに分割し、その個々のブロックにお
ける個別モーメントの演算を他のブロックにおけるそれ
と分離することができることを意味する。即ち、複数の
ブロック間における演算を他のブロックと独立させるこ
とにより、演算の高速化が可能となる。
【0009】本発明の好適な1態様によれば、画像はラ
ベリング処理されていて、画像データはそのラベル値で
ある。
【0010】本発明の好適な1態様によれば、モーメン
トは、0次から2次モーメントを含む。
【0011】本発明の好適な1態様によれば、各ブロッ
クの演算過程において、ブロックは更に個々の画素の画
素モーメントの演算に分解される。この分解が保証され
るのは、モーメントの前述の線形性故である。
【0012】本発明の好適な1態様によれば、画素モー
メントの演算においてメモリが使われ、各メモリセルに
は、画素モーメントの演算過程における中間値が記憶さ
れる。このメモリは、ラベル値がアドレスとなる。
【0013】
【実施例】以下、本発明を適用したモーメント演算装置
について具体的な実施例に基づき詳細に説明する。
【0014】第1図は、実施例の演算装置100の全体
構成を示す。この装置100は外部の不図示のCPUに
バスを介して接続されている。装置100で必要な入力
は、端子40に入力される画像データ、端子41に入力
されるタイミング信号、端子42に入力されるブロック
データである。画像データは1画素毎にその濃度データ
が入力される。ブロックデータとは、どのブロックのモ
ーメントを演算するかを指定するためのデータであり、
演算装置100はこのデータからモーメント演算に必要
な座標データを発生する。演算装置100からCPUに
対して、端子43を介して演算結果が出力される。
【0015】演算装置100の主要な構成要素は4つの
演算モジュール(20a〜20d)である。個々のモジ
ュールは、モーメント演算対象の画像(これは4つの部
分ブロックに分割されている)の部分ブロック毎のモー
メントを演算する。各々の部分ブロックの部分モーメン
トは加算器28により加算されて、バスドライバ29を
介してCPUバスに出力される。モーメント演算の対象
画像(第2図のような矩形ブロック)を示す座標データ
は2つのカウンタ25,26に格納される。第2図はモ
ーメント演算の対象となる画像ブロックを示す。この画
像ブロックは、左上端が(xS ,yS )で、右下端が
(xe ,ye )により画される矩形ブロックである。X
座標カウンタ25は、プリセット入力機能付きのカウン
タ(不図示)と、1つのラッチ(不図示)とコンパレー
タ(不図示)とを有する。同じように、Y座標カウンタ
26は、プリセット入力機能付きのカウンタ(不図示)
と、1つのラッチ(不図示)とコンパレータ(不図示)
とを有する。Xカウンタ25とYカウンタ26内の各々
のプリセット入力機能付きのカウンタには、夫々上記画
像ブロックの左上端座標(xS ,yS )がプリセット入
力される。また、Xカウンタ25とYカウンタ26内の
ラッチには、夫々、右下端座標(xe ,ye )がラッチ
される。
【0016】本実施例では、演算対象となる画像には、
モーメント演算対象の画像が含まれることを許容する。
第2図の画像中には、50〜53の4つの連結領域が、
モーメント演算対象領域として含まれている。同図中、
各画素の画素データの値はラベル値を意味する。即ち、
第2図の画像は、事前のラベリング処理(かかるラベリ
ング処理は周知である)において、1つの連結した領域
に含まれる全ての画素に同じラベル番号を付すという処
理により、ラベル値が画像データとされたものである。
従って、第2図中には、ラベル値が“1”,“2”,
“3”,“4095”の4つの連結領域の他に、ラベル
値“0”の領域も存在することになる。
【0017】第2図に示された入力画像の任意の画素の
座標は、(xS +i,yS +j) (ここで、i=0〜
m,j=0〜n)で表わされる。第2図のm×nの入力
画像は、各画素のラベル値は例えば12ビツト幅を有す
る。例えば、画像座標(x,y)=(5,2)のラベル
値は“1”であり、また画像座標(x,y)=(7,
3)のラベル値は“2”であり、また画像座標(x,
y)=(3,n−1)のラベル値は“4095”であ
る。第2図の画像データは、1つの画素ずつ、順に、第
1図の装置100の入力端子40に入力され、ラッチ4
5(第1図)にラッチされてから、#1から#4までの
4つの演算モジュールに均等に入力される。しかし、1
つの画素に対して、その画素に対してモーメント演算を
施すのは4つのモジュールのうちの1つのみである。ど
のモジュールに対して演算を行なわせるかを指示するの
が、条件設定回路からのMODSEL信号である。第2
図は、どの画素がどの演算モジュールにより演算がなさ
れるのかを示す。i=0の列の全てのは#1演算モジュ
ールにより、i=1の列の全てのは#2演算モジュール
により、i=2の列の全てのは#3演算モジュールによ
り、i=3の列の全てのは#4演算モジュールによりそ
れなされる。この実施例の装置100は、同一の画素値
を有する島(第2図の50,51,52,53)の各々
の0次,1次,2次モーメント量を算出することを目的
としている。例えば、画像50のi=1列の2つの画素
は#2演算モジュールにより、画像50のi=2列の2
つの画素は#3演算モジュールにより、画像50のi=
3列の3つの画素は#3演算モジュールにより、画像5
0のi=4列の3つの画素は#1演算モジュールによ
り、画像50のi=5列の1つの画素は#2演算モジュ
ールにより、夫々演算される。このような、画素と演算
モジュールとの対応関係は、一般的に、次のように表わ
される。即ち、第i列目の画素の演算は、 mod(i/4)+1 番目の演算モジユールが行なう。かくして、第2図の入
力画像は、4つのブロックに分割され、その各々が1つ
の演算モジュールにより処理される。即ち、各ブロック
は短冊状の部分画素列の集合であり、このようなブロッ
クを順に、便宜上、#1ブロック,#2ブロック,#3
ブロック,#4ブロックと呼ぶ。
【0018】第3図に、演算モジュール20の一般的な
構成と、その演算モジュール20の周辺回路との接続を
示す。1つの演算モジュール20は、0次モーメントM
00を演算するユニツト31,x軸周りの1次モーメント
10(=Σxi )を演算するユニツト32,y軸周りの
1次モーメントM01(=Σyi )を演算するユニツト3
3,2次モーメントM11(=Σx1i )を演算するユ
ニツト34,二次モーメントM20(=Σxi 2)を演算す
るユニツト35,二次モーメントM02(=Σyi 2)を演
算するユニツト36からなる。4つの演算モジュール2
0a〜20dの各々は上記6つのユニツト32〜36を
有する。第4図は、各々の演算モジュールの各ユニツト
が、他の演算モジュールのユニツトとどのように結合さ
れているかを示す図である。演算モジュール20aのユ
ニツト31aの出力と、演算モジュール20bのユニツ
ト31bの出力と、演算モジュール20cのユニツト3
1cの出力と、演算モジュール20dのユニツト31d
の出力とが、加算器2800により結合されて、0次モー
メントM00が演算される。演算モジュール20aのユニ
ツト32aの出力と、演算モジュール20bのユニツト
32bの出力と、演算モジュール20cのユニツト32
cの出力と、演算モジュール20dのユニツト32dの
出力とが、加算器2810により結合されて、1次モーメ
ントM10が演算される。以下、同様に、演算モジュール
20aのユニツト36aの出力と、演算モジュール20
bのユニツト36bの出力と、演算モジュール20cの
ユニツト36cの出力と、演算モジュール20dのユニ
ツト36dの出力とが、加算器2802により結合され
て、2次モーメントM02が演算される。
【0019】本装置100では、上述したように、1つ
の画像(複数の連結領域を含む)のブロックのモーメン
ト演算は4つの演算モジュールにより分担されて処理さ
れる。しかも、個々の演算モジュールでは、6種類のモ
ーメントを6つのユニツトが分担して計算している。そ
して、第4図に示すように、4つの画像ブロックの各々
についての6種類のモーメントは加算器28により合計
されて、モーメントM 00,〜M02として出力される。こ
のような分担処理が可能であるのは、モーメントが線形
性故による。即ち、1つの画素夫々がモーメントを有
し、全体のモーメントは個々の画素のモーメントの和で
あるからである。
【0020】第3図により個々の演算ユニツトについて
更に詳しく説明する。
【0021】個々の演算ユニツト31,32,33,3
4,35,36は、夫々、0〜4095番地のエリアを
有する4095×k×1のメモリ(2,4,6,8,1
1,14)を有する。このメモリはモーメント値を格納
するものであるから、個々のメモリセルの深さkは、こ
のモーメント値を格納できるだけのビツト深さを有しな
ければならない。これら6つのメモリの各々は、アドレ
ス入力端子(A)、クリア端子(C)、データ出力端子
(DO )、データ入力端子(Di )、シリアル出力端子
(SO )を有する。かくして、各メモリは、4096個
の連結領域のモーメントを同時に記憶する。
【0022】第5図は、6つのメモリ(2,4,6,
8,11,14)の夫々におけるデータ配置を示す。即
ち、メモリ(2,4,6,8,11,14)の各々にお
いて、“0”番地にはラベル値が“0”である全ての画
素のモーメントが格納され、“1”番地にはラベル値が
“1”である全ての画素のモーメントが格納され、
“2”番地にはラベル値が“2”である全ての画素のモ
ーメントが格納され、…、“4094”番地にはラベル
値が“4094”である全ての画素のモーメントが格納
され、“4095”番地にはラベル値が“4095”で
ある全ての画素のモーメントが格納される。第2図の例
では、例えば、ブロック51はラベル値“2”を有し、
このブロックの第6列目の2次モーメントM02は、#3
演算モジュール20cのメモリ14cの2番地に格納さ
れる。
【0023】前述したように、あるブロックのモーメン
トは、そのブロックを構成する個々の画素の有するモー
メントの和である。この和を計算するために、かく演算
モジュールの各演算ユニツトの夫々のメモリでは、その
データ出力(DO 端子)を一旦加算器の1つの入力端子
に入力し、この加算器出力を、そのメモリのデータ入力
端子Di に入力する構成としている。演算ユニツトの個
々の加算器の他方の端子に何を入力するかで、どのモー
メントを演算するかが決まる。即ち、0次モーメントを
演算するユニツト31では、加算器3に“1”を入力す
る。1次モーメントM01(=Σxi )を演算するユニツ
ト32では加算器5にx座標値を入力する。1次モーメ
ントM10(=Σyi )を演算するユニツト33では加算
器7にy座標値を入力する。2次モーメントM11(=Σ
ii )を演算するユニツト34では加算器9にx座
標値とy座標値の積を入力する。2次モーメントM
20(=Σxi 2)を演算するユニツト35では加算器12
にx座標値の平方を入力する。2次モーメントM20(=
Σxi 2)を演算するユニツト36では加算器15にy座
標値の平方を入力する。
【0024】今、第2図の画像50の(1,1)=
“1”、(2,1)=“1”、(3,1)=“1”、
(4,1)=“1”、(5,1)=“1”という画素が
連続的に装置100に入力した場合において、0次モー
メント演算ユニツト31bの動作を考える。前述したよ
うに、画像ブロックの各列は、夫々専属の演算モジュー
ルに割り当てられているから、画素(1,1)=“1”
と画素(5,1)=“1”とが#2演算モジュール20
bにより処理される。
【0025】この演算モジュール20bの0次モーメン
ト演算ユニツト31bのメモリ2bに画素(1,1)=
“1”が入力されると、メモリ2bの“1”番地がアク
セスされ、その番地の値がD0 端子に出力される。この
時点での“1”番地の値は“0”であるから、加算器3
aでは、“0”と固定値“1”とが加算され、メモリ2
bのDi 端子に“1”が入力される。このときのメモリ
2bのアドレス入力は画素(1,1)のラベル値、即
ち、“1”であるから、“1”番地に“1”が書き込ま
れる。画素が進んで、画素(5,1)=“1”が入力さ
れると、再び、“1”番地がアクセスされて、その番地
のデータ“1”が出力される。そして、加算器3aでこ
の“1”と固定値“1”とが加算されて、“1”番地に
“2”が書き込まれる。このような操作を、ラベル値
“1”を有する全ての画素について行なうと、メモリ2
bには、第1列,第5列,第9列,…の各画素の0次モ
ーメントの“1”が演算されて蓄積される。
【0026】本演算装置100の全体動作の制御は、タ
イミング制御回路19,条件設定回路27、そして、こ
れらを制御する外部のCPUによりなされる。第6図
は、条件設定回路等を制御する制御手順である。ステツ
プS1で、モーメント演算を実行するに当り、初期の条
件設定を行なう。該条件設定は条件設定回路27により
x座標カウンタ25とy座標カウンタ26の各々にモー
メント演算を実行する画像処理範囲開始位置(xS ,y
S )と終了位置座標(xe ,ye )を指定する。
【0027】第8図のタイミングチヤートは、第2図の
画像の第0行のデータが順に入力された場合に、第1図
の演算装置の主に#1演算モジュールにおける動作を示
す。上記の動作はタイミング信号回路19より送られる
クロツクパルスのタイミングに準じて、データ有効信号
(第8図のc)が上記開始位置に対応してローレベルに
なつた時点で、x座標カウンタ回路25の動作(第8図
のd)を開始する。以上が動作スタートのステツプS2
である。次に、ステツプS3で、座標カウンタ25,2
6の示す画素がステツプS1で設定された画像処理範囲
内であるかどうかが判定される。次に、ステツプS4で
は、4個のブロツクに分割された各モーメント演算モジ
ユール20a,20b,20c,20dのいずれか1つ
を選択する信号(MODSEL)をタイミング信号回路
19から送る。第8図のタイミングチャートは、そのM
ODSEL信号(第8図のe)が送られた#1演算モジ
ュールの動作を主に示す。このMODSEL信号が送ら
れた演算モジユールは、ステツプS5でその演算を開始
する。
【0028】尚、ステツプS3における判定は次の理由
により必要となる。即ち、カウンタ25,26は、夫
々、X座標値,Y座標値を1つずつインクリメントす
る。この過程で、座標が演算対象外の領域を示すことが
ある。ステツプS3はこの対象外を演算対象から外すた
めにある。
【0029】第7図のステツプS6では、MODSEL
信号が送られてきたかをチェックする。この信号が送ら
れてきていて、モジュール動作が開始されたならば、ス
テツプS7→ステツプS8という処理とステツプS9→
ステツプS10という処理とが平行して動作するように
各種タイミング信号が発生される。
【0030】ステツプS7では、MODSEL信号の立
ち上がりに同期して画像入力データ(第8図のb)が画
像データラツチ回路45に、メモリアドレス信号(第8
図のf)として演算モジユール#1のアドレス入力部に
入力される。
【0031】尚、第1図の演算装置100のラッチ回路
45は、4つの演算モジュールに共通に使われるように
なっている。これは、各演算モジュールが時分割で動作
するために、同時に複数の演算モジュールが1つのラッ
チ回路45を使うことはないからである。しかしなが
ら、4画素分の画像データを同時に4つの演算モジュー
ルにロードして演算効率を高めることを目的とするなら
ば、ラッチ45は各演算モジュールに1つずつ用意する
のがよい。
【0032】ステツプS8では、選択された演算モジュ
ール内のメモリの、ラッチ45に格納された画像データ
の値に対応する番地の内容が呼び出される。該読み出し
のタイミングが信号hに対応している。
【0033】ステツプS7とステツプS8と平行して、
ステツプS9において、x座標カウンタ25,y座標カ
ウンタ26より送られる各データが、各々、x座標ラツ
チ17,y座標ラツチ18に送られ、そこにラツチされ
る。ステツプS10では、ラツチされた各データは選択
された演算モジュールの6つの演算ユニツトに供給され
る。0次モーメント〜2次モーメントを演算するための
各演算ユニツトのステツプS11,ステツプS12にお
ける動作を以下説明する。
【0034】即ち、0次モーメント演算ユニツト31に
おいては、入力データの内容に対応したメモリアドレス
のデータhを読み出し、該データを加算器3にて+1イ
ンクリメントして加算し、該アドレス位置にタイミング
信号回路19より供給されるメモリライトパルスkの立
下りに同期して書き込む。
【0035】また、Σxi 演算ユニツト32において、
入力データbの内容に対応した番地のメモリ4に格納さ
れたデータhを読み出し、該データとx座標ラツチ回路
17にてラツチされた該座標データxi (第8図のg)
を加算器5にて加算し、該アドレス位置に加算結果デー
タxi (第8図のj)をタイミング信号回路19より供
給されるメモリライトパルスkの立下りに同期して書き
込む。
【0036】また、Σyi 演算ユニツト33に於いて、
入力データbの内容に対応した番地のメモリ6に格納さ
れたデータhを読み出し、該データとy座標ラツチ回路
18にてラツチされた座標データyi を加算器7にて加
算し、該アドレス位置に加算データyi をタイミング信
号回路19より供給されるメモリライトパルスhの立下
りに同期して書き込む。
【0037】また、Σxii 演算ユニツト34におい
て、入力データbの内容に対応した番地のメモリ8のデ
ータhを読み出し、該データとx,y座標ラツチ回路1
7,18にてラツチされた該座標データxi,yi を乗
算器10にて乗算し、乗算器10の出力を加算器9にて
加算し、この加算器出力をタイミング信号回路19より
供給されるメモリライトパルスkの立下りに同期して書
き込む。
【0038】また、Σxi 2演算ユニツト35に於いて、
入力データbの内容に対応したメモリ11のアドレスに
格納されたデータhを読み出し、該データとx座標ラツ
チ回路17にてラツチされた該座標データxi を乗算器
13にて二乗し、該乗算器の出力iを加算器12にて加
算し、該加算器出力jをタイミング信号回路19より供
給されるメモリライトパルスkの立下りに同期して書き
込む。
【0039】また、Σyi 2演算ユニツト36に於いて、
入力データbの内容に対応したメモリ14のアドレスに
格納されたデータhを読み出し、該データとy座標ラツ
チラツチ回路18にてラツチされた該座標データyi
乗算器16にて二乗し、該乗算器出力iを加算器15に
て加算し、該加算器出力jをタイミング信号回路19よ
り供給されるメモリライトパルスkの立下りに同期して
書き込む。
【0040】以上、主に、#1演算モジュールにおける
画素(1,0)の処理動作について、第6図,第7図を
用いて説明したが、画素(2,0)の演算処理は#2演
算モジュールが、画素(3,0)の演算処理は#3演算
モジュールが行なうという点を除けば、#2〜#4演算
モジュールにおける動作は#1演算モジュールのそれと
全く同様である。
【0041】なお、第8図のタイミングチヤートにおい
て、MODSEL信号eからメモリライトパルスkに於
いて、前記各演算ユニツトの演算処理は1クロツク遅延
したタイミングで時系列的に実行される。
【0042】次に、最終の動作、つまり処理が(xe
e )に至った場合の動作について説明する。この時点
では、#1演算モジュールには#1領域における、各連
結領域についての各種モーメント(M00,M01など)が
記憶されている。また、#2演算モジュールには#2領
域における、各連結領域についての各種モーメント(M
00,M01など)が記憶されている。また、#3演算モジ
ュールには#3領域における、各連結領域についての各
種モーメント(M00,M01など)が記憶されている。ま
た、#4演算モジュールには#4領域における、各連結
領域についての各種モーメント(M00,M01など)が記
憶されている。
【0043】そこで、CPUは、各演算モジュールに対
して、条件設定回路27を介して、各演算モジュールの
各メモリの同一番地に格納された演算結果を順次読み出
しを開始させる。演算装置100は、各演算モジュール
での各演算結果を加算器28にて加算した後、条件設定
回路27より送られる信号と同期してバスドライバ29
を介してCPUのバスラインに出力する。この結果、ラ
ベル値が0から最大4095の最大4096個の画像に
対する0次モーメント,Σxi ,Σyi ,Σx ii
Σxi 2,Σyi 2のモーメント演算結果が得られる。
【0044】以上説明した実施例によれば、 :画像が#1から#4までのブロックに分割され、個
々のブロックのモーメントが独立して演算されている。
そして、個々の演算モジュールでは、各ブロック毎に時
分割で演算処理を行なう。即ち、個々のブロックのモー
メント演算は他のブロックのそれと独立して行なわれる
ために、画像全体でのモーメント演算の高速化が可能と
なる。
【0045】この場合、モーメント演算は各演算モジュ
ール内では、個々の画素毎に画素モーメントとして演算
される。従って、画像の画素入力と画素モーメントの演
算速度とが同期されるので、高速化が可能となる。即
ち、演算速度はメモリのサイクルタイムによってのみ制
限され、その他の要素、例えば、従来技術においてあっ
た加算に要する速度等によって制限される等ということ
はなくなった。 :本実施例では、画像が4つのブロックに分割されて
いる。これは、第3図の各演算ユニツトにおける、加
算、乗算等に要する時間を考慮して決めた。即ち、各演
算ユニツトで行なわれる6種類モーメント演算の中で、
最大の処理時間を要するものの処理時間をTmax とし、
1つの画素の読み出し要する時間をτ0 とすると、 (Tmax0 )個のブロックに分割すれば、最も効率が
あがる。 :個々の演算モジュールでは、最大4096個までの
連結領域のモーメントが同時に演算される。 :上記実施例の装置は、画像ブロックを複数ブロツク
に分割し、該分割ブロック毎に画素データに対応したデ
ータを同一のアドレスに記憶するメモリと、該対応した
データを順次+1インクリメントするカウンタより構成
される0次モーメント演算モジュールと、画像ブロック
を複数ブロツクに分割し、該分割ブロック毎に画素デー
タに対応したx座標アドレスを加算するx座標カウンタ
と、該加算値Σxi を記憶するメモリより構成されるΣ
i モーメント演算モジュールと、画像ブロックを複数
ブロツクに分割し、該分割ブロック毎に画素データに対
応したy座標を加算するy座標カウンタと、該加算値Σ
i を記憶するメモリより構成されるΣyi モーメント
演算モジュールと、画像ブロックを複数にブロツクに分
割し、該分割ブロック毎に画素データに対応したx座標
とy座標を乗算する乗算器と、該乗算器にて演算された
値を加算し、該加算値Σxii を記憶するメモリより
構成されるΣxii モーメント演算モジュールと、画
像ブロックを複数ブロツクに分割し、該分割ブロック毎
に画素データに対応したx座標を二乗する乗算器、該乗
算器にて演算された値を加算し、該加算値Σxi 2を記憶
するメモリより構成されるΣxi 2モーメント演算モジュ
ールと、画像ブロックを複数ブロツクに分割し、該分割
ブロック毎に画素データに対応したy座標を二乗する乗
算器と、該乗算器にて演算された値を加算し、該加算値
Σyi 2を記憶するメモリより構成されるΣyi 2モーメン
ト演算モジュールよりなるモーメント演算回路を構成す
ることにより、高価な回路素子を用いることなく、高速
に各モーメント演算を処理することが可能となる。ま
た、画像処理ブロックも任意に設定可能なことから、さ
らにモーメント演算処理速度を高める効果がある。
【0046】
【発明の効果】以上説明したように、本発明のモーメン
トの演算方法及び装置は、画像を複数のブロックに分割
し、その分割された個々のブロックにおいて、1つの連
結領域のモーメントを演算し、全てのブロックに対して
演算されたモーメントのなかから、その連結領域に属す
るもの同士を加算し、この加算結果を前記連結領域のモ
ーメントとすることを特徴とする。
【0047】モーメントは線形性があるので、本発明に
従って、個々のブロックについて計算された個別のモー
メントを加算し、それを全体のモーメントとすることが
できる。このことは、画像をブロックに分割し、その個
々のブロックにおける個別モーメントの演算を他のブロ
ックにおけるそれと分離することができることを意味す
る。即ち、複数のブロック間における演算を他のブロッ
クと独立させることにより、演算の高速化が可能とな
る。
【0048】本発明の好適な1態様によれば、画像はラ
ベリング処理されていて、画像データはそのラベル値で
ある。
【0049】本発明の好適な1態様によれば、モーメン
トは、0次から2次モーメントを含む。
【0050】本発明の好適な1態様によれば、各ブロッ
クの演算過程において、ブロックは更に個々の画素の画
素モーメントの演算に分解される。この分解が保証され
るのは、モーメントの前述の線形性故である。
【0051】本発明の好適な1態様によれば、画素モー
メントの演算においてメモリが使われ、各メモリセルに
は、画素モーメントの演算過程における中間値が記憶さ
れる。このメモリは、ラベル値がアドレスとなる。
【図面の簡単な説明】
【図1】本発明を、4つのブロックに対してモーメント
演算を行なう装置に適用した実施例の構成を示すブロッ
ク図。
【図2】第1図の装置に入力される一例としての入力画
像の構造を説明する図。
【図3】第3図は第1図装置の演算モジュールの詳細な
構成を説明するブロック図。
【図4】各演算モジュールで演算された部分モーメント
が合成されて全体のモーメントとなる過程を説明する
図。
【図5】演算モジュール内のモーメント値を格納するメ
モリの構造を説明する図。
【図6】,
【図7】第1図装置の動作順序を説明するフローチヤー
ト図。
【図8】第1図装置の動作順序を説明するタイミングチ
ヤート図。
【符号の説明】
45…画像データラツチ回路、 2,4,6,8,11,14…メモリ、 3,5,7,9,12,15…加算器、 10,13,16…乗算器、 17…x座標ラツチ回路、 18…y座標ラツチ回路、 19…タイミング信号回路、 20a,20b,20c,20d…演算モジュール、 25…x座標カウンタ、 26…y座標カウンタ、 27…条件設定回路、 29…バスドライバ、 30…メモリクリア回路、 31…0次モーメント演算ユニツト、 36…Σxi 演算ユニツト、 33…Σyi 演算ユニツト、 34…Σxii 演算ユニツト、 35…Σxi 2演算ユニツト、 36…Σyi 2演算ユニツト、 28…演算結果の加算器

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 画像を複数のブロックに分割する工程
    と、 その分割された個々のブロックにおいて、1つの連結領
    域のモーメントを演算する第1の演算工程と、 全てのブロックに対して演算されたモーメントのなかか
    ら、その連結領域に属するもの同士を加算し、この加算
    結果を前記連結領域のモーメントとする第2の演算工程
    とを具備するモーメントの演算方法。
  2. 【請求項2】 個々のブロックで、画像を更に個々の画
    素に分解し、個々の画素の画素モーメント値を演算する
    工程と、 演算された個々のモーメント値を加算する工程とを更に
    具備することを特徴とする請求項の第1項に記載のモー
    メント演算方法。
  3. 【請求項3】 分割する前の画像にラベリング処理を行
    ない、個々の画素に画像データとしてラベル値を与える
    工程を更に具備し、前記連結領域は同じラベル値を有す
    る画素の集合として定義されることを特徴とする請求項
    の第2項に記載のモーメント演算方法。
  4. 【請求項4】 前記モーメントは0次モーメント、1次
    モーメント、及びまたは2次モーメントを含むことを特
    徴とする請求項の第1項に記載のモーメント演算方法。
  5. 【請求項5】 1つのブロックについての前記第1,第
    2の演算工程は、他のブロックについての前記第1,第
    2の演算工程と排他的な時間内に行なわれることを特徴
    とする請求項の第1項に記載のモーメント演算方法。
  6. 【請求項6】 画像を複数のブロックに分割する手段
    と、 その分割された個々のブロックにおいて、1つの連結領
    域のモーメントを演算する第1の演算手段と、 全てのブロックに対して演算されたモーメントのなかか
    ら、その連結領域に属するもの同士を加算する第2の演
    算手段とを具備し、 この加算結果を前記連結領域のモーメントとすることを
    特徴とするモーメントの演算装置。
  7. 【請求項7】 前記モーメント演算装置は、前記第1,
    第2の演算手段による演算過程での演算結果を一時的に
    記憶するための複数のメモリであって、その個々のメモ
    リは前記画像の画素データ値をアドレスデータ値とする
    前記複数のメモリ回路を更に有し、 前記分割手段は、更に、 前記画像を1画素ずつ入力する手段と、 入力された画素を分割態様に応じて、前記複数のメモリ
    の1つに割り当てる手段と、 割り当てられた1つのメモリにおいて、入力された画素
    の画素データ値に対応する番地のメモリセルに対するメ
    モリ読み出しサイクルを起動する手段と、 入力されたその画素の座標値から、その画素1つの画素
    モーメント値を演算する第3の演算手段とを有し、 前記第1の演算手段は、ブロック毎に、 分割されたブロック毎に割り当てられた前記メモリ回路
    と、 このメモリ回路から前記起動手段により読み出されたと
    ころの前回サイクルの画素モーメント値と、第3の演算
    手段により計算された今回のサイクルの画素モーメント
    値を加算する手段と、 加算結果を、前記入力された画素の画素データ値に対応
    する前記番地の前記メモリセルに書き込む手段とを具備
    することを特徴とする請求項の第6項に記載のモーメン
    ト演算装置。
  8. 【請求項8】 前記画像はラベリング処理された画像で
    あり、個々の画素は画像データとしてラベル値を有し、
    前記連結領域は同じラベル値を有する画素の集合として
    定義されることを特徴とする請求項の第6項に記載のモ
    ーメント演算方。
  9. 【請求項9】 前記第3の演算手段は前記メモリセルか
    ら読み出されたデータに対して1を加算し、この加算結
    果は0次モーメントを意味することを特徴とする請求項
    の第7項に記載のモーメント演算装置。
  10. 【請求項10】 前記第3の演算手段は、前記メモリセ
    ルから読み出されたデータに対して、入力された画素の
    座標値を加算し、この加算結果は1次モーメントを意味
    することを特徴とする請求項の第7項に記載のモーメン
    ト演算装置。
  11. 【請求項11】 前記第3の演算手段は、前記メモリセ
    ルから読み出されたデータに対して、入力された画素の
    座標値の積を加算し、この加算結果は2次モーメントを
    意味することを特徴とする請求項の第7項に記載のモー
    メント演算装置。
JP3205043A 1991-08-15 1991-08-15 モーメントの演算方法及びその装置 Withdrawn JPH0546766A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3205043A JPH0546766A (ja) 1991-08-15 1991-08-15 モーメントの演算方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3205043A JPH0546766A (ja) 1991-08-15 1991-08-15 モーメントの演算方法及びその装置

Publications (1)

Publication Number Publication Date
JPH0546766A true JPH0546766A (ja) 1993-02-26

Family

ID=16500506

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3205043A Withdrawn JPH0546766A (ja) 1991-08-15 1991-08-15 モーメントの演算方法及びその装置

Country Status (1)

Country Link
JP (1) JPH0546766A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015210212A (ja) * 2014-04-28 2015-11-24 横河電機株式会社 細胞生死判定システム、細胞生死判定方法
JP2016091049A (ja) * 2014-10-29 2016-05-23 キヤノン株式会社 データ処理装置、データ処理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015210212A (ja) * 2014-04-28 2015-11-24 横河電機株式会社 細胞生死判定システム、細胞生死判定方法
JP2016091049A (ja) * 2014-10-29 2016-05-23 キヤノン株式会社 データ処理装置、データ処理方法及びプログラム

Similar Documents

Publication Publication Date Title
KR101363602B1 (ko) 데이터를 처리하는 하드웨어
US4635292A (en) Image processor
US4783649A (en) VLSI graphics display image buffer using logic enhanced pixel memory cells
JPH0628485A (ja) テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法
JPH08255262A (ja) コンピュータの3dレンダリングシステムに関する改良
JPH053032B2 (ja)
JPH0546766A (ja) モーメントの演算方法及びその装置
US4949282A (en) Device for calculating the moments of image data
JPH10134183A (ja) 画像処理装置
US4805228A (en) Cellular logic processor
US5167018A (en) Polygon-filling apparatus
JP2973819B2 (ja) 画像処理装置
JP2840706B2 (ja) 画像処理方法
JP2899838B2 (ja) 記憶装置
JPS6021087A (ja) アドレス生成回路
JP2874221B2 (ja) 演算制御回路
JP2889244B2 (ja) 画像処理装置
RU2037200C1 (ru) Устройство для обработки матриц
JP3316266B2 (ja) 画像処理装置
JPS63273176A (ja) 空間フイルタリング装置
JPH0863452A (ja) Simdプロセッサ
JP2861435B2 (ja) パイプライン形演算装置
JPS6319911B2 (ja)
JPH0268672A (ja) 画像処理プロセッサのアドレス発生部
JPS6354641A (ja) 画像処理用メモリ装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19981112