(57)【特許請求の範囲】
【請求項１】
複数の画素から構成され、被写体の画像を含む画像データを取得する画像データ取得部と、
前記取得された画像データを複数のブロックに分割し、当該複数のブロックのそれぞれについて、当該ブロック内に含まれる画素に対応付けられる画素値を合計した総和データを生成する総和データ生成部と、
前記生成されたそれぞれの総和データのうち、前記ブロックの位置が縦方向に隣り合う２つのブロックの総和データの差分を表す第１種の差分データを生成し、かつ、前記ブロックの位置が横方向に隣り合う２つのブロックの総和データの差分を表す第２種の差分データを生成する差分データ生成部と、
前記第１種の差分データと前記第２種の差分データのうちどちらか一方の差分データを選択し、当該選択された差分データと、当該選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた判定データを生成する判定データ生成部と、
前記生成された判定データに基づいて、前記選択された差分データが表す差分が所定の許容条件を満たすか否かを判別した結果データを生成する結果データ生成部であって、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記画像データ内における位置の分布を求め、当該求めた分布に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する結果データ生成部と、
前記結果データの前記画像データ内における位置を出力する出力部と、
を備え、
前記総和データ生成部は、前記画像データの複数のブロックへの分割の位置を所定方向へ所定画素数分移動して、前記画像データを新たな複数のブロックに分割し、当該新たな複数のブロックのそれぞれについて、当該新たなブロック内に含まれる画素に対応付けられる画素値を合計した新たな総和データを更に生成し、
前記差分データ生成部は、前記新たに生成されたそれぞれの総和データのうち、縦方向に隣り合う２つのブロックの総和データの差分を表す新たな第１種の差分データを更に生成し、かつ、横方向に隣り合う２つのブロックの総和データの差分を表す新たな第２種の差分データを生成し、
前記判定データ生成部は、前記新たな第１種の差分データと前記新たな第２種の差分データのうちどちらか一方の差分データを選択し、当該新たに選択された差分データと、当該新たに選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた新たな判定データを生成し、
前記結果データ生成部は、前記新たに生成された判定データに基づいて、前記新たに選択された差分データが表す差分が前記所定の許容条件を満たすか否かを更に判別した新たな結果データを更に生成する、
ことを特徴とする画像処理装置。
【請求項２】
前記判定データ生成部は、前記第１種の差分データと前記第２種の差分データのうち、前記差分の大きさの絶対値が大きい方の差分データを選択する、
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記判定データ生成部は、前記第１種の差分データと前記第２種の差分データのうち、前記差分の大きさの絶対値が小さい方の差分データを選択する、
ことを特徴とする、請求項１に記載の画像処理装置。
【請求項４】
前記結果データ生成部は、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックのそれぞれに対応付けられる画素間の前記画像データ内における距離に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する、
ことを特徴とする、請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記被写体を撮影する撮影部を更に備え、
前記画像データ取得部は、前記撮影部によって撮影された前記被写体を表す画像データを取得する、
ことを特徴とする、請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記被写体の画像を含む画像データを予め記憶する記憶部を更に備え、
前記画像データ取得部は、前記記憶部に記憶されている画像データを読み出して取得する、
ことを特徴とする、請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記被写体は、運搬装置により運搬される連続的な布帛であり、
前記画像処理装置は、前記布帛の品質を検査する検査制御装置と通信ネットワークを介して接続され、
前記出力部は、前記生成された判定データに基づいて、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記布帛上の位置を判別し、当該判別した位置が運搬装置により所定位置に運搬されたときに当該運搬を停止させるように、前記検査制御装置を制御する、
ことを特徴とする、請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
複数の画素から構成され、被写体の画像を含む画像データを取得する画像データ取得ステップと、
前記取得された画像データを複数のブロックに分割し、当該複数のブロックのそれぞれについて、当該ブロック内に含まれる画素に対応付けられる画素値を合計した総和データを生成する総和データ生成ステップと、
前記生成されたそれぞれの総和データのうち、前記ブロックの位置が縦方向に隣り合う２つのブロックの総和データの差分を表す第１種の差分データを生成し、かつ、前記ブロックの位置が横方向に隣り合う２つのブロックの総和データの差分を表す第２種の差分データを生成する差分データ生成ステップと、
前記第１種の差分データと前記第２種の差分データのうちどちらか一方の差分データを選択し、当該選択された差分データと、当該選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた判定データを生成する判定データ生成ステップと、
前記生成された判定データに基づいて、前記選択された差分データが表す差分が所定の許容条件を満たすか否かを判別した結果データを生成する結果データ生成ステップであって、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記画像データ内における位置の分布を求め、当該求めた分布に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する結果データ生成ステップと、
前記結果データの前記画像データ内における位置を出力する出力ステップと、
を備え、
前記総和データ生成部は、前記画像データの複数のブロックへの分割の位置を所定方向へ所定画素数分移動して、前記画像データを新たな複数のブロックに分割し、当該新たな複数のブロックのそれぞれについて、当該新たなブロック内に含まれる画素に対応付けられる画素値を合計した新たな総和データを更に生成し、
前記差分データ生成部は、前記新たに生成されたそれぞれの総和データのうち、縦方向に隣り合う２つのブロックの総和データの差分を表す新たな第１種の差分データを更に生成し、かつ、横方向に隣り合う２つのブロックの総和データの差分を表す新たな第２種の差分データを生成し、
前記判定データ生成部は、前記新たな第１種の差分データと前記新たな第２種の差分データのうちどちらか一方の差分データを選択し、当該新たに選択された差分データと、当該新たに選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた新たな判定データを生成し、
前記結果データ生成部は、前記新たに生成された判定データに基づいて、前記新たに選択された差分データが表す差分が前記所定の許容条件を満たすか否かを更に判別した新たな結果データを更に生成する、
ことを特徴とする画像処理方法。
【請求項９】
コンピュータを、
複数の画素から構成され、被写体の画像を含む画像データを取得する画像データ取得部、
前記取得された画像データを複数のブロックに分割し、当該複数のブロックのそれぞれについて、当該ブロック内に含まれる画素に対応付けられる画素値を合計した総和データを生成する総和データ生成部、
前記生成されたそれぞれの総和データのうち、前記ブロックの位置が縦方向に隣り合う２つのブロックの総和データの差分を表す第１種の差分データを生成し、かつ、前記ブロックの位置が横方向に隣り合う２つのブロックの総和データの差分を表す第２種の差分データを生成する差分データ生成部、
前記第１種の差分データと前記第２種の差分データのうちどちらか一方の差分データを選択し、当該選択された差分データと、当該選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた判定データを生成する判定データ生成部、
前記生成された判定データに基づいて、前記選択された差分データが表す差分が所定の許容条件を満たすか否かを判別した結果データを生成する結果データ生成部であって、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記画像データ内における位置の分布を求め、当該求めた分布に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する結果データ生成部、
前記結果データの前記画像データ内における位置を出力する出力部、
として機能させ、
前記総和データ生成部は、前記画像データの複数のブロックへの分割の位置を所定方向へ所定画素数分移動して、前記画像データを新たな複数のブロックに分割し、当該新たな複数のブロックのそれぞれについて、当該新たなブロック内に含まれる画素に対応付けられる画素値を合計した新たな総和データを更に生成し、
前記差分データ生成部は、前記新たに生成されたそれぞれの総和データのうち、縦方向に隣り合う２つのブロックの総和データの差分を表す新たな第１種の差分データを更に生成し、かつ、横方向に隣り合う２つのブロックの総和データの差分を表す新たな第２種の差分データを生成し、
前記判定データ生成部は、前記新たな第１種の差分データと前記新たな第２種の差分データのうちどちらか一方の差分データを選択し、当該新たに選択された差分データと、当該新たに選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた新たな判定データを生成し、
前記結果データ生成部は、前記新たに生成された判定データに基づいて、前記新たに選択された差分データが表す差分が前記所定の許容条件を満たすか否かを更に判別した新たな結果データを更に生成する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、製品の欠損等がある部分を検出するために好適な画像処理装置、画像処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
布帛などの製品の製造工程においては、一般に、製品（検査対象物）の表面に生ずる微細な欠陥や、染色された製品の染めムラなどの欠陥を検出することにより、製品を検査している。近年の自動化された製造工程では、検査対象物を撮影し、画像処理を行うことにより、検査対象物の表面を検査することが行われている。
【０００３】
例えば、特許文献１には、検査対象物を撮影した画像データにおいて、欠陥検出用のブロックの一部分が、そのブロックに隣接する他のブロックの一部分と重なるように設定し、画素の濃度値を積算した積算値を所定しきい値と比較することにより、製品の欠陥を検出する欠陥検出装置が開示されている。また、例えば特許文献２には、画像データ内の隣接する主走査ラインにまたがっている欠陥を検出する表面検査装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２６５４６７号公報
【特許文献２】特開２００９−０６３５９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術によれば、撮影時の照明のムラや、例えば布帛の場合における地合と呼ばれる表面感やシワなどの検査対象物の表面の凹凸による影響が大きく、ダイナミックレンジなどの撮影環境を検査対象物ごとに合わせて整え直す必要があった。また、主走査ラインと平行な方向の欠陥、あるいは直行する方向の欠陥を検出できないという問題があった。
【０００６】
本発明はこのような課題を解決するものであり、製品の欠損等がある部分を検出するために好適な画像処理装置、画像処理方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
以上の目的を達成するため、本発明の第１の観点に係る画像処理装置は、
複数の画素から構成され、被写体の画像を含む画像データを取得する画像データ取得部と、
前記取得された画像データを複数のブロックに分割し、当該複数のブロックのそれぞれについて、当該ブロック内に含まれる画素に対応付けられる画素値を合計した総和データを生成する総和データ生成部と、
前記生成されたそれぞれの総和データのうち、前記ブロックの位置が縦方向に隣り合う２つのブロックの総和データの差分を表す第１種の差分データを生成し、かつ、前記ブロックの位置が横方向に隣り合う２つのブロックの総和データの差分を表す第２種の差分データを生成する差分データ生成部と、
前記第１種の差分データと前記第２種の差分データのうちどちらか一方の差分データを選択し、当該選択された差分データと、当該選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた判定データを生成する判定データ生成部と、
前記生成された判定データに基づいて、前記選択された差分データが表す差分が所定の許容条件を満たすか否かを判別した結果データを生成する結果データ生成部であって、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記画像データ内における位置の分布を求め、当該求めた分布に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する結果データ生成部と、
前記結果データの前記画像データ内における位置を出力する出力部と、
を備え、
前記総和データ生成部は、前記画像データの複数のブロックへの分割の位置を所定方向へ所定画素数分移動して、前記画像データを新たな複数のブロックに分割し、当該新たな複数のブロックのそれぞれについて、当該新たなブロック内に含まれる画素に対応付けられる画素値を合計した新たな総和データを更に生成し、
前記差分データ生成部は、前記新たに生成されたそれぞれの総和データのうち、縦方向に隣り合う２つのブロックの総和データの差分を表す新たな第１種の差分データを更に生成し、かつ、横方向に隣り合う２つのブロックの総和データの差分を表す新たな第２種の差分データを生成し、
前記判定データ生成部は、前記新たな第１種の差分データと前記新たな第２種の差分データのうちどちらか一方の差分データを選択し、当該新たに選択された差分データと、当該新たに選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた新たな判定データを生成し、
前記結果データ生成部は、前記新たに生成された判定データに基づいて、前記新たに選択された差分データが表す差分が前記所定の許容条件を満たすか否かを更に判別した新たな結果データを更に生成する、
ことを特徴とする。
【０００９】
前記判定データ生成部は、前記第１種の差分データと前記第２種の差分データのうち、前記差分の大きさの絶対値が大きい方の差分データを選択してもよい。
【００１０】
前記判定データ生成部は、前記第１種の差分データと前記第２種の差分データのうち、前記差分の大きさの絶対値が小さい方の差分データを選択してもよい。
【００１２】
前記結果データ生成部は、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックのそれぞれに対応付けられる画素間の前記画像データ内における距離に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成してもよい。
【００１３】
前記被写体を撮影する撮影部を更に備え、
前記画像データ取得部は、前記撮影部によって撮影された前記被写体を表す画像データを取得してもよい。
【００１４】
前記被写体の画像を含む画像データを予め記憶する記憶部を更に備え、
前記画像データ取得部は、前記記憶部に記憶されている画像データを読み出して取得してもよい。
【００１５】
前記被写体は、運搬装置により運搬される連続的な布帛であり、
前記画像処理装置は、前記布帛の品質を検査する検査制御装置と通信ネットワークを介して接続され、
前記出力部は、前記生成された判定データに基づいて、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記布帛上の位置を判別し、当該判別した位置が運搬装置により所定位置に運搬されたときに当該運搬を停止させるように、前記検査制御装置を制御してもよい。
【００１６】
本発明の第２の観点に係る画像処理方法は、
複数の画素から構成され、被写体の画像を含む画像データを取得する画像データ取得ステップと、
前記取得された画像データを複数のブロックに分割し、当該複数のブロックのそれぞれについて、当該ブロック内に含まれる画素に対応付けられる画素値を合計した総和データを生成する総和データ生成ステップと、
前記生成されたそれぞれの総和データのうち、前記ブロックの位置が縦方向に隣り合う２つのブロックの総和データの差分を表す第１種の差分データを生成し、かつ、前記ブロックの位置が横方向に隣り合う２つのブロックの総和データの差分を表す第２種の差分データを生成する差分データ生成ステップと、
前記第１種の差分データと前記第２種の差分データのうちどちらか一方の差分データを選択し、当該選択された差分データと、当該選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた判定データを生成する判定データ生成ステップと、
前記生成された判定データに基づいて、前記選択された差分データが表す差分が所定の許容条件を満たすか否かを判別した結果データを生成する結果データ生成ステップであって、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記画像データ内における位置の分布を求め、当該求めた分布に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する結果データ生成ステップと、
前記結果データの前記画像データ内における位置を出力する出力ステップと、
を備え、
前記総和データ生成部は、前記画像データの複数のブロックへの分割の位置を所定方向へ所定画素数分移動して、前記画像データを新たな複数のブロックに分割し、当該新たな複数のブロックのそれぞれについて、当該新たなブロック内に含まれる画素に対応付けられる画素値を合計した新たな総和データを更に生成し、
前記差分データ生成部は、前記新たに生成されたそれぞれの総和データのうち、縦方向に隣り合う２つのブロックの総和データの差分を表す新たな第１種の差分データを更に生成し、かつ、横方向に隣り合う２つのブロックの総和データの差分を表す新たな第２種の差分データを生成し、
前記判定データ生成部は、前記新たな第１種の差分データと前記新たな第２種の差分データのうちどちらか一方の差分データを選択し、当該新たに選択された差分データと、当該新たに選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた新たな判定データを生成し、
前記結果データ生成部は、前記新たに生成された判定データに基づいて、前記新たに選択された差分データが表す差分が前記所定の許容条件を満たすか否かを更に判別した新たな結果データを更に生成する、
ことを特徴とする。
【００１７】
本発明の第３の観点に係るプログラムは、
コンピュータを、
複数の画素から構成され、被写体の画像を含む画像データを取得する画像データ取得部、
前記取得された画像データを複数のブロックに分割し、当該複数のブロックのそれぞれについて、当該ブロック内に含まれる画素に対応付けられる画素値を合計した総和データを生成する総和データ生成部、
前記生成されたそれぞれの総和データのうち、前記ブロックの位置が縦方向に隣り合う２つのブロックの総和データの差分を表す第１種の差分データを生成し、かつ、前記ブロックの位置が横方向に隣り合う２つのブロックの総和データの差分を表す第２種の差分データを生成する差分データ生成部、
前記第１種の差分データと前記第２種の差分データのうちどちらか一方の差分データを選択し、当該選択された差分データと、当該選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた判定データを生成する判定データ生成部、
前記生成された判定データに基づいて、前記選択された差分データが表す差分が所定の許容条件を満たすか否かを判別した結果データを生成する結果データ生成部であって、前記選択された差分データが表す差分が前記所定の許容条件を満たさないブロックの前記画像データ内における位置の分布を求め、当該求めた分布に基づいて、前記所定の許容条件を満たさないブロックに対応する前記被写体の画像内における位置を判別することにより、前記結果データを生成する結果データ生成部、
前記結果データの前記画像データ内における位置を出力する出力部、
として機能させ、
前記総和データ生成部は、前記画像データの複数のブロックへの分割の位置を所定方向へ所定画素数分移動して、前記画像データを新たな複数のブロックに分割し、当該新たな複数のブロックのそれぞれについて、当該新たなブロック内に含まれる画素に対応付けられる画素値を合計した新たな総和データを更に生成し、
前記差分データ生成部は、前記新たに生成されたそれぞれの総和データのうち、縦方向に隣り合う２つのブロックの総和データの差分を表す新たな第１種の差分データを更に生成し、かつ、横方向に隣り合う２つのブロックの総和データの差分を表す新たな第２種の差分データを生成し、
前記判定データ生成部は、前記新たな第１種の差分データと前記新たな第２種の差分データのうちどちらか一方の差分データを選択し、当該新たに選択された差分データと、当該新たに選択された差分データに対応するブロックの前記画像データ内における位置と、を対応付けた新たな判定データを生成し、
前記結果データ生成部は、前記新たに生成された判定データに基づいて、前記新たに選択された差分データが表す差分が前記所定の許容条件を満たすか否かを更に判別した新たな結果データを更に生成する、
ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、製品の欠損等がある部分を検出するために好適な画像処理装置、画像処理方法、及び、プログラムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】画像処理装置のハードウェア構成を説明するための図である。
【図２】画像データの構成を説明するための図である。
【図３】画像データ内に設定されるブロックを説明するための図である。
【図４】画像データをブロックで分割する処理を説明するための図である。
【図５】画像データをブロックで分割する処理を説明するための図である。
【図６】判定データを説明するための図である。
【図７】結果データを説明するための図である。
【図８】画像処理を説明するためのフローチャートである。
【図９】実施形態２における結果データの構成例を示す図である。
【図１０】実施形態３における画像処理装置を含む、布帛の生産ラインの概要を示す図である。
【発明を実施するための形態】
【００２０】
（実施形態１）
まず、本実施形態の画像処理装置１００のハードウェア構成について、図１を用いて説明する。画像処理装置１００は、制御部１０１、ＲＯＭ(Read Only Memory)１０２、ＲＡＭ(Random Access Memory)１０３、記憶装置１０４、通信部１０５、撮影部１０６、音声処理部１０７、画像処理部１０８、入力装置１０９を備える。
【００２１】
制御部１０１は、ＣＰＵ(Central Processing Unit)などから構成され、ＲＯＭ１０２に予め格納されたプログラムを読み出して実行することにより、画像処理装置１００の全体を制御する。制御部１０１は、レジスターという高速アクセスが可能な記憶域に対してＡＬＵ(Arithmetic Logic Unit)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。例えば、制御部１０１は、画像処理部１０８を制御して、撮影部１０６によって撮影された画像データを用いて後述のように画像処理を行う。
【００２２】
ＲＯＭ１０２は、オペレーティングシステム（ＯＳ）、プログラム、その他のデータ等を予め記憶する不揮発性メモリである。
【００２３】
ＲＡＭ１０３は、データやプログラムを一時的に記憶する。ＲＡＭ１０３には、記憶装置１０４から読み出したプログラムやデータが記憶される。また、制御部１０１は、ＲＡＭ１０３に変数領域を設け、この変数領域に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ１０３に格納された値を一旦レジスターに格納してからレジスターに対して演算を行ったりして、演算結果をＲＡＭ１０３に書き戻す、などの処理を行う。
【００２４】
記憶装置１０４は、ハードディスクドライブを備え、ＯＳや、後述する画像処理を行うためのプログラムなどを記憶する。また、記憶装置１０４は、画像処理により最終的に得られたデータや、画像処理の途中に得られた各種のデータ等を記憶する。記憶装置１０４に記憶されるデータは、制御部１０１により、随時書き換え可能である。
【００２５】
通信部１０５は、ＬＡＮ（Local Area Network）やインターネット等の通信ネットワークに接続するためのＮＩＣ(Network Interface Card)を備える。
【００２６】
撮影部１０６は、少なくとも１つのカメラを備え、被写体を撮影し、画像データを取得する。撮影部１０６は２つ以上のカメラを備えていてもよい。取得された画像データは記憶装置１０４に保存され、後述する画像処理に用いられる。撮影部１０６によって取得される画像データは、複数の所定数の画素の集合によって構成される。画像データはグレースケールデータや２値データでもよいが、本実施形態では、１つの画素にＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）の３色が対応付けられるカラーデータとする。ただし、後述するように、画像データのフォーマットは任意である。
【００２７】
音声処理部１０７は、記憶装置１０４から読み出した音声データをアナログ音声信号に変換し、音声をスピーカー１５１から出力する。制御部１０１は、音声処理部１０７を制御して、任意のタイミングで音声データを再生してスピーカー１５１から再生音を出力することができる。また、音声処理部１０７は、マイクロフォン１５２で集音した音声をデジタル音声信号に変換し、制御部１０１に入力する。
【００２８】
画像処理部１０８は、記憶装置１０４から読み出された画像データを、制御部１０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、画像処理部１０８が備えるフレームメモリーに記録する。フレームメモリーに記録された画像データは、所定の同期タイミングでビデオ信号に変換され、画像処理部１０８に接続されるモニター１５３へ映像として出力される。
【００２９】
入力装置１０９は、キーボード、マウス、電源ボタン等を備え、キーやボタンが押圧されたりマウスが動かされたりすることによるユーザーからの様々な指示入力を受け付ける。
【００３０】
次に、上記ハードウェア構成を有する画像処理装置１００が行う画像処理の詳細について説明する。本実施形態の画像処理装置１００は、シート状の被写体である繊維製品（布帛）やフィルム等の表面を撮影し、画像処理を行って、布帛やフィルム等の表面の欠損、欠陥、染めムラがある場所を検出する。
【００３１】
図２は、撮影部１０６によって被写体を撮影して得られる画像データ２００の構成を示す図である。画像データ２００内に直行座標系（Ｉ−Ｊ座標系）を定義する。画像データ２００は、Ｉ軸方向（横方向）へＭ列、Ｊ軸方向（縦方向）へＮ行、格子状に配置されるＭ×Ｎ個の画素からなる、Ｎ行Ｍ列の画素の集合である。以下の説明において、図２等の図面における画像データ２００の左上隅の画素を基点として、Ｉ軸方向へｉ番目（ｉ列目）、Ｊ軸方向へｊ番目（ｊ行目）の画素に対応付けられる画素値を、ｐｉ，ｊと表す。
【００３２】
典型的には、画素値ｐｉ，ｊは、Ｒ（レッド）の強度を示す値と、Ｇ（グリーン）の強度を示す値と、Ｂ（ブルー）の強度を示す値と、の組み合わせによって表される。ある画素に対応付けられた“Ｒ”の強度がｒ、“Ｇ”の強度がｇ、“Ｂ”の強度がｂであるとき、画素値ｐｉ，ｊは［数１］のように表される。ただし、ｉは１以上Ｍ以下の整数、ｊは１以上Ｎ以下の整数である。
【００３３】
【数１】
0005400087.tif 000002
【００３４】
制御部１０１は、画像データ２００の画素数を決定する上記パラメーターＮ，Ｍを任意に設定することができる。また、制御部１０１は、画像データ２００の色解像度、つまりＲの強度とＧの強度とＢの強度のそれぞれの階調数を任意に設定することができる。例えば、制御部１０１は、縦に２０４８画素（＝Ｎ）、横に４０９６画素（＝Ｍ）、色数が１８ビットカラー（２６２１４４色；ＲＧＢが各６４階調）、などというように、画像データ２００の属性を設定する。そして、制御部１０１は、撮影部１０６を制御して、設定した画像サイズと階調数を用いて被写体を撮影し、画像データ２００を取得する。
【００３５】
なお、制御部１０１は、画像処理を行うたびに被写体を撮影して画像データ２００を取得してもよいし、過去に撮影して記憶装置１０４等に保存された画像データ２００を読み出して取得してもよい。
【００３６】
画像データ２００を取得すると、制御部１０１は、所定数の画素から構成される複数のブロックに、論理的に画像データ２００を分割する。１つのブロックに含まれる画素数は任意であるが、各ブロック内の画素数は同じとする。例えば、制御部１０１は、画像データ２００を、Ｉ軸（横）方向へｗ個、Ｊ軸（縦）方向へｈ個の画素から構成される複数のブロックに分割する。ｗは２以上（Ｍ／２）以下の整数、ｈは２以上（Ｎ／２）以下の整数である。
【００３７】
例えば、制御部１０１は、Ｍをｗの整数倍になるように設定し、Ｎをｈの整数倍になるように設定することにより、画像データ２００全体をすべて同じブロックで分割することができる。ただし、制御部１０１は、各パラメーターＭ，Ｎ，ｗ，ｈの値を自由に設定することができる。
【００３８】
制御部１０１は、各パラメーターＭ，Ｎ，ｗ，ｈの値を適宜変更できるようにしてもよい。制御部１０１は、ユーザーからの入力に基づいて、例えば、パラメーターｗ，ｈを２から２５６まで、パラメーターＭ，Ｎを２５６から６５５３６まで、といったように、各パラメーターＭ，Ｎ，ｗ，ｈの値をＲＡＭ１０３が許容する範囲内で変更してもよい。このようにユーザーが各値を任意に変更しカスタマイズできるようにしてもよい。
【００３９】
図３は、同じ大きさの複数のブロック３１０（本図中では３１０１，３１０２，３１０３などと記載）に論理的に分割された画像データ２００を示す図である。１つのブロックには、（ｗ×ｈ）個の画素が含まれる。画像データ２００は、（Ｍ×Ｎ）／（ｗ×ｈ）個の同じ大きさのブロックに分割されている。一般には、ブロックの総数は、［数２］によって表される。ただし、演算子“ｉｎｔ（Ａ）”は、実数Ａの整数部分を表す。
【００４０】
【数２】
0005400087.tif 000003
【００４１】
制御部１０１は、同一ブロック内のすべての画素に対応付けられる画素値の総和を計算する（積算する）。座標（ｉ，ｊ）の画素を左上頂点にもつブロック内に含まれるすべての画素の画素値を合計した値Ｓｉ，ｊは、［数３］のように表される。
【００４２】
【数３】
0005400087.tif 000004
【００４３】
上記［数１］のようにＲ，Ｇ，Ｂの３次元の画素値を扱う場合、制御部１０１は、Ｒ，Ｇ，Ｂのそれぞれについて、画素値の総和を計算する。値Ｓｉ，ｊを、Ｉ軸方向にｉ番目、Ｊ軸方向にｊ番目の画素に対応する「総和データ」と呼ぶ。制御部１０１は、取得した総和データを記憶装置１０４に記憶する。
【００４４】
例えば図３において、制御部１０１は、ブロック３１０１内に含まれるすべての画素に対応付けられた画素値の合計、つまり総和データＳ１，１を求める。同様に、制御部１０１は、右隣のブロック３１０２内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳｗ＋１，１、下隣ブロック３１０３内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳ１，ｈ＋１などを求める。制御部１０１は、画像データ２００内に設定されたすべてのブロックについて総和データを求める。
【００４５】
次に、制御部１０１は、Ｉ軸方向又はＪ軸方向に隣り合う２つのブロックの総和データの差分を計算する。２つの総和データの差分を表すデータを「差分データ」と呼ぶ。
【００４６】
詳細には、制御部１０１は、Ｉ軸方向にｉ番目、Ｊ軸方向にｊ番目の画素を左上頂点にもつブロックの総和データＳｉ，ｊと、このブロックとＪ軸方向へ隣接する、Ｉ軸方向にｉ番目、Ｊ軸方向に（ｊ＋ｈ）番目の画素を左上頂点にもつブロックの総和データＳｉ，ｊ＋ｈと、の差分データＤ１ｉ，ｊを求める。
【００４７】
【数４】
0005400087.tif 000005
【００４８】
Ｉ軸方向（横方向）に隣り合う総和データ同士の差分を表す差分データＤ１ｉ，ｊを「第１種の差分データ」とも言う。［数３］と［数４］から、差分データＤ１ｉ，ｊは［数５］のように表される。
【００４９】
【数５】
0005400087.tif 000006
【００５０】
また、制御部１０１は、Ｉ軸方向にｉ番目、Ｊ軸方向にｊ番目の画素を左上頂点にもつブロックの総和データＳｉ，ｊと、このブロックとＩ軸方向へ隣接する、Ｉ方向に（ｉ＋ｗ）番目、Ｊ方向にｊ番目の画素を左上頂点にもつブロックの総和データＳｉ＋ｗ，ｊと、の差分データＤ２ｉ，ｊを求める。
【００５１】
【数６】
0005400087.tif 000007
【００５２】
Ｊ軸方向（縦方向）に隣り合う総和データ同士の差分を表す差分データＤ２ｉ，ｊを「第２種の差分データ」とも言う。［数３］と［数６］から、差分データＤ２ｉ，ｊは［数７］のように表される。
【００５３】
【数７】
0005400087.tif 000008
【００５４】
制御部１０１は、画像データ２００内に設定されたすべてのブロックについて、第１種の差分データと第２種の差分データを求める。ただし、Ｉ軸方向にｉｎｔ（Ｍ／ｗ）番目のブロック（最も右端のブロック）にはＩ軸の正方向へ隣接する他のブロックが存在しないので、差分データの計算対象から除外する。同様に、Ｊ軸方向にｉｎｔ（Ｎ／ｈ）番目のブロック（最も下端のブロック）にはＪ軸の正方向へ隣接する他のブロックが存在しないので、差分データの計算対象から除外する。制御部１０１は、取得した第１種の差分データと第２種の差分データを記憶装置１０４に記憶する。
【００５５】
この段階で、１つのブロックには第１種と第２種の２つの差分データが得られている。制御部１０１は、ブロックのそれぞれについて、第１種の差分データと第２種の差分データのうちどちらか一方を選択する。例えば、制御部１０１は、第１種の差分データと第２種の差分データのうち、絶対値が大きい方の差分データを選択する。
【００５６】
あるいは、制御部１０１は、第１種の差分データと第２種の差分データのうち、絶対値が小さい方の差分データを選択してもよい。
【００５７】
第１種の差分データと第２種の差分データのうち、選択された方の差分データを「判定データ」と呼ぶ。判定データの選択方法は上述のものに限られず、適宜変形例を採用することが可能である。
【００５８】
制御部１０１は、図４に示すように、設定するブロックの位置をＩ軸方向へ１画素だけずらして、総和データ、差分データ、判定データの生成を再び行う。
【００５９】
図４においては、制御部１０１は、複数のブロック４１０（本図中では４１０１，４１０２，４１０３などと記載）に論理的に画像データ２００を分割している。ただし、ブロックの位置が１画素分ずれたことにより、画像データ２００に含まれる画素のうち一部の画素はいずれのブロックにも属さない。いずれのブロックにも属さない画素は、総和データと差分データの計算対象から除外される。例えば、横幅が「ｗ」のブロック４１０を画像データ２００内に設定し、Ｍをｗの整数倍に設定する場合においては、Ｉ軸方向の１列目の画素や、画像データ２００の右端から（ｗ−１）列分の画素は、総和データと差分データの計算対象から除外される。
【００６０】
制御部１０１は、ブロック４１０１内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳ２，１、ブロック４１０２内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳｗ＋２，１、ブロック４１０３内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳ２，ｈ＋１などを求める。制御部１０１は、画像データ２００内に設定されたすべてのブロックについて総和データを求める。
【００６１】
同様にして、制御部１０１は、設定するブロックの位置をＩ軸方向へさらに１画素だけずらし、それぞれのブロックについて総和データを生成し、位置をずらす量が（ｗ−１）になるまで、総和データの生成を繰り返す。
【００６２】
さらに、制御部１０１は、すべてのブロックのそれぞれについて、第１種の差分データと第２種の差分データを生成する。そして、制御部１０１は、第１種の差分データと第２種の差分データのうちどちらか一方を選択することにより、それぞれのブロックについて判定データを取得する。
【００６３】
また、制御部１０１は、図５に示すように、設定するブロックの位置をＪ軸方向へ１画素だけずらして、総和データ、差分データ、判定データの生成を再び行う。
【００６４】
図５においては、制御部１０１は、複数のブロック５１０（本図中では５１０１，５１０２，５１０３などと記載）に論理的に画像データ２００を分割している。ただし、ブロックの位置が１画素分ずれたことにより、画像データ２００に含まれる画素のうち一部の画素はいずれのブロックにも属さない。いずれのブロックにも属さない画素は、総和データと差分データの計算対象から除外される。例えば縦幅が「ｈ」のブロック５１０を画像データ２００内に設定する場合、Ｊ軸方向の１列目の画素や、画像データ２００の下端から（ｈ−１）列分の画素は、総和データと差分データの計算対象から除外される。
【００６５】
制御部１０１は、ブロック５１０１内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳ１，２、ブロック５１０２内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳｗ＋１，２、ブロック５１０３内に含まれるすべての画素に対応付けられた画素値の合計を表す総和データＳ１，ｈ＋２などを求める。制御部１０１は、画像データ２００内に設定されたすべてのブロックについて総和データを求める。
【００６６】
同様にして、制御部１０１は、設定するブロックの位置をＪ軸方向へさらに１画素だけずらし、それぞれのブロックについて総和データを生成し、位置をずらす量が（ｈ−１）になるまで、総和データの生成を繰り返す。
【００６７】
さらに、制御部１０１は、すべてのブロックのそれぞれについて、第１種の差分データと第２種の差分データを生成する。そして、制御部１０１は、第１種の差分データと第２種の差分データのうちどちらか一方を選択することにより、それぞれのブロックについて判定データを取得する。
【００６８】
これらの結果、画像データ２００に含まれるすべての画素のうち、「１≦ｉ≦Ｍ−ｗ、且つ、１≦ｊ≦Ｎ−ｈ」の条件を満たす画素を左上頂点にもつブロックのそれぞれについて、判定データが取得される。
【００６９】
図６は、取得されたすべての判定データをＩ−Ｊ空間上に配置して得られる、擬似的な画像データ６００である。擬似的な画像データ６００のサイズは、元の画像データ２００と比べて、縦に（２ｈ−１）だけ、横に（２ｗ−１）だけ小さい。画像データ２００がＲ値，Ｇ値，Ｂ値の３次元で表される場合、取得される判定データもＲ値，Ｇ値，Ｂ値の３次元で表される。上記の演算過程において、画素値の総和あるいは差分を計算しているため、判定データのＲ，Ｇ，Ｂが元の画像データ２００の階調範囲内に収まらない可能性がある。このため、ここでは“擬似的な”画像データ６００と表現している。以下の説明において、判定データが示す画素値に対応する値も、便宜上、画素値と呼ぶことにする。
【００７０】
本実施形態では、擬似的な画像データ６００は、直接モニターに表示されることはないが、ユーザーからの指示により、あるいは、所定のアルゴリズムにより、画像処理装置１００がこの擬似的な画像データ６００をモニターに表示してユーザーに提示してもよい。擬似的な画像データ６００をモニターに表示する場合、制御部１０１は、上記の演算の結果得られた各判定データが示す画素値が、所定の階調数の範囲内に収まっているか否かを判別し、収まっていないと判別した場合、この所定の階調数の範囲内に収まるように判定データを変更することが望ましい。
【００７１】
例えば、元の画像データ２００がＲ，Ｇ，Ｂの各２５６階調で作成されていた場合には、制御部１０１は、各判定データが示す画素値に対応する値を０以上２５５以下の整数になるように調整する。制御部１０１は、判定データの各画素値が２５６以上の場合には上限値２５５に固定し、０（ゼロ）未満の場合には下限値０に固定するとよい。
【００７２】
そして、制御部１０１は、取得された判定データのそれぞれについて、所定の許容条件を満たすか否かを判別する。
【００７３】
許容条件の決め方には様々なバリエーションがある。
例えば、制御部１０１は、「判定データの画素値のいずれもが所定値以下であること」を許容条件とすることができる。制御部１０１は、判定データのＲ値が第１の所定値以下か否かを判別し、判定データのＧ値が第２の所定値以下か否かを判別し、判定データのＢ値が第３の所定値以下か否かを判別する。第１の所定値と第２の所定値と第３の所定値はすべて同じでもよいし、異なっていてもよい。そして、制御部１０１は、判定データの画素値がいずれも所定値以下であると判別した場合、許容条件を満たすと判別し、その判定データに許容条件を満たす旨を示す第１の値（典型的には「１」）を対応付ける。一方、制御部１０１は、判定データの画素値のいずれか１つ以上が所定値以下ではないと判別した場合、許容条件を満たさないと判別し、その判定データに許容条件を満たさない旨を示す第２の値（典型的には「０」）を対応付ける。判別結果は、「検出データ」として記憶装置１０４に記憶される。
【００７４】
あるいは、制御部１０１は、「判定データの画素値のうち所定個数以上が、所定値以下であること」を許容条件としてもよい。制御部１０１は、判定データのＲ値が第１の所定値以下か否かを判別し、判定データのＧ値が第２の所定値以下か否かを判別し、判定データのＢ値が第３の所定値以下か否かを判別する。そして、制御部１０１は、Ｒ値とＧ値とＢ値のうち所定値以下であるものが２つ以上の場合、許容条件を満たすと判別し、その判定データに許容条件を満たす旨を示す第１の値を対応付ける。一方、制御部１０１は、Ｒ値とＧ値とＢ値のうち所定値以下であるものが２つ未満の場合、許容条件を満たさないと判別し、その判定データに許容条件を満たさない旨を示す第２の値を対応付ける。
【００７５】
また、制御部１０１は、「判定データの画素値のいずれもが、所定値“以上”であること」や、「判定データの画素値のうち所定個数以上が、所定値“以上”であること」を許容条件としてもよい。
【００７６】
さらには、制御部１０１は、「判定データの画素値のいずれもが、所定の下限値以上、且つ、所定の上限値以下であること」や、「判定データの画素値のうち所定個数以上が、所定の下限値以上、且つ、所定の上限値以下であること」を許容条件としてもよい。下限値と上限値は任意である。
【００７７】
例えば図７に、判定結果を表すデータ（以下「結果データ」という。）を示す。Ｉ軸方向へｉ番目、Ｊ軸方向へｊ番目の画素に対応付けられた結果データは「１」、つまり許容条件を満たす旨の値である。一方、Ｉ軸方向へ（ｉ＋１）番目、Ｊ軸方向へｊ番目の画素に対応付けられた結果データと、Ｉ軸方向へｉ番目、Ｊ軸方向へ（ｊ＋１）番目の画素に対応付けられた結果データと、Ｉ軸方向へ（ｉ＋１）番目、Ｊ軸方向へ（ｊ＋１）番目の画素に対応付けられた結果データは「０」、つまり許容条件を満たさない旨の値である。
【００７８】
許容条件を満たさない旨の値の結果データが対応付けられた画素は、被写体（本実施形態では、布帛）の表面の様子が他の場所と異なっていることを表しており、ほぼ均一に作られているはずの布帛の表面のうち、欠損、欠陥、染めムラ等がある可能性が高い場所に相当する。従って、結果データの分布を解析することにより、被写体の表面の欠損、欠陥、染めムラ等を検出できるようになる。
【００７９】
次に、本実施形態の画像処理装置１００が行う画像処理の流れについて、図８のフローチャートを用いて説明する。
【００８０】
まず、制御部１０１は、撮影部１０６を制御して、被写体を撮影し、画像データ２００を取得する（ステップＳ８０１）。ただし、制御部１０１は、過去に撮影し記憶装置１０４に保存されていた画像データ２００を読み出して取得してもよい。
【００８１】
制御部１０１は、取得した画像データ２００を論理的に分割するブロックの、頂点の画素の座標を求める（ステップＳ８０２）。
【００８２】
例えば、画像データ２００を大きさの等しい複数のブロックで分割する場合、制御部１０１は、上述のようにＭをｗの整数倍になるように設定し、Ｎをｈの整数倍になるように設定する。そして、制御部１０１は、各ブロックの左上頂点の画素（Ｉ座標，Ｊ座標が共に最小となる画素）の座標を求める。
【００８３】
制御部１０１は、画像データ２００を複数のブロックに分割する（ステップＳ８０３）。
【００８４】
制御部１０１は、各ブロックの総和データを取得する（ステップＳ８０４）。すなわち、制御部１０１は、［数３］に示すように、ブロック内の画素に対応付けられた画素値の総和Ｓｉ，ｊを計算する。画素がＲ色，Ｇ色，Ｂ色の３次元の場合には、制御部１０１は、各色について画素値の総和を計算する。
【００８５】
制御部１０１は、隣り合う２つのブロック同士の差分を表す差分データを取得する（ステップＳ８０５）。すなわち、制御部１０１は、各ブロックについて、［数５］に示す第１の差分データと、［数７］に示す第２の差分データとを求める。
【００８６】
制御部１０１は、ステップＳ８０５で取得した差分データから、判定データを取得する（ステップＳ８０６）。例えば、制御部１０１は、各ブロックについて、第１の差分データと第２の差分データのうち、絶対値が大きい方を選択することにより、判定データを取得する。
【００８７】
制御部１０１は、ステップＳ８０３で分割したブロックとは異なるブロックに画像データ２００を分割するか否かを判別する（ステップＳ８０７）。すなわち、画像データ２００に含まれる各画素を頂点とするブロックに画像データ２００を分割して上記ステップＳ８０４〜Ｓ８０６の計算を既に行ったか否かを判別する。ただし、大きさの等しいブロックに属することができない画素は除外する。
【００８８】
異なるブロックに画像データ２００を分割し直すと判別した場合（ステップＳ８０７；ＹＥＳ）、制御部１０１は、ステップＳ８０２の処理に戻り、ステップＳ８０２で求めた画素の座標と異なる画素の座標を頂点とするブロックに画像データ２００を分割する。そして、制御部１０１は、上記ステップＳ８０２〜Ｓ８０７の処理を繰り返す。
【００８９】
一方、異なるブロックに画像データ２００を分割し直さないと判別した場合（ステップＳ８０７；ＮＯ）、制御部１０１は、ステップＳ８０６で取得した各判定データについて、許容条件を満たすか否かを判別する（ステップＳ８０８）。
【００９０】
制御部１０１は、ステップＳ８０８の判別結果に基づいて、結果データ７００を取得する（ステップＳ８０９）。例えば、制御部１０１は、許容条件を満たすと判別したブロックの左上頂点の画素に、許容条件を満たす旨を示す第１の値「１」を対応付け、許容条件を満たさないと判別したブロックの左上頂点の画素に、許容条件を満たさない旨を示す第２の値「０」を対応付けた結果データ７００を取得する。制御部１０１は、取得した結果データ７００を記憶装置１０４に記憶する。
【００９１】
制御部１０１は、取得した結果データ７００に基づいて、被写体の表面のうち、欠損、欠陥、染めムラ等がある箇所を特定する（ステップＳ８１０）。例えば、制御部１０１は、許容条件を満たさない旨を示す第２の値が対応付けられた画素（もしくはブロック）に対応する被写体部分に、欠損、欠陥、染めムラ等があると判定する。
【００９２】
そして、制御部１０１は、ステップＳ８１０における判定結果を示す情報を出力する（ステップＳ８１１）。例えば、制御部１０１は、画像データ２００のうち、欠損、欠陥、染めムラ等があると判定した部分を拡大してモニターに表示したり、その判定した部分を他の部分と比べて強調して表示したりする。判定結果を出力する手法は、本発明によって限定されない。
【００９３】
本実施形態によれば、被写体を撮影した画像データ２００を解析することにより、欠損、欠陥、染めムラ等がある部分を容易に検出できるようになる。画像処理装置１００は、人間が製品（被写体）を触ったり目視で１つずつ確認したりすることなく、製品の欠損等がある部分を画像処理によって容易に検出することができる。
【００９４】
また、本実施形態のように製品の欠損等を検出する仕組みは、照明の影響を受けにくく、製品の微少な欠点を検出しやすいという特徴がある。更に、線状に分布した欠損等を効率良く検出でき、例えば布帛の地合の影響を最小限に抑えて欠損等を検出できるという効果がある。
【００９５】
（実施形態２）
次に、本発明のその他の実施形態について説明する。上述の実施形態１では、画像処理装置１００は、結果データ７００のうち、許容条件を満たさない旨を示す第２の値（例えば「０」）が対応付けられた画素に対応する被写体部分に、欠損、欠陥、染めムラ等があると判定しているが、本実施形態では、この第２の値の分布パターンを更に解析して、欠損、欠陥、染めムラ等がある部分を検出する。
【００９６】
すなわち、制御部１０１は、取得した結果データから、許容条件を満たさない旨を示す第２の値が対応付けられた画素の分布パターンを特定し、特定した分布パターンから外れた画素付近に欠損、欠陥、染めムラ等があると判定する。
【００９７】
図９に、結果データ７００の構成例を示す。本図では、許容条件を満たさない旨を示す第２の値「０」が対応付けられた画素のみ図示している。画素９０１〜９０５は、Ｊ軸方向へ距離αで等間隔に並んでいる。同様に、画素９０６〜９１０もＪ軸方向へ距離αで等間隔に並んでおり、画素９１１〜９１５もＪ軸方向へ距離αで等間隔に並んでいる。更に、画素９０１，９０６，９１１は、Ｉ軸方向へ距離βで等間隔に並んでいる。同様に、画素９０２，９０７，９１２の行や、画素９０３，９０８，９１３の行、画素９０４，９０８，９１４の行、画素９０５，９１０，９１５の行においても、Ｉ軸方向へ距離βで等間隔に並んでいる。従って、制御部１０１は、画素９０１〜９１５については、許容条件を満たさないものの、規則的に分布しているため、欠損、欠陥、染めムラ等ではないと判定する。
【００９８】
しかし、画素９１６と最も近い他の画素９１０との距離のＪ軸成分はαと異なっており（αより小さい）、且つ、画素９１６と最も近い他の画素９１０との距離のＩ軸成分はβと異なっている（βより小さい）。従って、制御部１０１は、許容条件を満たさない旨を示す第２の値が対応付けられた画素９０１〜９１６のうち、画素９１６が特異点であると判断し、被写体表面のうち画素９１６に対応する部分に欠損、欠陥、染めムラ等があると判定する。このように、制御部１０１は、許容条件を満たさない旨を示す第２の値が対応付けられた画素同士の距離に基づいて、製品の欠損等がある部分を容易に検出することができる。
【００９９】
また、制御部１０１は、製品の欠損等がある部分を容易に検出するために、許容条件を満たさない旨を示す第２の値が対応付けられた画素同士の距離に基づいて検出する代わりに、他の手法を用いて検出してもよい。例えば、制御部１０１は、許容条件を満たさない旨を示す第２の値が対応付けられた画素の中から所定個数の画素をサンプリングし、サンプリングした画素の配置の空間周波数を計算し、空間周波数が所定範囲に収まらない画素付近に、欠損等があると判定してもよい。
【０１００】
例えば、縞模様や市松模様などのように、布帛に周期的な模様が描かれている場合、単純に結果データの分布のみ考慮すると、意図した模様の部分と模様でない部分との境界付近で、隣り合うブロック同士が許容条件を満たさないと判別される可能性がある。しかし、模様の切れ目において許容条件を満たさないことは当然の結果であるとも言え、“真の”欠損部分を検出する精度が落ちる可能性がある。そこで、本実施形態のように、許容条件を満たさない画素が、ある特定のパターンで分布している場合には、欠損部分とは見なさないとすることによって、製品の欠損部分の検出の精度を高めることができる。
【０１０１】
（実施形態３）
次に、本発明のその他の実施形態について説明する。本実施形態では、画像処理装置１００は、布帛の生産ラインの製品検査行程に設置されており、製品に欠損部分があると検出した場合に、その旨を検査制御装置に通知する。
【０１０２】
図１０に、布帛の製造ラインの概略を示す。表面に加工が施されたシート状の製品は、運搬装置（コンベアー）に載って画像処理装置１００が備えるカメラの前に流れてくる。制御部１０１は、撮影部１０６を制御して製品を撮影し、画像データ２００を取得する。
【０１０３】
制御部１０１は、取得した画像データ２００を用いて上述した画像処理を行い、総和データ、差分データ、判定データ、結果データを取得する。そして、制御部１０１は、結果データのうち許容条件を満たさない旨の値が対応付けられた画素の分布に基づいて、画像データ２００のうち欠陥等があると判定される部分を特定する。
【０１０４】
制御部１０１は、欠陥等があると判定される部分を特定すると、通信部１０５により接続された検査制御装置１６０に欠陥等を検出した旨を通知し、検査制御装置１６０にコンベアーを停止させる。
【０１０５】
制御部１０１がコンベアーを停止させるタイミングは、欠陥等があると判定したタイミングでもよいし、他のタイミングでもよい。
【０１０６】
例えば、制御部１０１は、欠陥等があると判定したタイミングより後であって、オペレーターが布帛の表面を目視で確認できる場所に設置された載台１７０を通過するタイミングにしてもよい。このようにすれば、画像処理装置１００がオペレーターに欠陥等を単に通知するだけでなく、検出された欠陥等をオペレーターが目視で確認し欠陥箇所をマーキングする等の作業が簡素化される効果がある。
【０１０７】
また、オペレーターに欠陥等の検出を通知する手法は、メッセージをモニターに表示したりコンベアーを停止させたりすることに限られるわけではない。例えば、制御部１０１は、欠陥等を検出した旨を表す音声データを再生することにより、音声でオペレーターに通知してもよい。
【０１０８】
また、制御部１０１は、欠陥等を検出した旨を表すメッセージデータを、画像処理装置１００と通信ネットワークで接続された他の端末などに送信することにより、画像処理装置１００から離れた場所にいるオペレーターに通知してもよい。
【０１０９】
本実施形態によれば、画像処理装置１００は、製品の欠損等がある部分を容易に検出することができるだけでなく、製品の欠損等を効率よくオペレーターに通知でき、オペレーターによる欠品の確認作業やマーキング作業等が容易になる。
【０１１０】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１１１】
例えば、画像処理装置１００は、Ｒ値，Ｇ値，Ｂ値の３次元の画素値を有する画像データ２００を用いる代わりに、Ｒ値のみ、Ｇ値のみ、Ｂ値のみ、といったように１次元の画素値を有する画像データや、Ｒ値とＧ値、Ｒ値とＢ値、Ｇ値とＢ値、といったように２次元の画素値を有する画像データを用いてもよい。
【０１１２】
また、画像処理装置１００は、明度、彩度、色相の３次元の画素値で表される画像データを用いて上述の画像処理を行うように構成してもよい。更には、画像処理装置１００は、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）で表されるカラーモデルを採用した画像データを用いて上述の画像処理を行うように構成してもよい。
【０１１３】
上記各実施形態では、１つの画像データ２００を元に画像処理を行っているが、撮影位置をずらした複数のカメラによって複数の画像データを取得し、上述の画像処理におけるステップＳ８０２〜Ｓ８０６の行程を同時に並行して行うようにしてもよい。
【０１１４】
上記の画像処理装置１００の全部又は一部としてコンピュータを動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【０１１５】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【０１１６】
以上説明したように、上記各実施形態によれば、製品の欠損等がある部分を検出するために好適な画像処理装置、画像処理方法、及び、プログラムを提供することができる。
【符号の説明】
【０１１７】
１００  画像処理装置
１０１  制御部
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  記憶装置
１０５  通信部
１０６  撮影部
１０７  音声処理部
１０８  画像処理部
１０９  入力装置
１５１  スピーカー
１５２  マイクロフォン
１５３  モニター
１６０  検査制御装置
１７０  載台
２００  画像データ
３１０，４１０，５１０  ブロック
６００  擬似的な画像データ
７００  結果データ
【図１】
0005400087.tif 000009
【図２】
0005400087.tif 000010
【図３】
0005400087.tif 000011
【図４】
0005400087.tif 000012
【図５】
0005400087.tif 000013
【図６】
0005400087.tif 000014
【図７】
0005400087.tif 000015
【図８】
0005400087.tif 000016
【図９】
0005400087.tif 000017
【図１０】
0005400087.tif 000018