(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-29
(45)【発行日】2024-09-06
(54)【発明の名称】画像処理装置、画像処理方法
(51)【国際特許分類】
G06T 3/00 20240101AFI20240830BHJP
H04N 23/60 20230101ALI20240830BHJP
【FI】
G06T3/00 780
H04N23/60 500
(21)【出願番号】P 2020058310
(22)【出願日】2020-03-27
【審査請求日】2023-03-22
【前置審査】
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】三ツ元 信一
【審査官】岡本 俊威
(56)【参考文献】
【文献】国際公開第2019/031086(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00- 3/608
H04N 23/60-23/698
(57)【特許請求の範囲】
【請求項1】
建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成手段と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成手段と
を備え、
前記合成手段は、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成
し、
前記合成手段は、前記複数の画像のうち、所定の閾値以下のデフォーカス値をより多く含む前記対応領域を有する前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成する
ことを特徴とする画像処理装置。
【請求項2】
建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成手段と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成手段と
を備え、
前記合成手段は、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成し、
前記合成手段は、前記複数の画像のうち、前記対応領域内のデフォーカス値の合計値がより小さい前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成することを特徴とする画像処理装置。
【請求項3】
建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成手段と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成手段と
を備え、
前記合成手段は、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成し、
前記合成手段は、前記複数の画像のうち、前記対応領域内のデフォーカス値の平均値がより小さい前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成することを特徴とする画像処理装置。
【請求項4】
複数の画像のそれぞれに対応するデフォーカスマップを生成する生成手段と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成手段と
を備え、
前記合成手段は、前記合成画像における前記複数の画像が共有する領域に対応する重複領域の画像を、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する領域以外の領域である非対応領域内のデフォーカス値に基づいて生成することを特徴とする画像処理装置。
【請求項5】
前記合成手段は、前記複数の画像のうち前記合成画像における前記複数の画像が共有する領域に対応する重複領域に使用する画像として選択する選択候補を、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値の分布に基づいて決定することを特徴とする請求項
4に記載の画像処理装置。
【請求項6】
前記合成画像は、変状の検出に使用される画像であることを特徴とする請求項1に記載の画像処理装置。
【請求項7】
建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成工程と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成工程と
を備え、
前記合成工程では、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成
し、
前記合成工程では、前記複数の画像のうち、所定の閾値以下のデフォーカス値をより多く含む前記対応領域を有する前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成する
ことを特徴とする画像処理方法。
【請求項8】
建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成工程と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成工程と
を備え、
前記合成工程では、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成し、
前記合成工程では、前記複数の画像のうち、前記対応領域内のデフォーカス値の合計値がより小さい前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成することを特徴とする画像処理方法。
【請求項9】
建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成工程と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成工程と
を備え、
前記合成工程では、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成し、
前記合成工程では、前記複数の画像のうち、前記対応領域内のデフォーカス値の平均値がより小さい前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成することを特徴とする画像処理方法。
【請求項10】
複数の画像のそれぞれに対応するデフォーカスマップを生成する生成工程と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成工程と
を備え、
前記合成工程では、前記合成画像における前記複数の画像が共有する領域に対応する重複領域の画像を、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する領域以外の領域である非対応領域内のデフォーカス値に基づいて生成することを特徴とする画像処理方法。
【請求項11】
コンピュータを、請求項1乃至
6の何れか1項に記載の画像処理装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の画像を位置合わせして合成することで合成画像を生成する技術に関するものである。
【背景技術】
【0002】
建造物の点検において、撮影した画像からひび割れなどの変状を検出する手法では、ピントが合っており、鮮明であることが求められている。また、点検の対象範囲から細かい変状を検出するためには、高解像度な画像(高解像度画像)が必要であるため、複数の高解像度画像を合成して、一枚の合成画像を生成する手法が取られる。合成画像を生成する際は、特許文献1や特許文献2のように、隣り合う画像に対して、撮影時に設定した重なり合う領域を用いて位置合わせを行い、画像の合成を行う。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2006-175620号公報
【文献】特許第6513309号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1や特許文献2に開示されるような技術は、風景写真のようなパノラマ写真として合成画像を生成することを目的としており、画像間の繋ぎ目が目立たないように滑らかに見える処理を行う。この時、位置合わせ用の重複領域に対し、ブレンド処理(画素毎に各画像の画素値の平均を取る処理)を行うが、片方の領域がボケなどの劣化要因を含むと、重複領域の画質に影響が出る。その結果、画像からの細かい変状の検出に影響が出る。
【0005】
本発明では、複数の画像を位置合わせして合成することで合成画像を生成する場合に、該位置合わせにより発生する画像間の重複領域について、該重複領域の画質の劣化を軽減させるための技術を提供する。
【課題を解決するための手段】
【0006】
本発明の一様態は、建造物を撮像することによって取得された複数の画像のそれぞれに対応するデフォーカスマップを生成する生成手段と、
前記複数の画像と、前記複数の画像のそれぞれに対応するデフォーカスマップと、に基づいて前記複数の画像を合成して合成画像を生成する合成手段と
を備え、
前記合成手段は、前記複数の画像において前記建造物の同一部分に対応する重複領域について、前記複数の画像のそれぞれに対応するデフォーカスマップにおいて前記重複領域に対応する対応領域内のデフォーカス値を比較した結果に基づいて、前記複数の画像のいずれかの画像を用いて前記合成画像を生成し、
前記合成手段は、前記複数の画像のうち、所定の閾値以下のデフォーカス値をより多く含む前記対応領域を有する前記デフォーカスマップに対応する画像において前記重複領域に対応する部分画像に基づいて、前記合成画像の前記重複領域を生成する
ことを特徴とする。
【発明の効果】
【0007】
本発明の構成によれば、複数の画像を位置合わせして合成することで合成画像を生成する場合に、該位置合わせにより発生する画像間の重複領域について、該重複領域の画質の劣化を軽減させることができる。
【図面の簡単な説明】
【0008】
【
図1】画像処理装置100のハードウェア構成例を示すブロック図。
【
図3】(a)はテーブルの構成例を示す図、(b)は重複領域情報の構成例を示す図。
【
図4】複数の画像を位置合わせして合成することで合成画像を生成するために画像処理装置100が行う処理のフローチャート。
【
図5】ステップS403における処理の詳細を示すフローチャート。
【
図7】(a)は画像201のデフォーカスマップの一例を示す図、(b)は画像202のデフォーカスマップの一例を示す図。
【
図9】(a)は画像801のデフォーカスマップ901を示す図、(b)は画像802のデフォーカスマップ902を示す図。
【
図10】画像801と画像802を位置合わせして合成することで合成画像803を生成するために画像処理装置100が行う処理のフローチャート。
【
図11】選択画像が画像801である場合に、該画像801に対応する部分領域を取得するための処理を説明する図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
[第1の実施形態]
本実施形態では、複数の画像を位置合わせして合成することで合成画像を生成する。その際、該位置合わせにより発生する画像間の重複領域を共有するそれぞれの画像のデフォーカスマップを生成し、該それぞれの画像のうち合成画像の重複領域に用いる画像を、該それぞれの画像のデフォーカスマップに基づいて選択する。そして、該選択された画像において重複領域に対応する部分画像を取得し、該取得した部分画像を合成画像における重複領域に合成する。先ず、本実施形態に係る画像処理装置100のハードウェア構成例について、
図1のブロック図を用いて説明する。
【0011】
CPU101は、RAM103やROM102に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU101は、画像処理装置100全体の動作制御を行うとともに、画像処理装置100が行うものとして後述する各処理を実行もしくは制御する。
【0012】
ROM102には、書き換え不要の画像処理装置100の設定データ、画像処理装置100の基本動作に係るコンピュータプログラムやデータ、画像処理装置100の起動に係るコンピュータプログラムやデータが格納されている。
【0013】
RAM103は、ROM102やHDD(ハードディスクドライブ)104からロードされたコンピュータプログラムやデータ、通信部107により外部装置から受信したコンピュータプログラムやデータ、を格納するためのエリアを有する。さらにRAM103は、CPU101が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM103は、各種のエリアを適宜提供することができる。
【0014】
HDD104には、OS(オペレーティングシステム)や、画像処理装置100が行うものとして後述する各処理をCPU101に実行もしくは制御させるためのコンピュータプログラムやデータが保存されている。HDD104に保存されているコンピュータプログラムやデータは、CPU101による制御に従って適宜RAM103にロードされ、CPU101による処理対象となる。
【0015】
なお、HDD104は、記憶装置の一例として挙げたものであり、HDD104に加えて若しくは代えて、他の種類の記憶装置を用いてもよい。このような記憶装置は、例えば、メディア(記録媒体)と、該メディアに対するコンピュータプログラムやデータの読み書きを行うドライブ装置と、で実現することができる。このようなメディアとしては、例えば、フレキシブルディスク(FD)、CD-ROM、DVD、USBメモリ、MO、フラッシュメモリ等が知られている。また、このような記憶装置としては、USBメモリなどのフラッシュメモリや、画像処理装置100と通信可能に接続されているサーバ装置であってもよい。
【0016】
表示部105は、CPU101による処理結果を画像や文字などでもって表示する装置であり、例えば、液晶ディスプレイ(LCD)、有機ELディスプレイ(OLED)、タッチパネル画面等で実装される。なお、
図1では、画像処理装置100が表示部105を有する構成としているが、このような構成に限らず、例えば、表示部105は、画像処理装置100と有線もしくは無線で通信可能な外部装置であってもよい。また、表示部105は、画像や文字を投影するプロジェクタなどの投影装置であってもよい。
【0017】
操作部106は、キーボード、マウス、タッチパネル画面などのユーザインターフェースであり、ユーザが操作することで各種の指示をCPU101に対して入力することができる。
【0018】
通信部107は、外部装置との間のデータ通信を行うための通信インターフェースとして機能し、画像処理装置100は通信部107により外部装置との間のデータ通信を行うことができる。
【0019】
CPU101、ROM102、RAM103、HDD104、表示部105、操作部106、通信部107、は何れも、バス110に接続されている。なお、
図1に示したハードウェア構成は、以下に説明する各処理を実行可能な構成の一例にすぎず、定義変形/変更しても構わない。
【0020】
次に、複数の画像を位置合わせして合成することで合成画像を生成するために画像処理装置100が行う処理について、
図4のフローチャートに従って説明する。
【0021】
ステップS401では、CPU101は先ず、合成対象となる複数の画像(入力画像)を取得する。複数の画像の取得元は特定の取得元に限らない。例えば、CPU101は、HDD104から合成対象となる複数の画像を読みだしてもよいし、通信部107によって外部装置から合成対象となる複数の画像をダウンロードしてもよい。また、画像処理装置100の内部若しくは外部に撮像部を設け、CPU101は、該撮像部により撮像された複数の画像(撮像画像)を合成対象として取得してもよい。
【0022】
本実施形態では、HDD104には、
図3(a)に例示する、合成画像の縦横サイズ(幅および高さ)と、合成対象となる画像のファイル名と、を規定したテーブル301が予め登録されているものとする。テーブル301には、合成画像の幅が5000画素であり、該合成画像の高さが2000画素であること、が規定されている。また、テーブル301には、合成対象となる画像のファイル名が、ファイル名「IMG_0013.jpg」、「IMG_0014.jpg」であることが規定されている。
【0023】
よって、ステップS401では、CPU101は、テーブル301に登録されている合成対象の画像のファイル名を参照し、ファイル名「IMG_0013.jpg」の画像およびファイル名「IMG_0014.jpg」の画像をHDD104等から取得する。以下では、ファイル名「IMG_0013.jpg」の画像およびファイル名「IMG_0014.jpg」の画像のそれぞれの幅は3000画素、高さは2000画素であるものとする。また、合成対象となる画像は、歪み補正やあおり補正を行った画像であっても良い。
【0024】
そしてCPU101は、合成対象として取得した複数の画像(ファイル名「IMG_0013.jpg」の画像およびファイル名「IMG_0014.jpg」の画像)の位置合わせを行って、合成画像における該複数の画像のそれぞれの位置を決定する。なお、複数の画像の位置合わせは既知の方法で行うことができる。例えば、SIFT(Scale Invariant Feature Transform)手法を用いて各画像から特徴点を算出し、特徴点の画像間マッチングを行うことで、画像間の位置合わせを行う。
【0025】
ステップS402では、CPU101は、ステップS401で行った画像の位置合わせにより発生した画像間の重複領域について、該重複領域を特定するための情報を生成し、該生成した情報を含む重複領域情報を生成する。
【0026】
ここで、ファイル名「IMG_0013.jpg」の画像およびファイル名「IMG_0014.jpg」の画像を位置合わせして合成することで合成画像を生成するケースについて、
図2を用いて説明する。
【0027】
図2(a)には、合成対象となる画像201(ファイル名「IMG_0013.jpg」の画像)および画像202(ファイル名「IMG_0014.jpg」の画像)を示している。
図2(b)には、画像201と画像202を位置合わせして合成することで生成された合成画像203を示している。ここで、
図2(c)に示す如く、画像201における画像領域211に含まれている画像内容と、画像202における画像領域212に含まれている画像内容と、は同じ(もしくは類似度が高い)である。然るに、画像201と画像202を位置合わせした結果、画像領域211および画像領域212は互いに重なる領域(重複領域)となる。画像領域211および画像領域212は、画像201と画像201とを合成する際の位置合わせ領域として使用され、その結果、
図2(d)に示す如く、画像領域211および画像領域212は、合成画像203における重複領域213に該当することになる。
【0028】
よって、ステップS402では、CPU101は、画像201において重複領域213に該当する画像領域211を規定する情報と、画像202において重複領域213に該当する画像領域212を規定する情報と、を含む重複領域情報を生成する。重複領域情報の構成例を
図3(b)に示す。
【0029】
「重複領域ID」は、画像201と画像202の位置合わせにより発生した重複領域ごとにCPU101が発行した、重複領域ごとに固有の識別子である。
図2に示す如く、画像201と画像202の位置合わせにより発生した重複領域は、重複領域213の1つのみであるため、
図3(b)では、この1つの重複領域213についてCPU101が発行した重複領域ID=「0」が登録されている。
【0030】
「合成領域座標」は、合成画像203の左上隅の位置を原点としたときの該合成画像203における重複領域213の左上隅の座標(2000,0)および右下隅の座標(3000,2000)である。なお、
図3(b)では、重複領域が矩形である例を示しているため、合成領域座標は、この矩形領域を特定可能な座標情報となっている。しかし、重複領域の形状は矩形に限らず、どのような形状であっても、重複領域座標には、合成画像における重複領域を規定する情報が登録される。
【0031】
「画像1_ファイル名」は、画像201のファイル名「IMG_0013.jpg」である。「画像1_重複領域座標」は、画像201の左上隅の位置を原点としたときの、画像201において重複領域213に該当する画像領域211の左上隅の座標(2000,0)および右下隅の座標(3000,2000)である
「画像2_ファイル名」は、画像202のファイル名「IMG_0014.jpg」である。「画像2_重複領域座標」は、画像202の左上隅の位置を原点としたときの、画像202において重複領域213に該当する画像領域212の左上隅の座標(0,0)および右下隅の座標(1000,2000)である。
【0032】
このように、重複領域ID=「0」に対応する重複領域を共有する画像の数がN(Nは2以上の整数)の場合、i=1,…,Nについて「画像i_ファイル名」および「画像i_重複領域座標」のセットが、重複領域ID=「0」と対応付けて重複領域情報に含められる。
【0033】
ステップS403では、CPU101は、画像201および画像202から、重複領域213に用いる画像を選択する処理を行う。ステップS403における処理の詳細については、
図5のフローチャートを用いて後述する。
【0034】
ステップS404ではCPU101は、ステップS403で選択された画像から、重複領域213に対応する画像領域内の画像(部分画像)、つまり、画像201であれば画像領域211内の画像、画像202であれば画像領域212内の画像、を抽出する。そしてCPU101は、該抽出した部分画像を、合成画像203における重複領域213に合成し、該合成を行った合成画像203を出力する。合成画像203の出力先は特定の出力先に限らない。例えば、CPU101は、合成画像203を表示部105に出力することで該合成画像203を該表示部105に表示させてもよいし、該合成画像203をHDD104に出力して該合成画像203を該HDD104に保存させてもよい。また、CPU101は、通信部107を制御して該合成画像203を外部装置に対して出力(送信)しても良い。
【0035】
次に、上記のステップS403における画像の選択処理の詳細について、
図5のフローチャートに従って説明する。
図5のフローチャートでは、重複領域情報に登録されているそれぞれの重複領域IDについて、ステップS503~S508の処理を行う。本実施形態では、重複領域情報に登録されている重複領域IDは1つのみであるため、この1つの重複領域IDについて、ステップS503~S508の処理を行うことになる。
【0036】
ステップS503では、CPU101は、重複領域情報に登録されている重複領域IDにおいて未選択の1つを選択重複領域IDとして選択し、該選択重複領域IDと対応付けて重複領域情報に登録されているファイル名を特定する。
図3(b)の例では、選択重複領域ID=「0」と対応付けて重複領域情報に登録されているファイル名「IMG_0013.jpg」および「IMG_0014.jpg」を特定する。そしてCPU101は、ファイル名「IMG_0013.jpg」の画像201および「IMG_0014.jpg」の画像202をHDD104等から取得する。
【0037】
ステップS504では、CPU101は、ステップS503でHDD104等から取得した画像201および画像202のそれぞれについて、該画像の各画素に対応する合焦度を表すデフォーカスマップを生成する。
【0038】
ある画像(着目画像)について生成したデフォーカスマップの一例を
図6に示す。デフォーカスマップ601の幅および高さはそれぞれ、着目画像の幅および高さと同じである。また、デフォーカスマップ601の画素位置(x、y)における値(デフォーカス値)は、着目画像の画素位置(x、y)に写っている対象物に対するピントの前後のズレ量を絶対値として数値化した値である。
【0039】
デフォーカス値は、例えば、着目画像の撮像を行う際に、像面位相差撮像センサを用いることで、画素の位置におけるデフォーカス量の情報として取得することが可能である。なお、デフォーカス値の情報の取得方法に関しては、公知の技術を利用することが可能である。例えば、像面位相差撮像センサから検出したピントの前後のズレ量を用いたオートフォーカス技術が既に広く実用化されている。
【0040】
図6のデフォーカスマップ601において「0」が割り当てられている領域は、デフォーカス値「0」を有する画素の集合から成る領域0を示す。
図6のデフォーカスマップ601において「1」が割り当てられている領域は、デフォーカス値「1」を有する画素の集合から成る領域1を示す。
図6のデフォーカスマップ601において「2」が割り当てられている領域は、デフォーカス値「2」を有する画素の集合から成る領域2を示す。境界線603は、領域(領域0、領域1、領域2)間の境界線を表す。
【0041】
領域0は、着目画像を撮像した撮像装置の合焦単位においてピンボケの無い領域である。領域1は、領域0よりも合焦度が低い(ボケの程度が大きい)領域であり、領域2は、領域1よりも合焦度が低い領域である。このように、より高いデフォーカス値の領域は、より合焦度が低い領域となっている。
【0042】
画像201および画像202のそれぞれについて生成したデフォーカスマップの一例を、
図7(a)、
図7(b)に示す。画像201について生成したデフォーカスマップ701において、重複領域213(画像領域211)に対応する対応領域711には、領域0、領域1、領域2が含まれている。画像202について生成したデフォーカスマップ702において、重複領域213(画像領域212)に対応する対応領域712には、領域0のみが含まれている。
【0043】
ステップS505では、CPU101は、画像201および画像202のうち未選択の1つを選択画像として選択する。そしてCPU101は、選択画像に対応するデフォーカスマップにおいて重複領域213に対応する対応領域内のデフォーカス値を取得する。
【0044】
ステップS506では、CPU101は、画像201および画像202の両方を選択画像として選択したか否かを判断する。この判断の結果、画像201および画像202の両方を選択画像として選択した場合には、処理はステップS508に進む。一方、画像201および画像202のうち未だ選択画像として選択してない画像が残っている場合には、処理はステップS505に進む。
【0045】
このような処理により、CPU101は、デフォーカスマップ701において重複領域213に対応する対応領域711内のデフォーカス値を取得する。対応領域711は、重複領域情報中の「画像1_重複領域座標」によって特定される画像領域211に対応するデフォーカスマップ701の領域である。また、CPU101は、デフォーカスマップ702において重複領域213に対応する対応領域712内のデフォーカス値を取得する。対応領域712は、重複領域情報中の「画像2_重複領域座標」によって特定される画像領域212に対応するデフォーカスマップ702の領域である。
【0046】
ステップS508では、CPU101は、画像201および画像202のうち合成画像203の重複領域213に用いる画像を、デフォーカスマップ701の対応領域711内のデフォーカス値と、デフォーカスマップ702の対応領域712内のデフォーカス値と、に基づいて選択する。
【0047】
画像201および画像202のうち合成画像203の重複領域213に用いる画像を、対応領域711内のデフォーカス値と対応領域712内のデフォーカス値とに基づいて選択する方法には様々な方法が考えられる。
【0048】
例えば、CPU101は、対応領域711内でデフォーカス値が「0」の画素の数N1、対応領域712内でデフォーカス値が「0」の画素の数N2、を計数する。そしてCPU101は、N1>N2であれば、合成画像203の重複領域213に用いる画像として画像201を選択し、N1<N2であれば、合成画像203の重複領域213に用いる画像として画像202を選択する。
図7(a)、(b)の例では、上記の如く、対応領域711内には、デフォーカス値が「0」以外の画素が含まれているのに対し、対応領域712はデフォーカス値「0」の画素のみで構成されているため、N1<N2となる。よってこの場合、合成画像203の重複領域213に用いる画像として画像202が選択される。
【0049】
なお、N1=N2の場合は、例えば、CPU101は、対応領域711内でデフォーカス値が「1」の画素の数M1、対応領域712内でデフォーカス値が「1」の画素の数M2、を計数する。そしてCPU101は、M1>M2であれば、合成画像203の重複領域213に用いる画像として画像201を選択し、M1<M2であれば、合成画像203の重複領域213に用いる画像として画像202を選択する。
【0050】
また、M1=M2の場合は、CPU101は、対応領域711内でデフォーカス値が「2」の画素の数P1、対応領域712内でデフォーカス値が「2」の画素の数P2、を計数する。そしてCPU101は、P1>P2であれば、合成画像203の重複領域213に用いる画像として画像201を選択し、P1<P2であれば、合成画像203の重複領域213に用いる画像として画像202を選択する。
【0051】
また、P1=P2の場合は、合成画像203の重複領域213に用いる画像として、画像201および画像202のどちらを選択してもよく、その場合の選択基準は特定の選択基準に限らない。例えば、画像201および画像202のうち撮影日時がより古い方/より新しい方を選択しても良いし、ランダムに選択してもよい。
【0052】
また、画像201および画像202のうち合成画像203の重複領域213に用いる画像を、対応領域711内のデフォーカス値と対応領域712内のデフォーカス値とに基づいて選択する他の方法には、例えば、次のような方法も考えられる。
【0053】
例えば、CPU101は、対応領域711内のデフォーカス値の合計値/平均値AV1、対応領域712内のデフォーカス値の合計値/平均値AV2、を求める。そしてCPU101は、AV1<N2であれば、合成画像203の重複領域213に用いる画像として画像201を選択し、AV1>AV2であれば、合成画像203の重複領域213に用いる画像として画像202を選択する。
【0054】
また、画像201および画像202のそれぞれのデフォーカスマップにおいて対応領域以外の領域内(非対応領域内)におけるデフォーカス値に基づいて、合成画像203の重複領域213に用いる画像を選択するようにしてもよい。
【0055】
例えば、CPU101は、上記のN1に「デフォーカスマップ701において対応領域711以外の領域の画素数に対する該領域におけるデフォーカス値「0」の画素の数の割合」を適用し、上記のN2に「デフォーカスマップ702において対応領域712以外の領域の画素数に対する該領域におけるデフォーカス値「0」の画素の数の割合」を適用してもよい。
【0056】
また例えば、CPU101は、上記のN1に「デフォーカスマップ701において対応領域711以外の領域におけるデフォーカス値「0」の画素の数」を適用し、上記のN2に「デフォーカスマップ702において対応領域712以外の領域におけるデフォーカス値「0」の画素の数」を適用してもよい。
【0057】
また、画像201および画像202のそれぞれのデフォーカスマップから、デフォーカス値が0でない画素の分布を取得し、合成画像203の重複領域213に用いる画像の選択候補を、該分布を用いて絞ってもよい。着目画像のデフォーカスマップにおいて0でないデフォーカス値が分散している場合、該着目画像の撮像時にノイズが発生しているなど、該着目画像は信頼できない可能性があるため、該着目画像は選択候補から除外する。そして選択候補として残った画像から、上記の何れかの方法でもって、合成画像203の重複領域213に用いる画像を選択する。
【0058】
また、画像201および画像202のうち合成画像203の重複領域213に用いる画像を、対応領域711、712内のデフォーカス値に基づいて選択することに限らず、例えば、次のような選択方法が考えられる。
【0059】
例えば、合成画像の画像領域において、検出対象となるひび割れなどの変状が写るであろう被写体領域を予め特定しておき、該被写体領域に対応する画像201および画像202のデフォーカス値に基づいて、上記と同様にして画像選択を行ってもよい。
【0060】
このように、本実施形態では、複数の画像を位置合わせして合成する際に重複する画像領域(重複領域)に、ピンボケの少ない画像を適用した合成画像を生成することができる。これにより、鮮明な画像で構成された重複領域を持つ合成画像が得られるため、このような合成画像からより細かいひび割れなどの変状を検出することができる。
【0061】
なお、合成画像からひび割れなどの変状を検出する、いわゆる点検の処理は、画像処理装置100が行ってもよいし、外部装置が行ってもよい。前者の場合、画像処理装置100は、このような点検の処理を行った後、該点検の処理の結果を画像や文字でもって表示部105に表示する。なお、後者の場合、画像処理装置100は、生成した合成画像を外部装置もしくは外部装置がアクセス可能な装置に転送する。
【0062】
[第2の実施形態]
以下では、第1の実施形態との差分について説明し、以下で特に触れない限りは、第1の実施形態と同様であるものとする。第1の実施形態では、合成画像203の重複領域213に用いる画像を、画像201および画像202の何れか一方としていた。本実施形態では、画像201および画像202のデフォーカスマップにおいて重複領域213に対応する対応領域から所定のデフォーカス値を有する部分領域を取得する。そして、画像201および画像202において該部分領域に対応する画像を組み合わせたものを、合成画像203の重複領域213に合成する。
【0063】
図8に、本実施形態に係る合成画像の一例を示す。
図8では、画像801と画像802を位置合わせして合成して合成画像803を生成している。位置合わせの際に画像801と画像802とで重複領域が発生する。該重複領域において領域811には画像801において領域811に対応する部分領域内の画像が合成されており、該重複領域において領域812には画像802において領域812に対応する部分領域内の画像が合成されている。
【0064】
図9(a)は、画像801のデフォーカスマップ901を示しており、
図9(b)は、画像802のデフォーカスマップ902を示している。デフォーカスマップ901において対応領域911は、画像801と画像802との重複領域に対応する領域であり、デフォーカスマップ902において対応領域912は、画像801と画像802との重複領域に対応する領域である。
【0065】
本実施形態では、画像801において領域811に対応する領域を、対応領域911内のデフォーカス値に基づいて決定し、該決定した領域内の画像を領域811に合成する。同様に、画像802において領域812に対応する領域を、対応領域912内のデフォーカス値に基づいて決定し、該決定した領域内の画像を領域812に合成する。
【0066】
画像801と画像802を位置合わせして合成することで合成画像803を生成するために画像処理装置100が行う処理について、
図10のフローチャートに従って説明する。なお、
図10において、
図5に示した処理ステップと同じ処理ステップには同じステップ番号を付しており、該処理ステップに係る説明は省略する。
【0067】
ステップS1001では、CPU101は、ステップS505で取得した「選択画像に対応するデフォーカスマップにおいて重複領域213に対応する対応領域内のデフォーカス値」を参照し、該対応領域から「デフォーカス値が「0」の画素から成る領域」を部分領域として取得する。
【0068】
選択画像が画像801である場合に、該画像801に対応する部分領域を取得するための処理について、
図11を用いて説明する。ステップS1001では、CPU101は、
図11(a)に示す対応領域911から、
図11(b)に示す「デフォーカス値が0ではない画素の領域を囲む矩形領域1102」を省いた残りの領域を、
図11(c)に示す部分領域1103として取得する。同様の処理は、画像802についても行われ、その結果、画像802に対応する部分領域を取得する。
【0069】
ステップS1002では、CPU101は、デフォーカスマップ901についてステップS1001で取得した部分領域に対応する画像801内の部分画像と、デフォーカスマップ902についてステップS1001で取得した部分領域に対応する画像802内の部分画像と、を組み合わせ(つなぎ合わせ)て、合成画像803の重複領域に合成する画像を生成する。デフォーカスマップ901についてステップS1001で取得した部分領域に対応する画像801内の部分画像は領域811に合成される。また、デフォーカスマップ902についてステップS1001で取得した部分領域に対応する画像802内の部分画像は領域812に合成される。
【0070】
なお、部分画像を組み合わせ(つなぎ合わせ)た際に、部分画像間で重複する部分が発生してしまった場合、該部分には、どの部分画像を用いてもよい。例えば、第1の実施形態で説明したように、撮像日時がより古い画像の部分領域を用いてもよいし、ランダムに選択して用いてもよい。
【0071】
また、合成画像803における重複領域で部分画像が存在しない部分(デフォーカス値が0以外の画素の集合)については、合成に使用する画像の該部分のうち、デフォーカス値が最も低い部分を選択する。
【0072】
このように、本実施形態によれば、重複領域を細かく分割した領域毎に、より鮮明な画像を割り当てることが可能となり、その結果、より正確にひび割れなどの変状を検出することができる。
【0073】
なお、本実施形態では、「デフォーカス値が0でない画素の領域」を、該領域を囲む矩形領域1102で表し、対応領域911から矩形領域1102を省いて部分領域1103を得た。しかし、「デフォーカス値が0でない画素の領域」を囲む領域は矩形領域に限らず、他の形状の領域であってもよい。また、デフォーカス値が0でない領域Aに対して、他の画像において該領域Aに対応する領域Bのデフォーカス値が0であれば、領域Aを領域Bに置き換えても良い。
【0074】
[第3の実施形態]
上記の各実施形態では、
図2や
図8に示す如く、隣り合う2つの画像を合成する例を示したが、これに限定するものでなく、2枚以上の画像を合成する場合においても、同様の処理が適用できる。
【0075】
例えば、
図12(a)に示す合成画像1211は、画像1201、画像1202、画像1203、画像1204を位置合わせして合成した合成画像である。このような位置合わせの結果、
図12(b)に示す如く、2つの画像が重複する重複領域1221~1224、3つの画像が重複する重複領域1231、1232、4つの画像が重複する重複領域1241が発生する。このような場合、重複領域1221と重複領域1231と重複領域1241に合成する画像には、画像1201が使用され、重複領域1222と重複領域1223と重複領域1232に合成する画像には、画像1203が使用される。なお、第2の実施形態のように、1つの重複領域に合成する画像を、複数の画像から生成してもよい。
【0076】
なお、上記の説明において使用した数値、処理タイミング、処理順、情報の構成などは、具体的な説明を行うために一例として挙げたものであり、これらの数値、処理タイミング、処理順、情報の構成などに限定することを意図したものではない。
【0077】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【0078】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0079】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0080】
100:画像処理装置 101:CPU 102:ROM 103:RAM 104:HDD 105:表示部 106:操作部 107:通信部 110:バス