(57)【要約】【課題】使い勝手に優れた画像処理を提供する。【解決手段】２次元状に配列された複数画素のおのおのは、当該画素の位置と、高さの情報を有する。画像処理装置は、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である１個以上の画素の高さ情報と、当該無効である画素と当該１個以上の画素それぞれとの距離の逆数による重みとを用いて、（式１）に基づき、当該無効である画素に対する高さ情報を算出する。【数１】2015153307.tif 000011（ただし、Ｗｎ：重み、ｄｎ：高さ情報が有効である１個以上の画素の高さ、Ｄ：算出された高さ、ｎ：高さ情報が有効である１個以上の画素数）【選択図】図３
2015153307.tif 000002
【特許請求の範囲】
【請求項１】
２次元状に配列された複数画素からなる画像を処理する画像処理装置であって、
前記複数画素のおのおのは、当該画素の位置と、高さの情報を有し、
前記画像処理装置は、
画像を入力する画像入力手段と、
入力した画像のうち前記高さの情報が無効である画素に対する、高さ情報を算出する画像処理手段と、を備え、
前記画像処理手段は、
【数１】
2015153307.tif 000009
（ただし、Ｗｎ：重み、ｄｎ：高さ情報が有効である１個以上の画素の高さ、Ｄ：算出された高さ、ｎ：高さ情報が有効である１個以上の画素数）
前記高さ情報が無効である画素の最寄りの画素のうち、前記高さ情報が有効である１個以上の画素の高さ情報と、当該無効である画素と前記１個以上の画素それぞれとの距離の逆数による重みとを用いて、式１に基づき、当該無効である画素に対する高さ情報を算出する、画像処理装置。
【請求項２】
前記画像処理手段は、
前記画像を一方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査手段と、
前記一方向走査手段による走査後、前記画像を前記一方向とは逆の方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査手段と、を含む、請求項１に記載の画像処理装置。
【請求項３】
前記画像処理手段は、
前記画像の処理開始に先立って、前記画像処理の実行を制御するための変数の値を初期化する手段を、さらに含み、
前記初期化する手段は、
前記入力した画像の複数画素のうち最大高さＨｍａｘおよび最小高さＨｍｉｎのいずれか一方の値を変数Ｈｓに代入し、他方を変数Ｈｅに代入し、変数ＨｓとＨｅの変更量ｄＨに対し、条件（ｄＨ＞０かつｄＨ＜Ｈｍａｘ−Ｈｍｉｎ）を満たす値を設定するように構成され、
前記一方向走査手段または前記逆方向走査手段は、
前記探索時に、画像上の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）と変数Ｈｓについて、変数Ｈｓに最大高さＨｍａｘを代入したときは条件（Ｈｓ−ｄＨ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ）を満たすか否かを判定し、
変数Ｈｓに最小高さＨｍｉｎを代入したときは条件（Ｈｓ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ＋ｄＨ）を満たすか否かを判定し、
前記条件を満たす画素（ｉ，ｊ）を、前記高さ情報が有効である画素と判定する、請求項２に記載の画像処理装置。
【請求項４】
前記画像処理手段は、
前記一方向走査手段による走査と、前記逆方向走査手段による走査とを複数回繰り返し実行する、請求項３に記載の画像処理装置。
【請求項５】
前記画像処理手段は、
前記一方向走査手段による走査と、前記逆方向走査手段による走査とが実行される毎に、前記画像処理の実行を制御するための変数の値を変更する手段を、さらに含み、
前記変更する手段は、
前記変数Ｈｓに最大高さＨｍａｘが代入されたときは当該変数Ｈｓを前記変更量ｄＨだけ減算し、前記変数Ｈｓに最小高さＨｍｉｎが代入されたときは当該変数Ｈｓに前記変更量ｄＨ（＞０）だけ加算するように構成されて、
前記画像処理手段は、
前記変更する手段による算出後の変数Ｈｓについて（Ｈｅが最小高さＨｍｉｎのときはＨｓ≦Ｈｅ、Ｈｅが最大高さＨｍａｘのときはＨｓ≧Ｈｅ）の条件を満たすと判定するまで、前記一方向走査手段による走査と、前記逆方向走査手段による走査とを繰り返し実行する、請求項４に記載の画像処理装置。
【請求項６】
２次元状に配列された複数画素からなる画像を処理する方法であって、
前記複数画素のおのおのは、当該画素の位置と、高さの情報を有し、
前記方法は、
画像を入力するステップと、
入力した画像のうち前記高さの情報が無効である画素に対する、高さ情報を算出する画像処理にステップと、を備え、
前記画像処理のステップは、
【数２】
2015153307.tif 000010
（ただし、Ｗｎ：重み、ｄｎ：高さ情報が有効である１個以上の画素の高さ、Ｄ：算出された高さ、ｎ：高さ情報が有効である１個以上の画素数）
前記高さ情報が無効である画素の最寄りの画素のうち、前記高さ情報が有効である１個以上の画素の高さ情報と、当該無効である画素と前記１個以上の画素それぞれとの距離の逆数による重みとを用いて、式１に基づき、当該無効である画素に対する高さ情報を算出する、方法。
【請求項７】
前記画像処理のステップは、
前記画像を一方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査のステップと、
前記一方向走査のステップによる走査後、前記画像を前記一方向とは逆の方向に走査し、前記高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、前記高さ情報が無効である画素に対して前記式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査のステップと、を含む、請求項６に記載の方法。
【請求項８】
前記画像処理のステップは、
前記画像の処理開始に先立って、前記画像処理の実行を制御するための変数の値を初期化するステップを、さらに含み、
前記初期化するステップは、
前記入力した画像の複数画素のうち最大高さＨｍａｘおよび最小高さＨｍｉｎのいずれか一方の値を変数Ｈｓに代入し、他方を変数Ｈｅに代入し、変数ＨｓとＨｅの変更量ｄＨに対し、条件（ｄＨ＞０かつｄＨ＜Ｈｍａｘ−Ｈｍｉｎ）を満たす値を設定し、
前記一方向走査のステップまたは前記逆方向走査のステップは、
前記探索時に、画像上の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）と変数Ｈｓについて、変数Ｈｓに最大高さＨｍａｘを代入したときは条件（Ｈｓ−ｄＨ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ）を満たすか否かを判定し、
変数Ｈｓに最小高さＨｍｉｎを代入したときは条件（Ｈｓ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ＋ｄＨ）を満たすか否かを判定し、
前記条件を満たす画素（ｉ，ｊ）を、前記高さ情報が有効である画素と判定する、請求項７に記載の方法。
【請求項９】
前記画像処理のステップでは、
前記一方向走査のステップによる走査と、前記逆方向走査のステップによる走査とを複数回繰り返し実行する、請求項８に記載の方法。
【請求項１０】
前記画像処理のステップは、
前記一方向走査のステップによる走査と、前記逆方向走査のステップによる走査とが実行される毎に、前記画像処理の実行を制御するための変数の値を変更するステップを、さらに含み、
前記変更するステップは、
前記変数Ｈｓに最大高さＨｍａｘが代入されたときは当該変数Ｈｓを前記変更量ｄＨだけ減算し、前記変数Ｈｓに最小高さＨｍｉｎが代入されたときは当該変数Ｈｓに前記変更量ｄＨ（＞０）だけ加算し、
前記画像処理のステップは、
前記変更するステップによる算出後の変数Ｈｓについて（Ｈｅが最小高さＨｍｉｎのときはＨｓ≦Ｈｅ、Ｈｅが最大高さＨｍａｘのときはＨｓ≧Ｈｅ）の条件を満たすと判定するまで、前記一方向走査のステップによる走査と、前記逆方向走査のステップによる走査とを繰り返し実行する、請求項９に記載の方法。
【請求項１１】
プロセッサを備えるコンピュータに、請求項６から１０のいずれか１項に記載の方法を実行させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記憶した機械読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、方法、プログラムおよび当該プログラムの記憶媒体に関し、特に、３次元測定機等で測定された物体表面画像から表面の高さの補間機能を有した画像処理装置、方法、プログラムおよび当該プログラムの記憶媒体に関する。
【背景技術】
【０００２】
従来から、実測点のデータを基に非実測点のデータを求める多くの手法が提案されており、その一つに加重平均法がある。この方法では、有効な画素値を有した実測点と、有効な画素値を有しない非実測点との関係を重み付けし、下記（式１）により非実測点の画素値を算出する。なお、（式１）ではＷｎ＝重み、ｄｎ＝実測点、およびＤ＝非実測点の各データを示す。
【０００３】
【数１】
2015153307.tif 000003
【０００４】
加重平均法を用いた従来例として特許文献１（特開２００６−２６２３０５号公報）に開示の発明がある。特許文献１では、画像のエッジの解像度を高めることを目的とし、画像上の画素値を加重平均法により算出して補間する。重み付けには、双三次補間法や双一次補間法など公知の手法が用いられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−２６２３０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１による測定方法を用いるには、補間対象の画素の補間に用いる画素が、すなわち補間対象画素の周囲の４個の画素値が欠損していないことが条件であるため、使い勝手に優れない。
【０００７】
それゆえに本発明の目的は、使い勝手に優れた画像処理装置、方法、プログラムおよび当該プログラムの記憶媒体を提供することである。
【課題を解決するための手段】
【０００８】
この発明のある局面に従う画像処理装置は、２次元状に配列された複数画素からなる画像を処理する画像処理装置である。複数画素のおのおのは、当該画素の位置と、高さの情報を有する。
【０００９】
画像処理装置は、画像を入力する画像入力手段と、入力した画像のうち高さの情報が無効である画素に対する、高さ情報を算出する画像処理手段と、を備える。画像処理手段は、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である１個以上の画素の高さ情報と、当該無効である画素と１個以上の画素それぞれとの距離の逆数による重みとを用いて、式１に基づき、当該無効である画素に対する高さ情報を算出する。
【００１０】
【数２】
2015153307.tif 000004
【００１１】
（ただし、Ｗｎ：重み、ｄｎ：高さ情報が有効である１個以上の画素の高さ、Ｄ：算出された高さ、ｎ：高さ情報が有効である１個以上の画素数）
この発明のある局面に従うと、画像処理手段は、画像を一方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査手段と、一方向走査手段による走査後、画像を一方向とは逆の方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査手段と、を含む。
【００１２】
好ましくは、画像処理手段は、画像の処理開始に先立って、画像処理の実行を制御するための変数の値を初期化する手段を、さらに含む。初期化する手段は、入力した画像の複数画素のうち最大高さＨｍａｘおよび最小高さＨｍｉｎのいずれか一方の値を変数Ｈｓに代入し、他方を変数Ｈｅに代入し、変数ＨｓとＨｅの変更量ｄＨに対し、条件（ｄＨ＞０かつｄＨ＜Ｈｍａｘ−Ｈｍｉｎ）を満たす値を設定するように構成される。また、一方向走査手段または逆方向走査手段は、探索時に、画像上の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）と変数Ｈｓについて、変数Ｈｓに最大高さＨｍａｘを代入したときは条件（Ｈｓ−ｄＨ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ）を満たすか否かを判定し、変数Ｈｓに最小高さＨｍｉｎを代入したときは条件（Ｈｓ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ＋ｄＨ）を満たすか否かを判定し、この条件を満たす画素（ｉ，ｊ）を、高さ情報が有効である画素と判定する。
【００１３】
好ましくは、画像処理手段は、一方向走査手段による走査と、逆方向走査手段による走査とを複数回繰り返し実行する。
【００１４】
好ましくは、画像処理手段は、一方向走査手段による走査と、逆方向走査手段による走査とが実行される毎に、画像処理の実行を制御するための変数の値を変更する手段を、さらに含む。
【００１５】
変更する手段は、変数Ｈｓに最大高さＨｍａｘが代入されたときは当該変数Ｈｓを変更量ｄＨだけ減算し、変数Ｈｓに最小高さＨｍｉｎが代入されたときは当該変数Ｈｓに変更量ｄＨ（＞０）だけ加算するように構成される。
【００１６】
画像処理手段は、変更する手段による算出後の変数Ｈｓについて（Ｈｅが最小高さＨｍｉｎのときはＨｓ≦Ｈｅ、Ｈｅが最大高さＨｍａｘのときはＨｓ≧Ｈｅ）の条件を満たすと判定するまで、一方向走査手段による走査と、逆方向走査手段による走査とを繰り返し実行する。
【００１７】
この発明の他の局面に従う方法は、２次元状に配列された複数画素からなる画像を処理する方法である。複数画素のおのおのは、当該画素の位置と、高さの情報を有する。方法は、画像を入力するステップと、入力した画像のうち高さの情報が無効である画素に対する、高さ情報を算出する画像処理にステップと、を備える。画像処理のステップは、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である１個以上の画素の高さ情報と、当該無効である画素と１個以上の画素それぞれとの距離の逆数による重みとを用いて、式１に基づき、当該無効である画素に対する高さ情報を算出する。
【００１８】
【数３】
2015153307.tif 000005
【００１９】
（ただし、Ｗｎ：重み、ｄｎ：高さ情報が有効である１個以上の画素の高さ、Ｄ：算出された高さ、ｎ：高さ情報が有効である１個以上の画素数）。
【００２０】
好ましくは、画像処理のステップは、画像を一方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する一方向走査のステップと、一方向走査のステップによる走査後、画像を一方向とは逆の方向に走査し、高さ情報が有効である画素が探索される毎に、当該有効である画素に隣接した画素のうち、高さ情報が無効である画素に対して式１に基づき高さ情報を算出し、当該無効である画素に有効な高さ情報として設定する逆方向走査のステップと、を含む。
【００２１】
好ましくは、画像処理のステップは、画像の処理開始に先立って、画像処理の実行を制御するための変数の値を初期化するステップを、さらに含む。
【００２２】
初期化するステップは、入力した画像の複数画素のうち最大高さＨｍａｘおよび最小高さＨｍｉｎのいずれか一方の値を変数Ｈｓに代入し、他方を変数Ｈｅに代入し、変数ＨｓとＨｅの変更量ｄＨに対し、条件（ｄＨ＞０かつｄＨ＜Ｈｍａｘ−Ｈｍｉｎ）を満たす値を設定する。
【００２３】
また、一方向走査のステップまたは逆方向走査のステップは、探索時に、画像上の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）と変数Ｈｓについて、変数Ｈｓに最大高さＨｍａｘを代入したときは条件（Ｈｓ−ｄＨ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ）を満たすか否かを判定し、変数Ｈｓに最小高さＨｍｉｎを代入したときは条件（Ｈｓ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ＋ｄＨ）を満たすか否かを判定し、条件を満たす画素（ｉ，ｊ）を、高さ情報が有効である画素と判定する。
【００２４】
好ましくは、画像処理のステップでは、一方向走査のステップによる走査と、逆方向走査のステップによる走査とを複数回繰り返し実行する。
【００２５】
好ましくは、画像処理のステップは、一方向走査のステップによる走査と、逆方向走査のステップによる走査とが実行される毎に、画像処理の実行を制御するための変数の値を変更するステップを、さらに含む。
【００２６】
変更するステップは、変数Ｈｓに最大高さＨｍａｘが代入されたときは当該変数Ｈｓを変更量ｄＨだけ減算し、変数Ｈｓに最小高さＨｍｉｎが代入されたときは当該変数Ｈｓに変更量ｄＨ（＞０）だけ加算する。
【００２７】
また、画像処理のステップは、変更するステップによる算出後の変数Ｈｓについて（Ｈｅが最小高さＨｍｉｎのときはＨｓ≦Ｈｅ、Ｈｅが最大高さＨｍａｘのときはＨｓ≧Ｈｅ）の条件を満たすと判定するまで、一方向走査のステップによる走査と、逆方向走査のステップによる走査とを繰り返し実行する。
【００２８】
この発明のさらに他の局面に従うプログラムは、プロセッサを備えるコンピュータに、上記の方法を実行させるためのプログラムである。
【００２９】
この発明のさらに他の局面に従う記憶媒体は、上記のプログラムを記憶した機械読み取り可能な記憶媒体である。
【発明の効果】
【００３０】
本発明によれば、高さ情報が無効である画素の最寄りの画素のうち、高さ情報が有効である１個以上の画素の高さ情報と、当該無効である画素と１個以上の画素それぞれとの距離の逆数による重みとを用いて、（式１）に基づき、当該無効である画素に対する高さ情報を算出することができる。したがって、高さ情報が無効である画素の最寄りの画素を、すなわち適切な数の画素の高さ情報を利用して無効である画素の高さ情報の補間処理が行なわれて、比較的短時間で処理を終了することができ、使い勝手に優れる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態に係る画像処理装置を備えたシステムの構成図である。
【図２】本発明の実施の形態に係る画像処理装置の概略構成図である。
【図３】本発明の実施の形態に係る機能構成図である。
【図４】本発明の実施の形態に係る画像処理フローチャートである。
【図５】本発明の実施の形態に係る画像データの一例を示す図である。
【図６】本発明の実施の形態に係る画像データの他の例を示す図である。
【図７】本発明の実施の形態に係るラスター走査を説明するための図である。
【図８】本発明の実施の形態に係るラスター走査を説明するための図である。
【図９】本発明の実施の形態に係るラスター走査を説明するための図である。
【図１０】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【図１１】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【図１２】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【図１３】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【図１４】本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【図１５】本発明の実施の形態に係る補間処理前後のディスプレイ表示画像例を示す図である。
【図１６】本発明の実施の形態に係る補間処理前後のディスプレイ表示画像例を示す図である。
【発明を実施するための形態】
【００３２】
本発明の実施の形態について図面を参照して詳細に説明する。なお、以下では、図中の同一または相当部分には同一符号を付して、その説明は原則的に繰返さないものとする。
【００３３】
（システム構成）
図１は、本発明の実施の形態に係る画像処理装置を備えたシステムの構成図である。このシステムは、例えば、ワーク支持台４上に載置されたワーク５の表面画像処理に適用することができる。
【００３４】
図１を参照して、システムは、プロセッサを有したコンピュータに相当する画像処理装置１、および画像処理装置１に有線または無線で接続された画像取得装置２を備える。画像取得装置２は３次元測定機能を用いてワーク５の画像（画像データ）を取得する。画像取得装置２の３次元測定機能としては種々の方式を適用することができるが、ここでは、公知の非接触方式による光学式測定機能を利用する。なお、適用する方式はこれに限定されない。
【００３５】
画像取得装置２は、図示しないマイクロプロセッサ、投光系２１、およびイメージセンサである受光系２２を備える。投光系２１は、図示しない半導体レーザからの照射光を、ガルバノミラーを含む光学系（図示せず）を介して測定対象物であるワーク５表面に向けて照射する。ワーク５からの反射光は、受光系２２の受光レンズ（図示せず）によりイメージセンサ上に結像する。画像取得装置２は、イメージセンサ上の像位置を算出（検出）する。また、マイクロプロセッサは、ガルバノミラーとイメージセンサの撮像を同期して駆動させて、各投光角（時間）での受光出力変化から位置（角度）を求めることで測定対象物の、より特定的には表面形状を３次元的に測定することができる。
【００３６】
ここでは、説明を簡単にするために、マイクロプロセッサは画像イメージセンサの出力から、直交するＸ軸、Ｙ軸およびＺ軸で規定される画像データを生成する。画像データは、画像イメージセンサのサイズに相当するＸ軸およびＹ軸で規定される２次元平面画像の各画素に対して、Ｚ軸方向の値である高さデータが割り当てられる。高さデータは、受光出力変化から算出されるワーク５の表面高さを示す。すなわち、画像データでは、各画素は２次元座標位置（ｘ，ｙ）を用いた２次元配列における各要素（ｘ，ｙ）で規定することができ、各要素（ｘ、ｙ）の要素値には、対応するＺ軸方向の値が割り当てられる。なお、以降では要素値を画素値ともいう。
【００３７】
（本発明の実施の形態の概要）
本実施の形態では、対象とする画像の各画素には、３次元測定機能で測定された物体の表面高さが格納される。画素は、測定環境またはセンサなど光学系の特性等により欠損し非実測点が生じる場合があるが、本実施の形態では画素がランダムに欠損している場合でも非実測点を補間することができる。
【００３８】
ここでは、高さを測定できた画素を実測点と呼び、測定できなかった画素を非実測点と呼ぶ。
【００３９】
本実施の形態では、物体形状に類似した表面高さの補間結果を得るための、計算の元になる画素を選択し、選択した画素の画素値を用いた補間のための計算手順を採用する。また、計算には加重平均法を採用するが、その算出精度のために、非実測点を全方向から囲むできるだけ多くの、且つ適切な数の実測点の画素を選択する。これにより、本実施の形態に係る画像処理を、設備など効率的な運用が求められる機械に組み込んで使用する場合であっても、補間精度だけでなく、より短時間で画像処理を終了することが可能となる。
【００４０】
（画像処理装置の構成）
図２は、この発明の実施の形態に従う画像処理装置１の概略構成図である。図２を参照して、画像処理装置１は、演算処理部であるＣＰＵ（Central  Processing  Unit）１１と、記憶部としてのメモリ１２およびハードディスク１４と、時間を計時し計時データをＣＰＵ１１に出力するタイマ１３と、入力Ｉ／Ｆ（インターフェイスの略）１５と、表示コントローラ１６と、通信Ｉ／Ｆ（インターフェイスの略）１７と、リーダ／ライタ１８とを含む。これらの各部は、バスを介して、互いにデータ通信可能に接続される。
【００４１】
ＣＰＵ１１は、ハードディスク１４に格納されたプログラム（コード）を実行することで、各種の演算を実施する。メモリ１２は、典型的には、ＤＲＡＭ（Dynamic  Random  Access  Memory）などの揮発性の記憶装置であり、ハードディスク１４から読み出されたプログラム・データに加えて、画像取得装置２から受信した画像データ、およびワークデータなどが格納される。このプログラムには、画像データを処理するためのプログラム（コード）およびデータが含まれる。  また、ハードディスク１４は、不揮発性の磁気記憶装置であり、ＣＰＵ１１で実行されるプログラムに加えて、各種設定値などが格納される。このハードディスク１４にインストールされるプログラムは、後述するようなメモリカード２３などに非一時的に格納された状態で流通する。なお、ハードディスク１４に加えて、あるいは、ハードディスク１４に代えて、フラッシュメモリなどの半導体記憶装置を採用してもよい。
【００４２】
入力Ｉ／Ｆ１５は、ＣＰＵ１１とキーボード１９、マウス（図示せず）、タッチパネル（図示せず）などの入力装置との間のデータ伝送を仲介する。すなわち、入力Ｉ／Ｆ１５は、ユーザが入力装置を操作することで与えられる操作命令を受付ける。
【００４３】
表示コントローラ１６は、表示装置の典型例であるディスプレイ２０と接続され、ＣＰＵ１１における処理の結果などを表示することでユーザに通知する。
【００４４】
通信Ｉ／Ｆ１７は、通信回線を介してＣＰＵ１１と画像取得装置２と間のデータ伝送を仲介する。リーダ／ライタ１８は、ＣＰＵ１１と機械読み取り可能な記録媒体であるメモリカード２３との間のデータ伝送を仲介する。
【００４５】
また、画像処理装置１には、必要に応じて、プリンタなどの他の出力装置が接続されてもよい。
【００４６】
また、ここでは、画像処理装置１と画像取得装置２とは別体として構成したが、両者は一体的に構成されてもよい。
【００４７】
（機能構成）
図３は、この発明の実施の形態に係る機能構成図である。図３を参照して、ＣＰＵ１１は、画像取得装置２から画像データを受理する通信Ｉ／Ｆ１７に相当する画像入力部１１０、および入力した画像について高さデータを補間する機能を有した画像処理部１２０を備える。画像処理部１２０は、入力した画像について予め定めた方向へ走査して高さデータを補間するラスター走査部１２１、当該予め定めた方向とは異なる方向（逆の方向）へ画像を走査（これを逆ラスター走査ともいう）して高さデータを補間する逆ラスター走査部１２２、およびラスター走査の終了を判定するための閾値を算出する加減処理部１２３を含む。これら各部の機能は、ＣＰＵ１１が実行するプログラム、またはプログラムと回路の組み合わせからなる。
【００４８】
（処理フローチャート）
図４は、本発明の実施の形態に係る画像処理フローチャートである。この処理フローチャートに従うプログラムは、予めメモリに格納されており、ＣＰＵ１１がプログラムをメモリから読み出し、実行することにより処理が実現される。
【００４９】
（処理の概要）
図４を参照して、処理の概要を説明する。まず、ＣＰＵ１１は、入力Ｉ／Ｆ１５を介して受付けた操作命令に従い、画像取得装置２に対して撮像要求を送信する。画像取得装置２は要求を受信し、上述の手順に従って画像データを取得する（ステップＳ１）。ＣＰＵ１１は、画像取得装置２から送信される画像データを受信し、メモリ１２の所定領域に入力（格納）する（ステップＳ２）。
【００５０】
なお、画像データの入力経路は、画像取得装置２からの経路に限定されない。例えば、通信Ｉ／Ｆ１７および図示しないネットワークを介して他の装置から受信した画像データ、またはメモリカード２３から読み出した画像データであってもよい。
【００５１】
ＣＰＵ１１は、その後、メモリ１２の画像データについて画像処理部１２０による画像処理（ステップＳ４〜Ｓ７）を実施する。画像処理では、非実測点を中心として放射状に実測点を走査し、非実測点について最寄りの実測点を見つけ、見つけた実測点と非実測点との距離の逆数を重みとし、上記の（式１）に基づいて非実測点の高さを算出する。これにより、非実測点と実測点が離れていても、非実測点の高さを補間することができる。
【００５２】
非実測点の高さを補間により算出する処理は、ラスター走査部１２１による画像の走査（ステップＳ４）と逆ラスター走査による画像の走査（ステップＳ５）を含む。また、ＣＰＵ１１は、画像取得装置２により取得された画像を予め走査して、実測点のうちから最大高さＨｍａｘおよび最小高さＨｍｉｎを検出しておき、高さＨｍａｘまたはＨｍｉｎのいずれか一方の高さから、補間のための画像処理を開始する。
【００５３】
補間のための画像処理を開始するに先だって、ＣＰＵ１１は、まず初期化処理（ステップＳ３）において、当該画像処理の実行を制御するための変数ＨｓとＨｅの値を初期化する。具体的には、処理を開始する時の高さをＨｓ、この算出処理を終了するときの高さをＨｅと設定した場合に、それぞれに値Ｈｍａｘまたは値Ｈｍｉｎ（ただしＨｍａｘ＞Ｈｍｉｎ）のいずれか一方を代入し、高さＨｓの変更量を、予め定めた値ｄＨとする。なお、値ｄＨは（ｄＨ＞０かつｄＨ＜Ｈｍａｘ−Ｈｍｉｎ）の条件を満足する値である。
【００５４】
＜ラスター走査＞
図５には、本発明の実施の形態に係る画像データの一例が示される。図５は矩形の２次元マトリックス状に配列された各画素について、実測点と非実測点が区別して示される。ここでは、実測点の画素には測定できた高さを示す有効な画素値が割り当てられて、高さを測定することのできなかった非実測点の画素値には、本来は高さを表さない予め定めた無効値が割り当てられる。ＣＰＵ１１は、走査した画素値から、当該画素は実測点であるか非実測点であるかを判定することができる。
【００５５】
ＣＰＵ１１のラスター走査部１２１は、図５の矩形画像の４つのコーナーのいずれか１つのコーナーから対角のコーナーに向かって、ラスター走査する（ステップＳ４）。走査により画素値ｍが読み込まれる。ここでは、画素（ｉ，ｊ）によって各画素を一意に識別し、高さｍ（ｉ，ｊ）で当該画素値を示す。なお、説明のために（１≦ｉ≦Ｍかつ１≦ｊ≦Ｎ（ただし、Ｍ，Ｎ＝２，３，４，…））であるとする。
【００５６】
ラスター走査部１２１は、画像上の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）と高さＨｓとを比較する。ここで、初期化処理において高さＨｓにＨｍａｘを代入したときは、比較結果から、[Ｈｓ−ｄＨ≦ｍ（ｉ，ｊ）かつ高さｍ（ｉ，ｊ）≦Ｈｓ]の条件が満たされる（成立する）か否かを判定する。一方、初期化処理で高さＨｓにＨｍｉｎを代入したときは、比較結果から、[Ｈｓ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ＋ｄＨ]の条件が満たされるか否かを判定する。
【００５７】
判定結果から、条件を満足する実測点に隣接する非実測点の高さを（式１）により計算する。以後、高さ計算が完了した非実測点を実測点として扱う。つまり、当該非実測点の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）に算出された高さ値を設定する。
【００５８】
＜逆のラスター走査＞
続けて、ＣＰＵ１１の逆ラスター走査部１２２は、ステップＳ１の対角のコーナーから最初のコーナーに向かって逆方向に画像データをラスター走査する（ステップＳ５）。具体的には、画像上の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）と高さＨｓとを比較し、比較結果から、ステップＳ１の条件を満足する実測点に隣接した非実測点の高さを（式１）により計算する。以後、高さ計算が完了した非実測点を実測点として扱う。つまり、当該非実測点の画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）に算出された高さ値を設定する。
【００５９】
＜加減処理＞
次に、ＣＰＵ１１の加減処理部１２３は、高さＨｓについて加減算処理を実施する（ステップＳ６）。つまり、ラスター走査部１２１による走査と、逆ラスター走査部による走査とが実行される毎に、画像処理の実行を制御するための変数である高さＨｓとＨｅの値を変更する。具体的には、初期化処理において高さＨｓに値Ｈｍａｘを代入したときは、高さＨｓを値ｄＨだけ減算し、高さＨｓに値Ｈｍｉｎを代入したときは、高さＨｓに値ｄＨだけ加算する。
【００６０】
ＣＰＵ１１は、加減処理部１２３による処理の結果、高さＨｓが予め定めた終了高さＨｅに達したら、すなわち（Ｈｅが最小高さＨｍｉｎのときはＨｓ≦Ｈｅ、Ｈｅが最大高さＨｍａｘのときはＨｓ≧Ｈｅ）の条件が成立すると判定すると（ステップＳ７でＹＥＳ）処理を終了し、成立しないと判定すると（ステップＳ７でＮＯ）、ステップＳ４に移行し、ステップＳ４以降の処理を前述と同様に実行する。
【００６１】
本実施の形態では、ステップＳ４またはステップＳ５の走査方向が異なるラスター走査を実施することで、非実測点について精度良く高さデータを補間することができる。つまり、ラスター走査によって実測点を探索するため、非実測点に与える影響は走査開始点に近い実測点の方が大きい。そのため、ステップＳ４またはステップＳ５のいずれか一方の走査のみを実施して補間した場合には、補間結果に偏りが生じ、ワーク５の物体形状に類似した補間後の画像が得られない可能性がある。そこで、本実施の形態では、走査方向が異なるラスター走査を交互に実施することで、走査方向の違いによる補間結果の偏りを軽減することができる。
【００６２】
（具体的な処理）
上述の概要した非実測点の高さデータの補間処理について図面を参照して、詳細に説明する。図６は、本発明の実施の形態に係る画像データの他の例を示す図である。補間対象の図６の矩形状の画像ｍのＹ軸方向に延びる縦サイズをＮ、Ｘ軸方向に延びる横サイズをＭとし、画素の縦位置をｊ、横位置をｉとおく。ｊは１，２，３，．．．，Ｎの値をとる。また、ｉは１，２，３，．．．，Ｍの値をとる。
【００６３】
図６のクロスハッチングの画素Ｅ１およびハッチングの画素Ｅ２は、当該画素が実測点であることを示し、ハッチングなしの画素（空白の画素）Ｅ３は非実測点を示す。また、実測点の内、画素Ｅ２は高さＨ１を有し、画素Ｅ１は高さＨ２有し、Ｈ１＞Ｈ２であるとする。説明を簡単にするために、画像上の実測点は、高さＨ１またはＨ２の実測点のみとし、ｄＨ＝｜Ｈ１−Ｈ２｜／２とおく。
【００６４】
ＣＰＵ１１は、図６の画像ｍのデータを入力すると（ステップＳ２）、初期化処理において、画像ｍのデータを走査して実測点の高さの内から、最大値および最小値を算出する（ステップＳ３）。図６の場合、最大値ＨｍａｘはＨ１、最小値ＨｍｉｎはＨ２と算出される。
【００６５】
また、ＣＰＵ１１は、画像ｍと同じサイズの画像Ｆのデータをメモリ１２に用意する。そして、走査により読み込んだ画像ｍの各画素（ｉ，ｊ）について、実測点であるか否かを判定する。実測点であると判定したとき、画像Ｆの対応する画素Ｆ（ｉ，ｊ）に“１”をセットし、そうでないと判定したとき“０”をセットする。
【００６６】
＜ラスター走査＞
図７と図８と図９は、本発明の実施の形態に係るラスター走査を説明するための図である。上記の処理後、ＣＰＵ１１のラスター走査部１２１は、Ｈｓ＝Ｈｍａｘ、Ｈｅ＝Ｈｍｉｎとし、ラスター走査部１２１は画像Ｆを左上端の画素（１，１）から右下端の画素（Ｍ，Ｎ）に向かってラスター走査する。
【００６７】
走査した各画素（ｉ，ｊ）について、その高さｍ（ｉ，ｊ）が[Ｈｓ−ΔＨ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ]の条件を満足し、かつＦ（ｉ，ｊ）＝１の条件を満足する実測点に隣接した画素から非実測点を検出する。この検出手順を、図７を参照して説明する。図７では、破線の円は上記の条件を満たす画素Ｆ（ｉ，ｊ）を示す。ラスター走査部１２１は、画素Ｆ（ｉ，ｊ）について放射方向に隣接した８つの画素Ｆ（ｐ，ｑ）の値を、図７（Ａ）の番号１，２，３…順序で画像Ｆから参照し（読み出し）、参照した画素値に基づき、８つの画素のうちからＦ（ｐ，ｑ）＝０を満足する非実測点（ｐ，ｑ）を探索（決定）する。非実測点が見つかったとき、その高さｍ（ｐ，ｑ）を次の方法で計算する。なお、図８の画像ｍでは、画素（ｉ０，ｊ０）は、この条件を満足する最初の実測点であるとする。
【００６８】
画素（ｉ０，ｊ０）から見て、図７（Ａ）の番号“４”の位置に最初の非実測点を検出した場合を説明する。ラスター走査部１２１は、この非実測点（ｐ０，ｑ０）について、図８（Ａ）に示すように画素（ｐ０，ｑ０）を中心とする周囲８方向に放射状に画素値を参照し、実測点の画素を探索する。各方向の最初に見つかった画素（ｘｎ，ｙｎ）を実測点とする。図８（Ａ）では、８つの実測点が探索されるため、実測点の画素（ｘｎ，ｙｎ）に関してｎ＝１，２，３，．．．，８を取得することができる。
【００６９】
ここで、ラスター走査部１２１は、重みＷｎを、画素（ｐ０，ｑ０）と画素（ｘｎ，ｙｎ）の距離の逆数とする。すなわち、（式２）に基づき重みＷｎを算出する。
【００７０】
【数４】
2015153307.tif 000006
【００７１】
続いて、ラスター走査部１２１は、重みＷｎおよび画素（ｘｎ，ｙｎ）の高さｍ（ｘｎ，ｙｎ）を（式１）のｄｎに代入してデータＤを算出し、算出したデータＤを画素（ｐ０，ｑ０）の高さｍ（ｐ０，ｑ０）にセットする。以後、当該画素（ｐ０，ｑ０）を実測点として扱うため、対応の画素Ｆ（ｐ０，ｑ０）に１をセットする。図８（Ｂ）の画素（ｐ０、ｑ０）が当該画素を示す。
【００７２】
ラスター走査部１２１は、再び、画像ｍの画素（ｉ０，ｊ０）の周囲を参照し、次の非実測点を同様にして探索する。画素（ｉ０，ｊ０）から見て、図７（Ａ）の番号６の位置に次の非実測点を検出する。この番号６の非実測点（ｐ１，ｑ１）について、図８（Ｃ）に示すように放射方向である周囲８方向の最寄りの実測点を見つけ、見つけた実測点を（ｘｎ，ｙｎ）とおく。この結果、図８（Ｃ）では、８つの実測点（ｘｎ，ｙｎ）（ただし、ｎ＝１，２，３，．．，８）を探索することができる。
【００７３】
次に、ラスター走査部１２１は、画素（ｐ０，ｑ０）の場合と同様に、非実測点（ｐ１，ｑ１）について重みＷｎを、（式３）に従い算出する。
【００７４】
【数５】
2015153307.tif 000007
【００７５】
そして、重みＷｎおよび実測点（ｘｎ，ｙｎ）の高さｍ（ｘｎ，ｙｎ）を（式１）のｄｎに代入してデータＤを算出し、算出したデータＤを画素（ｐ１，ｑ１）の高さｍ（ｐ１，ｑ１）にセットする。以後、（ｐ１，ｑ１）を実測点として扱うため、対応の画素Ｆ（ｐ１，ｑ１）に１をセットする。図８（Ｄ）の画素（ｐ１，ｑ１）がこれに相当する。
【００７６】
これ以降、ラスター走査部１２１は、同様の手順で実測点を画像ｍの右下端まで走査する。右下端まで走査したときの、図６の画像ｍの処理結果が、図９に示される。図９の画像ｍでは、非実測点について高さデータが補間されている。図９の画像ｍの白丸の画素Ｅ４は、図６の元の画像では非実測点であったが、ラスター走査部１２１により高さデータが算出されてセットされた実測点の画素に変化している。
【００７７】
ラスター走査部１２１が、画像ｍについて右下端までの走査が完了すると、逆ラスター走査部１２２による走査が実施される。
【００７８】
＜逆のラスター走査＞
逆ラスター走査部１２２は、ラスター走査部１２１によるラスター走査後の図９の画像ｍについて、逆方向に、すなわち画像の右下端から左上端に向けてラスター走査する。現在の高さＨｓの値は高さＨ１を示すが、高さＨｓ（＝Ｈ１）に等しい実測点の周囲に非実測点が存在しないため、逆走査後の画像ｍも図９と同じ状態を示す。
【００７９】
＜加減処理＞
加減処理部１２３は、高さＨｓをｄＨ（ｄＨ＞０）だけ減算する。ＣＰＵ１１は、減算後の高さＨｓは（Ｈｓ＞Ｈｅ）の条件を満たすと判定し（ステップＳ７でＮＯ）、ステップＳ４のラスター走査の処理に戻り、高さデータを補間する画像処理が再度、繰返される。
【００８０】
＜再度のラスター走査および逆のラスター走査＞
図１０〜図１４は、本発明の実施の形態に係る再度のラスター走査を説明するための図である。
【００８１】
再び、図９の画像ｍについて、左上端からのラスター走査と、右下端からの逆ラスター走査が実施されて、非実測点の画素について同様に高さデータが補間される。
【００８２】
ラスター走査部１２１が、図９の画像ｍを左上端からラスター走査した後の画像ｍの状態を図１１に示す。なお、このステップでは、ＨｓはＨ２に等しいとする。
【００８３】
逆ラスター走査部１２２は、図１０の右下端から左上端に向かって画像ｍを走査する。図１０において、画素（ｉ，ｊ）の高さｍ（ｉ，ｊ）が[Ｈｓ−ΔＨ≦ｍ（ｉ，ｊ）かつｍ（ｉ，ｊ）≦Ｈｓ]の条件を満足し、かつＦ（ｉ，ｊ）＝１を満足する実測点について、画素（ｉ，ｊ）に隣接する８つの画素を図７（Ｂ）の順序で参照し、Ｆ（ｐ，ｑ）＝０を満足する非実測点（ｐ，ｑ）を探索する。非実測点が見つかったとき、その高さｍ（ｐ，ｑ）を次の方法で計算する。なお、図１１の画素（ｉ１，ｊ１）は、この条件を満足する最初の実測点である。
【００８４】
画素（ｉ１，ｊ１）から見て、図７（Ｂ）の番号８の位置に最初の非実測点が検出される。この非実測点の画素（ｐ２，ｑ２）について、図１２に示すように画素（ｐ２，ｑ２）を中心とする周囲８方向に放射状に実測点を探索する。各方向について最初に見つかった実測点について画素（ｘｎ，ｙｎ）とおく。図１２では４つの実測点の画素（ｘｎ，ｙｎ）（ただし、ｎは１，２，．．，４である）が探索される。
【００８５】
次に、逆ラスター走査部１２２は、画素（ｐ０，ｑ０）の場合と同様に、非測定点（ｐ２，ｑ２）について重みＷｎを、（式４）に従い算出する。
【００８６】
【数６】
2015153307.tif 000008
【００８７】
そして、重みＷｎおよび実測点（ｘｎ，ｙｎ）の高さｍ（ｘｎ，ｙｎ）を（式１）のｄｎに代入してデータＤを算出し、算出したデータＤを画素（ｐ２，ｑ２）に高さｍ（ｐ２，ｑ２）にセットする。以後、画素（ｐ２，ｑ２）を実測点として扱うため、対応の画素Ｆ（ｐ２，ｑ２）に１をセットする。図１３の画素Ｅ５がこれに相当する。
【００８８】
これ以降、逆ラスター走査部１２２は、同様の手順で画像ｍの実測点を左上端まで走査する。左上端まで走査したときの、画像ｍの状態を図１４に示す。
【００８９】
＜再度の加減処理＞
その後、加厳処理部１２３は、高さＨｓをｄＨ（ｄＨ＞０）だけ減算する。ＣＰＵ１１は、減算後の高さＨｓについて（Ｈｓ≦Ｈｅ）の条件が成立すると判定したとき、高さデータ補間のための画像処理を終了する。
【００９０】
（変形例）
なお、上記の画像処理では、非測定点の高さを補間するために、高さＨがＨｍａｘに等しい実測点から処理を開始したが、必ずしもこれに限定されるわけではなく、Ｈｍｉｎに等しい実測点から始め、高さＨｓをｄＨ（ｄＨ＞０）だけ加算しながら処理を行って、加算後の高さＨｓについて（Ｈｓ≧Ｈｅ）の条件が成立すると判定したとき、高さデータ補間のための画像処理を終了する、としてもよい。
【００９１】
また、本実施の形態では、画像ｍの左上端から右下端または右上端から左下端に向かって走査を行ったが、必ずしもこれに限定するわけではない。４つのコーナーの内のいずれか一つのコーナーから対角のコーナーに向かって走査し、この走査と逆方向の走査とを繰返し実行すればよい。
【００９２】
（補間処理後の表示画像例）
図１５と図１６は、本発明の実施の形態に係る補間処理前後のディスプレイ２０における表示画像例を示す図である。図１５（Ａ）に高さ補間の画像処理前の画像ｍを示す。図１５（Ｂ）には、図１５（Ａ）の画像を本発明の実施の形態に係る方法で高さデータを補間処理した後の表示例を示す。また、図１５（Ａ）と（Ｂ）に対応の画像データに基づき３次元表示した画像を、図１６（Ａ）と（Ｂ）にそれぞれ示す。
【００９３】
図１５（Ａ）では、黒色部分ＢＬが非測定点に相当する。図１５（Ｂ）の補間処理後の画像には黒色部分ＢＬは存在せず、非測定点の高さデータが補間されていることがわかる。
【００９４】
（実施の形態の効果）
本実施の形態によれば、非実測点の画素について、その放射方向に隣接する実測点を利用して当該非実測点の画素についての高さを補間することができるので、比較的少ない数の画素の高さを用いて、比較的短時間で補間処理を終了することができる。
【００９５】
また、非実測点と実測点が離れていても、非実測点の高さを補間することができる。
また、画像について、走査方向が異なる複数のラスター走査が実施されることで、走査方向の違いによる補間結果の偏りを軽減することができる。その結果、補間後の画像について、ワーク５の対象物体形状（表面高さ）により類似した画像を得ることができる。
【００９６】
また、画像において非実測点がランダムに存在する場合でも対象物体形状（表面高さ）に類似した補間処理後の画像を得ることができる。
【００９７】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９８】
１  画像処理装置、２  画像取得装置、１１０  画像入力部、１２０  画像処理部、１２１  ラスター走査部、１２２  逆ラスター走査部、１２３  加減処理部。
【図１】
2015153307.tif 000012
【図２】
2015153307.tif 000013
【図３】
2015153307.tif 000014
【図４】
2015153307.tif 000015
【図５】
2015153307.tif 000016
【図６】
2015153307.tif 000017
【図７】
2015153307.tif 000018
【図８】
2015153307.tif 000019
【図９】
2015153307.tif 000020
【図１０】
2015153307.tif 000021
【図１１】
2015153307.tif 000022
【図１２】
2015153307.tif 000023
【図１３】
2015153307.tif 000024
【図１４】
2015153307.tif 000025
【図１５】
2015153307.tif 000026
【図１６】
2015153307.tif 000027