特許第6351289号(P6351289)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NTN株式会社の特許一覧

特許6351289表面形状測定装置、方法およびプログラム
<>
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000010
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000011
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000012
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000013
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000014
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000015
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000016
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000017
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000018
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000019
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000020
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000021
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000022
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000023
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000024
  • 特許6351289-表面形状測定装置、方法およびプログラム 図000025
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6351289
(24)【登録日】2018年6月15日
(45)【発行日】2018年7月4日
(54)【発明の名称】表面形状測定装置、方法およびプログラム
(51)【国際特許分類】
   G06T 1/00 20060101AFI20180625BHJP
【FI】
   G06T1/00 315
【請求項の数】11
【全頁数】20
(21)【出願番号】特願2014-28633(P2014-28633)
(22)【出願日】2014年2月18日
(65)【公開番号】特開2015-153307(P2015-153307A)
(43)【公開日】2015年8月24日
【審査請求日】2017年1月26日
(73)【特許権者】
【識別番号】000102692
【氏名又は名称】NTN株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】大庭 博明
【審査官】 平野 崇
(56)【参考文献】
【文献】 特開2008−209404(JP,A)
【文献】 特開2012−220490(JP,A)
【文献】 特開2001−078038(JP,A)
【文献】 特開2000−230809(JP,A)
【文献】 特開2002−016795(JP,A)
【文献】 特開2013−229677(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 5/00
G06T 7/00
G01B 11/24
(57)【特許請求の範囲】
【請求項1】
ワークの表面形状を3次元的に測定する表面形状測定装置であって、
測定して得られた前記表面の画像を処理する処理部を備え、
前記画像は2次元状に配列された複数画素からなり、前記複数画素のおのおのは、当該画素の2次元平面の位置と、前記表面の高さ情報を有し、
前記処理部は、
前記画像を入力する画像入力手段と、
入力した画像のうち前記高さ情報が無効である画素に対する、高さ情報を算出する画像処理手段と、を備え、
前記画像処理手段は、
【数1】
(ただし、Wn:重み、dn:高さ情報が有効である1個以上の画素の高さ、D:算出された高さ、n:高さ情報が有効である1個以上の画素数)
前記高さ情報が無効である画素の最寄りの画素のうち、前記高さ情報が有効である1個以上の画素の高さ情報と、当該無効である画素と前記1個以上の画素それぞれとの距離の逆数による重みとを用いて、式1に基づき、当該無効である画素に対する高さ情報を算出し、
前記画像処理手段は、
前記画像を一方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査手段と、
前記一方向走査手段による走査後、前記画像を前記一方向とは逆の方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査手段と、
前記画像の処理開始に先立って、前記画像処理の実行を制御するための変数の値を初期化する手段を、含み、
前記初期化する手段は、
前記入力した画像の複数画素のうち最大高さHmaxおよび最小高さHminのいずれか一方の値を変数Hsに代入し、他方を変数Heに代入し、変数HsとHeの変更量dHに対し、条件(dH>0かつdH<Hmax−Hmin)を満たす値を設定するように構成され、
前記一方向走査手段または前記逆方向走査手段は、
前記探索時に、画像上の画素(i,j)の高さm(i,j)と変数Hsについて、変数Hsに最大高さHmaxを代入したときは条件(Hs−dH≦m(i,j)かつm(i,j)≦Hs)を満たすか否かを判定し、
変数Hsに最小高さHminを代入したときは条件(Hs≦m(i,j)かつm(i,j)≦Hs+dH)を満たすか否かを判定し、
前記条件を満たす画素(i,j)を、前記高さ情報が有効である画素と判定する、表面形状測定装置。
【請求項2】
前記画像処理手段は、
前記一方向走査手段による走査と、前記逆方向走査手段による走査とを複数回繰り返し実行する、請求項に記載の表面形状測定装置。
【請求項3】
前記画像処理手段は、
前記一方向走査手段による走査と、前記逆方向走査手段による走査とが実行される毎に、前記画像処理の実行を制御するための変数の値を変更する手段を、さらに含み、
前記変更する手段は、
前記変数Hsに最大高さHmaxが代入されたときは当該変数Hsを前記変更量dHだけ減算し、前記変数Hsに最小高さHminが代入されたときは当該変数Hsに前記変更量dH(>0)だけ加算するように構成されて、
前記画像処理手段は、
前記変更する手段による算出後の変数Hsについて(Heが最小高さHminのときはHs≦He、Heが最大高さHmaxのときはHs≧He)の条件を満たすと判定するまで、前記一方向走査手段による走査と、前記逆方向走査手段による走査とを繰り返し実行する、請求項に記載の表面形状測定装置。
【請求項4】
前記無効の画素に前記算出された高さ情報が補間される前の画像、または、前記無効の画素に当該算出された高さ情報が補間された画像をディスプレイに表示させる手段をさらに備える、請求項1からのいずれか1項に記載の表面形状測定装置。
【請求項5】
前記補間される前の画像は各画素の位置と高さ情報から3次元で表される画像を含み、前記補間がされた画像は各画素の位置と高さ情報から3次元で表される画像を含む、請求項に記載の表面形状測定装置。
【請求項6】
ワークの表面形状を測定する方法であって、
測定して得られた前記表面の画像を処理するステップを備え、
前記画像は2次元に配列された複数画素からなり、前記複数画素のおのおのは、当該画素の2次元平面の位置と、前記表面の高さ情報を有し、
前記処理するステップは、
前記画像を入力するステップと、
入力した画像のうち前記高さ情報が無効である画素に対する、高さ情報を算出する画像処理のステップと、を備え、
前記画像処理のステップでは、
【数2】
(ただし、Wn:重み、dn:高さ情報が有効である1個以上の画素の高さ、D:算出された高さ、n:高さ情報が有効である1個以上の画素数)
前記高さ情報が無効である画素の最寄りの画素のうち、前記高さ情報が有効である1個以上の画素の高さ情報と、当該無効である画素と前記1個以上の画素それぞれとの距離の逆数による重みとを用いて、式1に基づき、当該無効である画素に対する高さ情報を算出し、
前記画像処理のステップは、
前記画像を一方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査のステップと、
前記一方向走査のステップによる走査後、前記画像を前記一方向とは逆の方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査のステップと、
前記画像の処理開始に先立って、前記画像処理の実行を制御するための変数の値を初期化するステップを、含み、
前記初期化するステップでは、
前記入力した画像の複数画素のうち最大高さHmaxおよび最小高さHminのいずれか一方の値を変数Hsに代入し、他方を変数Heに代入し、変数HsとHeの変更量dHに対し、条件(dH>0かつdH<Hmax−Hmin)を満たす値を設定し、
前記一方向走査のステップまたは前記逆方向走査のステップでは、
前記探索時に、画像上の画素(i,j)の高さm(i,j)と変数Hsについて、変数Hsに最大高さHmaxを代入したときは条件(Hs−dH≦m(i,j)かつm(i,j)≦Hs)を満たすか否かを判定し、
変数Hsに最小高さHminを代入したときは条件(Hs≦m(i,j)かつm(i,j)≦Hs+dH)を満たすか否かを判定し、
前記条件を満たす画素(i,j)を、前記高さ情報が有効である画素と判定する、方法。
【請求項7】
前記画像処理のステップでは、
前記一方向走査のステップによる走査と、前記逆方向走査のステップによる走査とを複数回繰り返し実行する、請求項に記載の方法。
【請求項8】
前記画像処理のステップは、
前記一方向走査のステップによる走査と、前記逆方向走査のステップによる走査とが実行される毎に、前記画像処理の実行を制御するための変数の値を変更するステップを、さらに含み、
前記変更するステップでは、
前記変数Hsに最大高さHmaxが代入されたときは当該変数Hsを前記変更量dHだけ減算し、前記変数Hsに最小高さHminが代入されたときは当該変数Hsに前記変更量dH(>0)だけ加算し、
前記画像処理のステップでは、
前記変更するステップによる算出後の変数Hsについて(Heが最小高さHminのときはHs≦He、Heが最大高さHmaxのときはHs≧He)の条件を満たすと判定するまで、前記一方向走査のステップによる走査と、前記逆方向走査のステップによる走査とを繰り返し実行する、請求項に記載の方法。
【請求項9】
前記無効の画素に前記算出された高さ情報が補間される前の画像、または、前記無効の画素に当該算出された高さ情報が補間された画像をディスプレイに表示させるステップをさらに備える、請求項からのいずれか1項に記載の方法。
【請求項10】
前記補間される前の画像は各画素の位置と高さ情報から3次元で表される画像を含み、前記補間がされた画像は各画素の位置と高さ情報から3次元で表される画像を含む、請求項に記載の方法。
【請求項11】
プロセッサを備えるコンピュータに、請求項から10のいずれか1項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置、方法、プログラムおよび当該プログラムの記憶媒体に関し、特に、3次元測定機等で測定された物体表面画像から表面の高さの補間機能を有した画像処理装置、方法、プログラムおよび当該プログラムの記憶媒体に関する。
【背景技術】
【0002】
従来から、実測点のデータを基に非実測点のデータを求める多くの手法が提案されており、その一つに加重平均法がある。この方法では、有効な画素値を有した実測点と、有効な画素値を有しない非実測点との関係を重み付けし、下記(式1)により非実測点の画素値を算出する。なお、(式1)ではWn=重み、dn=実測点、およびD=非実測点の各データを示す。
【0003】
【数1】
【0004】
加重平均法を用いた従来例として特許文献1(特開2006−262305号公報)に開示の発明がある。特許文献1では、画像のエッジの解像度を高めることを目的とし、画像上の画素値を加重平均法により算出して補間する。重み付けには、双三次補間法や双一次補間法など公知の手法が用いられている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−262305号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1による測定方法を用いるには、補間対象の画素の補間に用いる画素が、すなわち補間対象画素の周囲の4個の画素値が欠損していないことが条件であるため、使い勝手に優れない。
【0007】
それゆえに本発明の目的は、使い勝手に優れた画像処理装置、方法、プログラムおよび当該プログラムの記憶媒体を提供することである。
【課題を解決するための手段】
【0008】
この発明のある局面に従う画像処理装置は、2次元状に配列された複数画素からなる画像を処理する画像処理装置である。複数画素のおのおのは、当該画素の位置と、高さの情報を有する。
【0009】
画像処理装置は、画像を入力する画像入力手段と、入力した画像のうち高さの情報が無効である画素に対する、高さ情報を算出する画像処理手段と、を備える。画像処理手段は、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である1個以上の画素の高さ情報と、当該無効である画素と1個以上の画素それぞれとの距離の逆数による重みとを用いて、式1に基づき、当該無効である画素に対する高さ情報を算出する。
【0010】
【数2】
【0011】
(ただし、Wn:重み、dn:高さ情報が有効である1個以上の画素の高さ、D:算出された高さ、n:高さ情報が有効である1個以上の画素数)
この発明のある局面に従うと、画像処理手段は、画像を一方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査手段と、一方向走査手段による走査後、画像を一方向とは逆の方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査手段と、を含む。
【0012】
好ましくは、画像処理手段は、画像の処理開始に先立って、画像処理の実行を制御するための変数の値を初期化する手段を、さらに含む。初期化する手段は、入力した画像の複数画素のうち最大高さHmaxおよび最小高さHminのいずれか一方の値を変数Hsに代入し、他方を変数Heに代入し、変数HsとHeの変更量dHに対し、条件(dH>0かつdH<Hmax−Hmin)を満たす値を設定するように構成される。また、一方向走査手段または逆方向走査手段は、探索時に、画像上の画素(i,j)の高さm(i,j)と変数Hsについて、変数Hsに最大高さHmaxを代入したときは条件(Hs−dH≦m(i,j)かつm(i,j)≦Hs)を満たすか否かを判定し、変数Hsに最小高さHminを代入したときは条件(Hs≦m(i,j)かつm(i,j)≦Hs+dH)を満たすか否かを判定し、この条件を満たす画素(i,j)を、高さ情報が有効である画素と判定する。
【0013】
好ましくは、画像処理手段は、一方向走査手段による走査と、逆方向走査手段による走査とを複数回繰り返し実行する。
【0014】
好ましくは、画像処理手段は、一方向走査手段による走査と、逆方向走査手段による走査とが実行される毎に、画像処理の実行を制御するための変数の値を変更する手段を、さらに含む。
【0015】
変更する手段は、変数Hsに最大高さHmaxが代入されたときは当該変数Hsを変更量dHだけ減算し、変数Hsに最小高さHminが代入されたときは当該変数Hsに変更量dH(>0)だけ加算するように構成される。
【0016】
画像処理手段は、変更する手段による算出後の変数Hsについて(Heが最小高さHminのときはHs≦He、Heが最大高さHmaxのときはHs≧He)の条件を満たすと判定するまで、一方向走査手段による走査と、逆方向走査手段による走査とを繰り返し実行する。
【0017】
この発明の他の局面に従う方法は、2次元状に配列された複数画素からなる画像を処理する方法である。複数画素のおのおのは、当該画素の位置と、高さの情報を有する。方法は、画像を入力するステップと、入力した画像のうち高さの情報が無効である画素に対する、高さ情報を算出する画像処理にステップと、を備える。画像処理のステップは、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である1個以上の画素の高さ情報と、当該無効である画素と1個以上の画素それぞれとの距離の逆数による重みとを用いて、式1に基づき、当該無効である画素に対する高さ情報を算出する。
【0018】
【数3】
【0019】
(ただし、Wn:重み、dn:高さ情報が有効である1個以上の画素の高さ、D:算出された高さ、n:高さ情報が有効である1個以上の画素数)。
【0020】
好ましくは、画像処理のステップは、画像を一方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査のステップと、一方向走査のステップによる走査後、画像を一方向とは逆の方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式1に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査のステップと、を含む。
【0021】
好ましくは、画像処理のステップは、画像の処理開始に先立って、画像処理の実行を制御するための変数の値を初期化するステップを、さらに含む。
【0022】
初期化するステップは、入力した画像の複数画素のうち最大高さHmaxおよび最小高さHminのいずれか一方の値を変数Hsに代入し、他方を変数Heに代入し、変数HsとHeの変更量dHに対し、条件(dH>0かつdH<Hmax−Hmin)を満たす値を設定する。
【0023】
また、一方向走査のステップまたは逆方向走査のステップは、探索時に、画像上の画素(i,j)の高さm(i,j)と変数Hsについて、変数Hsに最大高さHmaxを代入したときは条件(Hs−dH≦m(i,j)かつm(i,j)≦Hs)を満たすか否かを判定し、変数Hsに最小高さHminを代入したときは条件(Hs≦m(i,j)かつm(i,j)≦Hs+dH)を満たすか否かを判定し、条件を満たす画素(i,j)を、高さ情報が有効である画素と判定する。
【0024】
好ましくは、画像処理のステップでは、一方向走査のステップによる走査と、逆方向走査のステップによる走査とを複数回繰り返し実行する。
【0025】
好ましくは、画像処理のステップは、一方向走査のステップによる走査と、逆方向走査のステップによる走査とが実行される毎に、画像処理の実行を制御するための変数の値を変更するステップを、さらに含む。
【0026】
変更するステップは、変数Hsに最大高さHmaxが代入されたときは当該変数Hsを変更量dHだけ減算し、変数Hsに最小高さHminが代入されたときは当該変数Hsに変更量dH(>0)だけ加算する。
【0027】
また、画像処理のステップは、変更するステップによる算出後の変数Hsについて(Heが最小高さHminのときはHs≦He、Heが最大高さHmaxのときはHs≧He)の条件を満たすと判定するまで、一方向走査のステップによる走査と、逆方向走査のステップによる走査とを繰り返し実行する。
【0028】
この発明のさらに他の局面に従うプログラムは、プロセッサを備えるコンピュータに、上記の方法を実行させるためのプログラムである。
【0029】
この発明のさらに他の局面に従う記憶媒体は、上記のプログラムを記憶した機械読み取り可能な記憶媒体である。
【発明の効果】
【0030】
本発明によれば、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である1個以上の画素の高さ情報と、当該無効である画素と1個以上の画素それぞれとの距離の逆数による重みとを用いて、(式1)に基づき、当該無効である画素に対する高さ情報を算出することができる。したがって、高さ情報が無効である画素の最寄りの画素を、すなわち適切な数の画素の高さ情報を利用して無効である画素の高さ情報の補間処理が行なわれて、比較的短時間で処理を終了することができ、使い勝手に優れる。
【図面の簡単な説明】
【0031】
図1】本発明の実施の形態に係る画像処理装置を備えたシステムの構成図である。
図2】本発明の実施の形態に係る画像処理装置の概略構成図である。
図3】本発明の実施の形態に係る機能構成図である。
図4】本発明の実施の形態に係る画像処理フローチャートである。
図5】本発明の実施の形態に係る画像データの一例を示す図である。
図6】本発明の実施の形態に係る画像データの他の例を示す図である。
図7】本発明の実施の形態に係るラスター走査を説明するための図である。
図8】本発明の実施の形態に係るラスター走査を説明するための図である。
図9】本発明の実施の形態に係るラスター走査を説明するための図である。
図10】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
図11】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
図12】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
図13】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
図14】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
図15】本発明の実施の形態に係る補間処理前後のディスプレイ表示画像例を示す図である。
図16】本発明の実施の形態に係る補間処理前後のディスプレイ表示画像例を示す図である。
【発明を実施するための形態】
【0032】
本発明の実施の形態について図面を参照して詳細に説明する。なお、以下では、図中の同一または相当部分には同一符号を付して、その説明は原則的に繰返さないものとする。
【0033】
(システム構成)
図1は、本発明の実施の形態に係る画像処理装置を備えたシステムの構成図である。このシステムは、例えば、ワーク支持台4上に載置されたワーク5の表面画像処理に適用することができる。
【0034】
図1を参照して、システムは、プロセッサを有したコンピュータに相当する画像処理装置1、および画像処理装置1に有線または無線で接続された画像取得装置2を備える。画像取得装置2は3次元測定機能を用いてワーク5の画像(画像データ)を取得する。画像取得装置2の3次元測定機能としては種々の方式を適用することができるが、ここでは、公知の非接触方式による光学式測定機能を利用する。なお、適用する方式はこれに限定されない。
【0035】
画像取得装置2は、図示しないマイクロプロセッサ、投光系21、およびイメージセンサである受光系22を備える。投光系21は、図示しない半導体レーザからの照射光を、ガルバノミラーを含む光学系(図示せず)を介して測定対象物であるワーク5表面に向けて照射する。ワーク5からの反射光は、受光系22の受光レンズ(図示せず)によりイメージセンサ上に結像する。画像取得装置2は、イメージセンサ上の像位置を算出(検出)する。また、マイクロプロセッサは、ガルバノミラーとイメージセンサの撮像を同期して駆動させて、各投光角(時間)での受光出力変化から位置(角度)を求めることで測定対象物の、より特定的には表面形状を3次元的に測定することができる。
【0036】
ここでは、説明を簡単にするために、マイクロプロセッサは画像イメージセンサの出力から、直交するX軸、Y軸およびZ軸で規定される画像データを生成する。画像データは、画像イメージセンサのサイズに相当するX軸およびY軸で規定される2次元平面画像の各画素に対して、Z軸方向の値である高さデータが割り当てられる。高さデータは、受光出力変化から算出されるワーク5の表面高さを示す。すなわち、画像データでは、各画素は2次元座標位置(x,y)を用いた2次元配列における各要素(x,y)で規定することができ、各要素(x、y)の要素値には、対応するZ軸方向の値が割り当てられる。なお、以降では要素値を画素値ともいう。
【0037】
(本発明の実施の形態の概要)
本実施の形態では、対象とする画像の各画素には、3次元測定機能で測定された物体の表面高さが格納される。画素は、測定環境またはセンサなど光学系の特性等により欠損し非実測点が生じる場合があるが、本実施の形態では画素がランダムに欠損している場合でも非実測点を補間することができる。
【0038】
ここでは、高さを測定できた画素を実測点と呼び、測定できなかった画素を非実測点と呼ぶ。
【0039】
本実施の形態では、物体形状に類似した表面高さの補間結果を得るための、計算の元になる画素を選択し、選択した画素の画素値を用いた補間のための計算手順を採用する。また、計算には加重平均法を採用するが、その算出精度のために、非実測点を全方向から囲むできるだけ多くの、且つ適切な数の実測点の画素を選択する。これにより、本実施の形態に係る画像処理を、設備など効率的な運用が求められる機械に組み込んで使用する場合であっても、補間精度だけでなく、より短時間で画像処理を終了することが可能となる。
【0040】
(画像処理装置の構成)
図2は、この発明の実施の形態に従う画像処理装置1の概略構成図である。図2を参照して、画像処理装置1は、演算処理部であるCPU(Central Processing Unit)11と、記憶部としてのメモリ12およびハードディスク14と、時間を計時し計時データをCPU11に出力するタイマ13と、入力I/F(インターフェイスの略)15と、表示コントローラ16と、通信I/F(インターフェイスの略)17と、リーダ/ライタ18とを含む。これらの各部は、バスを介して、互いにデータ通信可能に接続される。
【0041】
CPU11は、ハードディスク14に格納されたプログラム(コード)を実行することで、各種の演算を実施する。メモリ12は、典型的には、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置であり、ハードディスク14から読み出されたプログラム・データに加えて、画像取得装置2から受信した画像データ、およびワークデータなどが格納される。このプログラムには、画像データを処理するためのプログラム(コード)およびデータが含まれる。 また、ハードディスク14は、不揮発性の磁気記憶装置であり、CPU11で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク14にインストールされるプログラムは、後述するようなメモリカード23などに非一時的に格納された状態で流通する。なお、ハードディスク14に加えて、あるいは、ハードディスク14に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【0042】
入力I/F15は、CPU11とキーボード19、マウス(図示せず)、タッチパネル(図示せず)などの入力装置との間のデータ伝送を仲介する。すなわち、入力I/F15は、ユーザが入力装置を操作することで与えられる操作命令を受付ける。
【0043】
表示コントローラ16は、表示装置の典型例であるディスプレイ20と接続され、CPU11における処理の結果などを表示することでユーザに通知する。
【0044】
通信I/F17は、通信回線を介してCPU11と画像取得装置2と間のデータ伝送を仲介する。リーダ/ライタ18は、CPU11と機械読み取り可能な記録媒体であるメモリカード23との間のデータ伝送を仲介する。
【0045】
また、画像処理装置1には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【0046】
また、ここでは、画像処理装置1と画像取得装置2とは別体として構成したが、両者は一体的に構成されてもよい。
【0047】
(機能構成)
図3は、この発明の実施の形態に係る機能構成図である。図3を参照して、CPU11は、画像取得装置2から画像データを受理する通信I/F17に相当する画像入力部110、および入力した画像について高さデータを補間する機能を有した画像処理部120を備える。画像処理部120は、入力した画像について予め定めた方向へ走査して高さデータを補間するラスター走査部121、当該予め定めた方向とは異なる方向(逆の方向)へ画像を走査(これを逆ラスター走査ともいう)して高さデータを補間する逆ラスター走査部122、およびラスター走査の終了を判定するための閾値を算出する加減処理部123を含む。これら各部の機能は、CPU11が実行するプログラム、またはプログラムと回路の組み合わせからなる。
【0048】
(処理フローチャート)
図4は、本発明の実施の形態に係る画像処理フローチャートである。この処理フローチャートに従うプログラムは、予めメモリに格納されており、CPU11がプログラムをメモリから読み出し、実行することにより処理が実現される。
【0049】
(処理の概要)
図4を参照して、処理の概要を説明する。まず、CPU11は、入力I/F15を介して受付けた操作命令に従い、画像取得装置2に対して撮像要求を送信する。画像取得装置2は要求を受信し、上述の手順に従って画像データを取得する(ステップS1)。CPU11は、画像取得装置2から送信される画像データを受信し、メモリ12の所定領域に入力(格納)する(ステップS2)。
【0050】
なお、画像データの入力経路は、画像取得装置2からの経路に限定されない。例えば、通信I/F17および図示しないネットワークを介して他の装置から受信した画像データ、またはメモリカード23から読み出した画像データであってもよい。
【0051】
CPU11は、その後、メモリ12の画像データについて画像処理部120による画像処理(ステップS4〜S7)を実施する。画像処理では、非実測点を中心として放射状に実測点を走査し、非実測点について最寄りの実測点を見つけ、見つけた実測点と非実測点との距離の逆数を重みとし、上記の(式1)に基づいて非実測点の高さを算出する。これにより、非実測点と実測点が離れていても、非実測点の高さを補間することができる。
【0052】
非実測点の高さを補間により算出する処理は、ラスター走査部121による画像の走査(ステップS4)と逆ラスター走査による画像の走査(ステップS5)を含む。また、CPU11は、画像取得装置2により取得された画像を予め走査して、実測点のうちから最大高さHmaxおよび最小高さHminを検出しておき、高さHmaxまたはHminのいずれか一方の高さから、補間のための画像処理を開始する。
【0053】
補間のための画像処理を開始するに先だって、CPU11は、まず初期化処理(ステップS3)において、当該画像処理の実行を制御するための変数HsとHeの値を初期化する。具体的には、処理を開始する時の高さをHs、この算出処理を終了するときの高さをHeと設定した場合に、それぞれに値Hmaxまたは値Hmin(ただしHmax>Hmin)のいずれか一方を代入し、高さHsの変更量を、予め定めた値dHとする。なお、値dHは(dH>0かつdH<Hmax−Hmin)の条件を満足する値である。
【0054】
<ラスター走査>
図5には、本発明の実施の形態に係る画像データの一例が示される。図5は矩形の2次元マトリックス状に配列された各画素について、実測点と非実測点が区別して示される。ここでは、実測点の画素には測定できた高さを示す有効な画素値が割り当てられて、高さを測定することのできなかった非実測点の画素値には、本来は高さを表さない予め定めた無効値が割り当てられる。CPU11は、走査した画素値から、当該画素は実測点であるか非実測点であるかを判定することができる。
【0055】
CPU11のラスター走査部121は、図5の矩形画像の4つのコーナーのいずれか1つのコーナーから対角のコーナーに向かって、ラスター走査する(ステップS4)。走査により画素値mが読み込まれる。ここでは、画素(i,j)によって各画素を一意に識別し、高さm(i,j)で当該画素値を示す。なお、説明のために(1≦i≦Mかつ1≦j≦N(ただし、M,N=2,3,4,…))であるとする。
【0056】
ラスター走査部121は、画像上の画素(i,j)の高さm(i,j)と高さHsとを比較する。ここで、初期化処理において高さHsにHmaxを代入したときは、比較結果から、[Hs−dH≦m(i,j)かつ高さm(i,j)≦Hs]の条件が満たされる(成立する)か否かを判定する。一方、初期化処理で高さHsにHminを代入したときは、比較結果から、[Hs≦m(i,j)かつm(i,j)≦Hs+dH]の条件が満たされるか否かを判定する。
【0057】
判定結果から、条件を満足する実測点に隣接する非実測点の高さを(式1)により計算する。以後、高さ計算が完了した非実測点を実測点として扱う。つまり、当該非実測点の画素(i,j)の高さm(i,j)に算出された高さ値を設定する。
【0058】
<逆のラスター走査>
続けて、CPU11の逆ラスター走査部122は、ステップS1の対角のコーナーから最初のコーナーに向かって逆方向に画像データをラスター走査する(ステップS5)。具体的には、画像上の画素(i,j)の高さm(i,j)と高さHsとを比較し、比較結果から、ステップS1の条件を満足する実測点に隣接した非実測点の高さを(式1)により計算する。以後、高さ計算が完了した非実測点を実測点として扱う。つまり、当該非実測点の画素(i,j)の高さm(i,j)に算出された高さ値を設定する。
【0059】
<加減処理>
次に、CPU11の加減処理部123は、高さHsについて加減算処理を実施する(ステップS6)。つまり、ラスター走査部121による走査と、逆ラスター走査部による走査とが実行される毎に、画像処理の実行を制御するための変数である高さHsとHeの値を変更する。具体的には、初期化処理において高さHsに値Hmaxを代入したときは、高さHsを値dHだけ減算し、高さHsに値Hminを代入したときは、高さHsに値dHだけ加算する。
【0060】
CPU11は、加減処理部123による処理の結果、高さHsが予め定めた終了高さHeに達したら、すなわち(Heが最小高さHminのときはHs≦He、Heが最大高さHmaxのときはHs≧He)の条件が成立すると判定すると(ステップS7でYES)処理を終了し、成立しないと判定すると(ステップS7でNO)、ステップS4に移行し、ステップS4以降の処理を前述と同様に実行する。
【0061】
本実施の形態では、ステップS4またはステップS5の走査方向が異なるラスター走査を実施することで、非実測点について精度良く高さデータを補間することができる。つまり、ラスター走査によって実測点を探索するため、非実測点に与える影響は走査開始点に近い実測点の方が大きい。そのため、ステップS4またはステップS5のいずれか一方の走査のみを実施して補間した場合には、補間結果に偏りが生じ、ワーク5の物体形状に類似した補間後の画像が得られない可能性がある。そこで、本実施の形態では、走査方向が異なるラスター走査を交互に実施することで、走査方向の違いによる補間結果の偏りを軽減することができる。
【0062】
(具体的な処理)
上述の概要した非実測点の高さデータの補間処理について図面を参照して、詳細に説明する。図6は、本発明の実施の形態に係る画像データの他の例を示す図である。補間対象の図6の矩形状の画像mのY軸方向に延びる縦サイズをN、X軸方向に延びる横サイズをMとし、画素の縦位置をj、横位置をiとおく。jは1,2,3,...,Nの値をとる。また、iは1,2,3,...,Mの値をとる。
【0063】
図6のクロスハッチングの画素E1およびハッチングの画素E2は、当該画素が実測点であることを示し、ハッチングなしの画素(空白の画素)E3は非実測点を示す。また、実測点の内、画素E2は高さH1を有し、画素E1は高さH2有し、H1>H2であるとする。説明を簡単にするために、画像上の実測点は、高さH1またはH2の実測点のみとし、dH=|H1−H2|/2とおく。
【0064】
CPU11は、図6の画像mのデータを入力すると(ステップS2)、初期化処理において、画像mのデータを走査して実測点の高さの内から、最大値および最小値を算出する(ステップS3)。図6の場合、最大値HmaxはH1、最小値HminはH2と算出される。
【0065】
また、CPU11は、画像mと同じサイズの画像Fのデータをメモリ12に用意する。そして、走査により読み込んだ画像mの各画素(i,j)について、実測点であるか否かを判定する。実測点であると判定したとき、画像Fの対応する画素F(i,j)に“1”をセットし、そうでないと判定したとき“0”をセットする。
【0066】
<ラスター走査>
図7図8図9は、本発明の実施の形態に係るラスター走査を説明するための図である。上記の処理後、CPU11のラスター走査部121は、Hs=Hmax、He=Hminとし、ラスター走査部121は画像Fを左上端の画素(1,1)から右下端の画素(M,N)に向かってラスター走査する。
【0067】
走査した各画素(i,j)について、その高さm(i,j)が[Hs−ΔH≦m(i,j)かつm(i,j)≦Hs]の条件を満足し、かつF(i,j)=1の条件を満足する実測点に隣接した画素から非実測点を検出する。この検出手順を、図7を参照して説明する。図7では、破線の円は上記の条件を満たす画素F(i,j)を示す。ラスター走査部121は、画素F(i,j)について放射方向に隣接した8つの画素F(p,q)の値を、図7(A)の番号1,2,3…順序で画像Fから参照し(読み出し)、参照した画素値に基づき、8つの画素のうちからF(p,q)=0を満足する非実測点(p,q)を探索(決定)する。非実測点が見つかったとき、その高さm(p,q)を次の方法で計算する。なお、図8の画像mでは、画素(i0,j0)は、この条件を満足する最初の実測点であるとする。
【0068】
画素(i0,j0)から見て、図7(A)の番号“4”の位置に最初の非実測点を検出した場合を説明する。ラスター走査部121は、この非実測点(p0,q0)について、図8(A)に示すように画素(p0,q0)を中心とする周囲8方向に放射状に画素値を参照し、実測点の画素を探索する。各方向の最初に見つかった画素(xn,yn)を実測点とする。図8(A)では、8つの実測点が探索されるため、実測点の画素(xn,yn)に関してn=1,2,3,...,8を取得することができる。
【0069】
ここで、ラスター走査部121は、重みWnを、画素(p0,q0)と画素(xn,yn)の距離の逆数とする。すなわち、(式2)に基づき重みWnを算出する。
【0070】
【数4】
【0071】
続いて、ラスター走査部121は、重みWnおよび画素(xn,yn)の高さm(xn,yn)を(式1)のdnに代入してデータDを算出し、算出したデータDを画素(p0,q0)の高さm(p0,q0)にセットする。以後、当該画素(p0,q0)を実測点として扱うため、対応の画素F(p0,q0)に1をセットする。図8(B)の画素(p0、q0)が当該画素を示す。
【0072】
ラスター走査部121は、再び、画像mの画素(i0,j0)の周囲を参照し、次の非実測点を同様にして探索する。画素(i0,j0)から見て、図7(A)の番号6の位置に次の非実測点を検出する。この番号6の非実測点(p1,q1)について、図8(C)に示すように放射方向である周囲8方向の最寄りの実測点を見つけ、見つけた実測点を(xn,yn)とおく。この結果、図8(C)では、8つの実測点(xn,yn)(ただし、n=1,2,3,..,8)を探索することができる。
【0073】
次に、ラスター走査部121は、画素(p0,q0)の場合と同様に、非実測点(p1,q1)について重みWnを、(式3)に従い算出する。
【0074】
【数5】
【0075】
そして、重みWnおよび実測点(xn,yn)の高さm(xn,yn)を(式1)のdnに代入してデータDを算出し、算出したデータDを画素(p1,q1)の高さm(p1,q1)にセットする。以後、(p1,q1)を実測点として扱うため、対応の画素F(p1,q1)に1をセットする。図8(D)の画素(p1,q1)がこれに相当する。
【0076】
これ以降、ラスター走査部121は、同様の手順で実測点を画像mの右下端まで走査する。右下端まで走査したときの、図6の画像mの処理結果が、図9に示される。図9の画像mでは、非実測点について高さデータが補間されている。図9の画像mの白丸の画素E4は、図6の元の画像では非実測点であったが、ラスター走査部121により高さデータが算出されてセットされた実測点の画素に変化している。
【0077】
ラスター走査部121が、画像mについて右下端までの走査が完了すると、逆ラスター走査部122による走査が実施される。
【0078】
<逆のラスター走査>
逆ラスター走査部122は、ラスター走査部121によるラスター走査後の図9の画像mについて、逆方向に、すなわち画像の右下端から左上端に向けてラスター走査する。現在の高さHsの値は高さH1を示すが、高さHs(=H1)に等しい実測点の周囲に非実測点が存在しないため、逆走査後の画像mも図9と同じ状態を示す。
【0079】
<加減処理>
加減処理部123は、高さHsをdH(dH>0)だけ減算する。CPU11は、減算後の高さHsは(Hs>He)の条件を満たすと判定し(ステップS7でNO)、ステップS4のラスター走査の処理に戻り、高さデータを補間する画像処理が再度、繰返される。
【0080】
<再度のラスター走査および逆のラスター走査>
図10図14は、本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【0081】
再び、図9の画像mについて、左上端からのラスター走査と、右下端からの逆ラスター走査が実施されて、非実測点の画素について同様に高さデータが補間される。
【0082】
ラスター走査部121が、図9の画像mを左上端からラスター走査した後の画像mの状態を図11に示す。なお、このステップでは、HsはH2に等しいとする。
【0083】
逆ラスター走査部122は、図10の右下端から左上端に向かって画像mを走査する。図10において、画素(i,j)の高さm(i,j)が[Hs−ΔH≦m(i,j)かつm(i,j)≦Hs]の条件を満足し、かつF(i,j)=1を満足する実測点について、画素(i,j)に隣接する8つの画素を図7(B)の順序で参照し、F(p,q)=0を満足する非実測点(p,q)を探索する。非実測点が見つかったとき、その高さm(p,q)を次の方法で計算する。なお、図11の画素(i1,j1)は、この条件を満足する最初の実測点である。
【0084】
画素(i1,j1)から見て、図7(B)の番号8の位置に最初の非実測点が検出される。この非実測点の画素(p2,q2)について、図12に示すように画素(p2,q2)を中心とする周囲8方向に放射状に実測点を探索する。各方向について最初に見つかった実測点について画素(xn,yn)とおく。図12では4つの実測点の画素(xn,yn)(ただし、nは1,2,..,4である)が探索される。
【0085】
次に、逆ラスター走査部122は、画素(p0,q0)の場合と同様に、非測定点(p2,q2)について重みWnを、(式4)に従い算出する。
【0086】
【数6】
【0087】
そして、重みWnおよび実測点(xn,yn)の高さm(xn,yn)を(式1)のdnに代入してデータDを算出し、算出したデータDを画素(p2,q2)に高さm(p2,q2)にセットする。以後、画素(p2,q2)を実測点として扱うため、対応の画素F(p2,q2)に1をセットする。図13の画素E5がこれに相当する。
【0088】
これ以降、逆ラスター走査部122は、同様の手順で画像mの実測点を左上端まで走査する。左上端まで走査したときの、画像mの状態を図14に示す。
【0089】
<再度の加減処理>
その後、加厳処理部123は、高さHsをdH(dH>0)だけ減算する。CPU11は、減算後の高さHsについて(Hs≦He)の条件が成立すると判定したとき、高さデータ補間のための画像処理を終了する。
【0090】
(変形例)
なお、上記の画像処理では、非測定点の高さを補間するために、高さHがHmaxに等しい実測点から処理を開始したが、必ずしもこれに限定されるわけではなく、Hminに等しい実測点から始め、高さHsをdH(dH>0)だけ加算しながら処理を行って、加算後の高さHsについて(Hs≧He)の条件が成立すると判定したとき、高さデータ補間のための画像処理を終了する、としてもよい。
【0091】
また、本実施の形態では、画像mの左上端から右下端または右上端から左下端に向かって走査を行ったが、必ずしもこれに限定するわけではない。4つのコーナーの内のいずれか一つのコーナーから対角のコーナーに向かって走査し、この走査と逆方向の走査とを繰返し実行すればよい。
【0092】
(補間処理後の表示画像例)
図15図16は、本発明の実施の形態に係る補間処理前後のディスプレイ20における表示画像例を示す図である。図15(A)に高さ補間の画像処理前の画像mを示す。図15(B)には、図15(A)の画像を本発明の実施の形態に係る方法で高さデータを補間処理した後の表示例を示す。また、図15(A)と(B)に対応の画像データに基づき3次元表示した画像を、図16(A)と(B)にそれぞれ示す。
【0093】
図15(A)では、黒色部分BLが非測定点に相当する。図15(B)の補間処理後の画像には黒色部分BLは存在せず、非測定点の高さデータが補間されていることがわかる。
【0094】
(実施の形態の効果)
本実施の形態によれば、非実測点の画素について、その放射方向に隣接する実測点を利用して当該非実測点の画素についての高さを補間することができるので、比較的少ない数の画素の高さを用いて、比較的短時間で補間処理を終了することができる。
【0095】
また、非実測点と実測点が離れていても、非実測点の高さを補間することができる。
また、画像について、走査方向が異なる複数のラスター走査が実施されることで、走査方向の違いによる補間結果の偏りを軽減することができる。その結果、補間後の画像について、ワーク5の対象物体形状(表面高さ)により類似した画像を得ることができる。
【0096】
また、画像において非実測点がランダムに存在する場合でも対象物体形状(表面高さ)に類似した補間処理後の画像を得ることができる。
【0097】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0098】
1 画像処理装置、2 画像取得装置、110 画像入力部、120 画像処理部、121 ラスター走査部、122 逆ラスター走査部、123 加減処理部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16