(57)【特許請求の範囲】
【請求項１】
撮像部が撮像する画像を表示する表示部と、
被撮像物を含む領域の指定を受付ける領域指定受付部と、
前記撮像部が撮像する第１の画像において、前記撮像部が前記第１の画像よりも前に撮像した第２の画像における前記領域と前記被撮像物との位置関係を維持するような前記領域の位置及び大きさを計算する領域計算部と、
前記表示部に、前記第１の画像における前記領域を示す枠、前記領域の中心、及び前記第１の画像の中心を表示する表示制御部と、
を備え、
前記領域指定受付部は、前記表示部上に固定表示されるポインタを使用して前記表示部に表示される第３の画像上で指定された、前記被撮像物を含む領域を定義する第１の点と、前記第１の点を指定した後に前記表示部に表示される前記第３の画像とは異なる第４の画像上で前記ポインタを使用して指定された、前記領域を定義する第２の点と、に基づいて、前記領域の指定を受付けることを特徴とする撮像装置。
【請求項２】
前記領域の中心と前記撮像部が撮像する画像の中心との距離が予め定められた範囲内にある場合に、前記領域を示す枠の一部と前記表示部のいずれかの辺との距離が予め定めた範囲内になるように、光学系のズーム倍率を変更するズーム倍率変更部を備える、請求項１に記載の撮像装置。
【請求項３】
前記領域計算部は、前記第２の画像内に設定された複数の特徴点と、前記第２の画像において前記領域を定義する点との位置関係に基づいて、前記第１の画像における前記領域の位置及び大きさを計算する請求項１または２に記載の撮像装置。
【請求項４】
前記領域に含まれる画像のみを取得する取得部を備える請求項１から３のいずれか１項記載の撮像装置。
【請求項５】
前記領域の形状と前記取得部が取得した画像とに基づいて、撮像された画像を補正する画像補正部を備えることを特徴とする請求項４に記載の撮像装置。
【請求項６】
撮像装置が撮像する画像において被撮像物を含む領域の指定を受付ける領域指定受付ステップと、
前記撮像装置が撮像する第１の画像において、前記撮像装置が前記第１の画像よりも前に撮像した第２の画像における前記領域と前記被撮像物との位置関係を維持するような前記領域の位置及び大きさを計算する計算ステップと、
前記計算ステップでの計算結果に基づいて、前記第１の画像における前記領域を示す枠、前記領域の中心、及び前記第１の画像の中心を前記撮像装置が備える表示部に表示する表示ステップとを、コンピュータに実行させ、
前記領域指定受付ステップでは、前記表示部上に固定表示されるポインタを使用して前記表示部に表示される第３の画像上で指定された、前記被撮像物を含む領域を定義する第１の点と、前記第１の点を指定した後に前記表示部に表示される前記第３の画像とは異なる第４の画像上で前記ポインタを使用して指定された、前記領域を定義する第２の点と、に基づいて、前記領域の指定を受付けることを特徴とする撮像プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、撮像装置、及び撮像プログラムに関する。
【背景技術】
【０００２】
近年、デジタルカメラやカメラ付携帯電話の普及に伴い、ユーザが撮影したデジタル画像をウェブ上にアップロードしたり、また、電子メールに添付したりする機会が増加している。デジタルカメラ等で被写体を撮影する際、ユーザはデジタルカメラに備えられた表示装置で被写体を確認しながら撮影を行うが、撮影したくない部分が撮影領域に含まれてしまうことがある。この場合、撮影後に撮影したかった部分のみを画像データから切り出すことも可能であるが、画像データをパーソナルコンピュータ（以下、ＰＣ）に移動し、特別なソフトを用いて画像データを加工する必要があり、作業が煩雑である。そこで、撮影した画像の一部の領域のみを保存する撮像装置が提案されている（例えば、特許文献１及び２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１０１３７８号公報
【特許文献２】特開平５−１９１７６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１及び２の技術では、撮影画像全体の中から、撮影したかった部分のみを切り出して保存するため、解像度の高い画像を撮影できるデジタルカメラであっても、その性能を十分に生かしきれていない可能性がある。
【０００５】
本件は、上記の事情に鑑みて成されたものであり、撮像装置の性能を生かした画像の撮影を容易に行える撮像装置及び撮像プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、明細書開示の撮像装置は、撮像部が撮像する画像を表示する表示部と、被撮像物を含む領域の指定を受付ける領域指定受付部と、前記撮像部が撮像する第１の画像において、前記撮像部が前記第１の画像よりも前に撮像した第２の画像における前記領域と前記被撮像物との位置関係を維持するような前記領域の位置及び大きさを計算する領域計算部と、前記表示部に、前記第１の画像における前記領域を示す枠、前記領域の中心、及び前記第１の画像の中心を表示する表示制御部と、を備え、前記領域指定受付部は、前記表示部上に固定表示されるポインタを使用して前記表示部に表示される第３の画像上で指定された、前記被撮像物を含む領域を定義する第１の点と、前記第１の点を指定した後に前記表示部に表示される前記第３の画像とは異なる第４の画像上で前記ポインタを使用して指定された、前記領域を定義する第２の点と、に基づいて、前記領域の指定を受付ける。
【０００７】
上記課題を解決するために、明細書開示の撮像プログラムは、撮像装置が撮像する画像において被撮像物を含む領域の指定を受付ける領域指定受付ステップと、前記撮像装置が撮像する第１の画像において、前記撮像装置が前記第１の画像よりも前に撮像した第２の画像における前記領域と前記被撮像物との位置関係を維持するような前記領域の位置及び大きさを計算する計算ステップと、前記計算ステップでの計算結果に基づいて、前記第１の画像における前記領域を示す枠、前記領域の中心、及び前記第１の画像の中心を前記撮像装置が備える表示部に表示する表示ステップとを、をコンピュータに実行させ、前記領域指定受付ステップでは、前記表示部上に固定表示されるポインタを使用して前記表示部に表示される第３の画像上で指定された、前記被撮像物を含む領域を定義する第１の点と、前記第１の点を指定した後に前記表示部に表示される前記第３の画像とは異なる第４の画像上で前記ポインタを使用して指定された、前記領域を定義する第２の点と、に基づいて、前記領域の指定を受付ける。
【発明の効果】
【０００８】
明細書開示の撮像装置及び撮像プログラムによれば、撮像装置の性能を生かした画像の撮影を容易に行える。
【図面の簡単な説明】
【０００９】
【図１】実施例１に係る撮像装置の構成の一例を示す図である。
【図２】制御部のハードウェア構成の一例を示す図である。
【図３】撮像装置が有する機能の概要を説明するための図である。
【図４】撮像装置が有する機能の概要を説明するための図である。
【図５】撮像装置が有する機能の概要を説明するための図である。
【図６】制御部が有する機能の一例を示す機能ブロック図である。
【図７】記憶部が記憶するデータの一例を示している。
【図８】撮像部により撮像された画像の一例を表す。
【図９】取得部の機能の概要について説明する図である。
【図１０】画像補正部が実行する台形補正処理の概要について説明する図である。
【図１１】画像補正部が実行する傾き補正処理の概要について説明する図である。
【図１２】制御部が実行する主処理の一例を示すフローチャートである。
【図１３】制御部が実行する主処理の一例を示すフローチャートである。
【図１４】ステップＳ１００の詳細な処理の一例を示すフローチャートである。
【図１５】ステップＳ２００の詳細な処理の一例を示すフローチャートである。
【図１６】図１６（Ａ）は、前フレームの画像の概略を、図１６（Ｂ）は、現フレームの画像の概略を表している。
【図１７】ステップＳ２０８の詳細な処理の一例を示すフローチャートである。
【図１８】ステップＳ２０８の詳細な処理の一例を示すフローチャートである。
【図１９】ステップＳ２０８の詳細な処理を具体的に説明するための図である。
【図２０】内積について説明するための図である。
【図２１】前フレームの特徴点に対応する現フレームの特徴点を求める方法の一例について説明する図である。
【図２２】ステップＳ３００の詳細な処理の一例を示すフローチャートである。
【図２３】ステップＳ４００の詳細な処理の一例を示すフローチャートである。
【図２４】実施例２に係る撮像装置が有する機能の一例を示す機能ブロック図である。
【図２５】実施例２に係る撮像装置を用いて画像の撮影を行う処理の一例を示すフローチャートである。
【図２６】指定領域の形状の別例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本件の実施例について、添付図面を参照しつつ説明する。
【実施例１】
【００１１】
まず、実施例１に係る撮像装置の構成について説明する。図１は、実施例１に係る撮像装置の構成の一例を示す図である。
【００１２】
図１（Ａ）に示すように、実施例１に係る撮像装置１００は、撮像部１０、表示部２０、操作部３０、制御部４０、及び格納部５０を備える。撮像装置１００が、例えば、図１（Ｂ）に示す携帯電話である場合、撮像部１０は携帯電話本体に設けられたカメラ、表示部２０は表示画面、操作部３０は操作ボタンやタッチパネル、制御部４０は携帯電話に内蔵された演算装置、格納部５０は携帯電話本体に内蔵、又は追加されるメモリとすることができる。また、撮像装置１００が、図１（Ｃ）に示すノート型ＰＣの場合、撮像部１０はノート型ＰＣ本体に内蔵される、あるいは、装着されるカメラ、表示部２０はディスプレイ、操作部３０はキーボード、マウス、又はタッチパネル、制御部４０はプログラムを実行するＣＰＵ、格納部５０はハードディスクドライブ等とすることができる。また、撮像装置１００が、図１（Ｄ）に示すデジタルカメラの場合には、撮像部１０はカメラ、表示部２０はデジタルカメラ本体に設けられたディスプレイ、操作部３０はデジタルカメラ本体に設けられたボタンやタッチパネル、制御部４０は演算装置、格納部５０は不揮発性の内蔵メモリやＳＤカード等の外部メモリとすることができる。本実施例では撮像装置１００が携帯電話であるとして説明を行う。
【００１３】
撮像部１０は、画像を撮像し、撮像した画像を制御部４０に出力する。また、撮像部１０は、光学系ズーム機構を備える。撮像部１０が、制御部４０の制御に基づいて光学系ズーム機構を駆動することにより、光学系のズーム倍率が変更される。
【００１４】
表示部２０は、制御部４０の制御に基づいて、制御部４０が表示部２０に出力した画像データを表示する。また、表示部２０は、制御部４０の制御に基づいて、撮像部１０が撮像する画像の中心、及び、ユーザが指定した領域（詳細は後述する）の中心を表示する。
【００１５】
操作部３０は、ユーザからの操作を受付け、操作内容を表す操作信号を制御部４０に出力する。
【００１６】
制御部４０は、操作部３０から操作信号を受付け、操作信号に基づいて撮像部１０や表示部２０を制御する。制御部４０は、撮像部１０から受付けた画像の画像データを表示部２０に出力し、表示部２０に表示させる。制御部４０は、撮像部１０から受付けた画像の画像データを、格納部５０に格納する。また、制御部４０は、表示部２０を制御して、撮像部１０が撮像する画像の中心、ユーザが指定した領域を示す枠、及びその中心を表示部２０に表示させる。
【００１７】
格納部５０は、撮像部１０が撮像した画像を格納する。
【００１８】
次に、撮像装置１００の制御部４０のハードウェア構成について説明する。図２は、制御部４０のハードウェア構成の一例を示す図である。制御部４０は、入出力部４０１、ＲＯＭ(Read Only Memory)４０２、中央処理装置（ＣＰＵ:Central Processing Unit）４０３、ＲＡＭ(Random Access Memory)４０４を備える。
【００１９】
入出力部４０１は、撮像部１０、表示部２０、操作部３０、及び格納部５０との間でデータおよび信号の送受信を行う。ＲＯＭ４０２は、被撮像物とユーザに指定された領域との位置関係を維持するためのプログラム等を格納する。ＣＰＵ４０３は、ＲＯＭ４０２に格納されたプログラムを読み込んで実行する。また、ＲＯＭ４０２に格納されたプログラムのＣＰＵ４０３による演算によって、図６に示す領域指定受付部４１１、領域計算部４１２、表示制御部４１４、ズーム倍率変更部４１５、画像補正部４１６、及び取得部４１７が有する機能が実行される。ＲＡＭ４０４は、プログラムを実行する際に使用される一時的なデータを保存する。
【００２０】
次に、図３〜図５を用いて、撮像装置１００が有する機能の概要について説明する。図３〜図５は、撮像装置１００が有する機能の概要を説明するための図である。
【００２１】
図３（Ａ）は、撮像装置１００において、いずれの機能も選択されていない状態を示している。図３（Ａ）では、いずれの機能も選択されていないため、表示部２０に画像は映し出されていない。この状態から、撮像部１０を使用した画像撮像機能（以後、カメラモードと記載する）がユーザによって選択されると、撮像装置１００は、図３（Ｂ）に示すように表示部２０に撮像部１０が撮像する画像を表示する。また、カメラモードが選択されている状態で、更に、画像に対して領域を指定できる機能（以後、領域指定モードと記載する）がユーザにより選択されると、撮像装置１００は、図３（Ｃ）に示すように表示部２０の中心にポインタを表示する。
【００２２】
図３（Ｃ）において、ユーザが、被撮像物としての家を含む矩形の領域を指定したいとする。この場合、ユーザは、図３（Ｃ）に示すように、表示部２０に表示されたポインタを指定したい領域の左上に合わせ、操作部３０に設けられたボタンを押す。次に、ユーザはボタンを押したまま、カメラを移動させることによって、図４（Ａ）に示すようにポインタを指定したい領域の右下の位置まで移動させ、ボタンを離す。これにより、ユーザは、図４（Ｂ）にハッチングで示す矩形の領域を指定することができる。撮像装置１００は、図４（Ｂ）に示すように、ユーザが指定した領域（以後、指定領域と記載する）を表す枠を、表示部２０に表示する。これにより、ユーザは指定領域を表示部２０上で容易に確認できる。なお、本実施例に係る撮像装置１００は、指定領域が設定された後、図４（Ｂ）に示すように指定領域が表示部２０内に含まれるように光学系のズーム倍率を変更している。領域の指定方法は、本実施例に限られるものではなく、左上の位置でボタンを押した後にボタンを離し、右下の位置で再度同じボタンを押す、又は、別のボタンを押すことによって領域を指定するようにしても良い。
【００２３】
本実施例に係る撮像装置１００では、撮像装置１００が移動されたり、ズーム倍率が変更されても、表示部２０に表示される画像内において、指定領域と被撮像物である家との位置関係が維持される。すなわち、撮像装置１００は、表示部２０に表示される被撮像物に合わせて、指定領域の表示位置及び大きさを変更し、被撮像物と指定領域との位置関係を維持する。また、撮像装置１００は、図４（Ｃ）に示すように撮像部１０が撮像する画像の中心、すなわち、表示部２０の中心と、指定領域の中心とを表示部２０に表示する。
【００２４】
また、撮像装置１００は、表示部２０の中心と指定領域の中心とが重なった場合に、図５（Ａ）に示すように光学系のズーム倍率を変更する。光学系のズーム倍率を変更して、図５（Ｂ）に示すように指定領域が表示部２０いっぱいに表示されるようにすることで、指定領域に含まれる画像について、撮像装置１００が有する解像度を生かした撮影を行うことができる。また、ユーザは、図５（Ｃ）に示すように撮像装置１００の縦横方向の向きを変えることにより、更に指定領域を拡大し、画像を撮影することもできる。
【００２５】
次に、上述した撮像装置１００の機能を実現するために、制御部４０が備える機能の一例について説明する。図６は、制御部４０が有する機能の一例を示す機能ブロック図である。
【００２６】
制御部４０は、領域指定受付部４１１、領域計算部４１２、記憶部４１３、表示制御部４１４、ズーム倍率変更部４１５、画像補正部４１６、及び取得部４１７を備える。
【００２７】
領域指定受付部４１１は、撮像部１０が撮像した画像を取得し、画像に対して特徴点を設定する。領域指定受付部４１１は、設定した特徴点のデータを記憶部４１３に保存する。ここで特徴点とは、画像に含まれる被撮像物の特定部位を示す点のことであり、頂点や縁の点、あるいは模様などがある場合は模様の点、色の境界点などを示す。また、領域指定受付部４１１は、カメラモードが選択された場合には、図３（Ｃ）に示したように表示部２０の中心にポインタを表示する。領域指定受付部４１１は、ユーザによって指定された指定領域を定義する点についても、特徴点として記憶部４１３に保存する。
【００２８】
領域計算部４１２は、記憶部４１３に保存されている特徴点のデータと、撮像部１０が撮像する画像データとを使用して、指定領域と、指定領域に含まれる被撮像物との位置関係が維持されるように、指定領域の位置及びその大きさを計算する。つまり、領域計算部４１２は、指定領域を示す枠の表示位置及びその大きさを計算する。前述の図４の例では、領域計算部４１２は、ユーザが指定した矩形領域と、矩形領域に含まれる家との位置関係が維持されるように、指定領域を示す枠の表示位置及び大きさを計算する。領域計算部４１２は、指定領域と被撮像物との位置関係を維持するような指定領域の位置及び大きさを計算する計算処理の結果（詳細は、後述する）に基づいて、記憶部４１３に記憶されている特徴点のデータを更新する。
【００２９】
記憶部４１３は、例えば、ＲＡＭ４０３とすることができ、撮像部１０が撮像した画像、特徴点のデータ、及び指定領域に関するデータを記憶する。ここで、記憶部４１３に記憶されるデータについて説明する。
【００３０】
図７は、記憶部４１３が記憶するデータの一例を示している。記憶部４１３は、図７（Ａ）に示す特徴点配列データと、図７（Ｂ）に示す指定領域データとを記憶する。図７（Ａ）の特徴点配列データは、領域指定受付部４１１が撮像された画像に対して設定した特徴点、及びユーザが指定領域を設定する際に指定した点（指定領域を定義する点）に関するデータを含んでいる。特徴点配列データは、特徴点の種類、前フレームでの座標、前フレームでの特徴量、特徴点の状態（前）、指定領域内フラグ（前）、現フレームでの座標、現フレームでの特徴量、特徴点の状態（現）、指定領域内フラグ（現）、位置の妥当性、及び特徴点の信頼度の項目を有する。
【００３１】
ここで、図７及び図８を参照しつつ、特徴点配列データの各項目と、各項目に格納されるデータの例について説明する。図８は、撮像部１０により撮像された画像の一例を表す。図８（Ｂ）は、撮像部１０が新たに撮像した画像（現フレームの画像：第１の画像）の一例を示し、図８（Ａ）は現フレームの画像を撮像する前に、撮像部１０が撮像していた画像（前フレームの画像：第２の画像）の一例を示している。図８（Ａ）に示す前フレームの画像において、Ｐ１〜Ｐ８は、領域指定受付部４１１が選択した特徴点を表し、Ｐ９及びＰ１０は、指定領域を定義する点を表している。また、図８（Ｂ）に示すＰ１´〜Ｐ１０´は、領域計算部４１２が実施する処理（詳細は後述する）によって、前フレームのＰ１〜Ｐ１０にそれぞれ対応する点であると判定された点を表している。
【００３２】
「特徴点の種類」項目は、特徴点が領域指定受付部４１１によって設定された特徴点であるか、それともユーザが指定領域を設定するときに指定した点であるかを表す。図８の例では、Ｐ１〜Ｐ８は領域指定受付部４１１によって設定された点であるため、領域指定受付部４１１によって設定されたことを意味する「ＡＵＴＯ＿ＡＤＤ」が設定される。Ｐ９及びＰ１０は、ユーザによって指定された点であるため、ユーザによって指定されたことを意味する「ＵＳＥＲ＿ＡＤＤ」が設定される。
【００３３】
「前フレームでの座標」項目は、前フレームの画像において設定された特徴点の座標を表す。すなわち、図８の例では、図８（Ａ）に示すＰ１〜Ｐ１０の座標が格納される。
【００３４】
「前フレームでの特徴量」項目は、前フレームにおける特徴点の特徴量を示す。すなわち、図８の例では、図８（Ａ）に示すＰ１〜Ｐ１０の特徴量が格納される。特徴量は、スカラ値でも良いし、利用する特徴量を表すのに必要なデータ構造であればスカラ値でなくても良い。
【００３５】
「特徴点の状態（前）」項目は、前フレームにおいて、特徴点が表示部２０の画面内に存在しているか否かを示す。図８（Ａ）の例では、Ｐ１〜Ｐ１０の全ての特徴点が、画面内に存在しているため、特徴点が画面内に存在していることを示す「ＳＴＡＴ＿ＩＮ」が設定される。なお、特徴点が画面内に存在していない場合には、「ＳＴＡＴ＿ＯＵＴ」が設定される。
【００３６】
「指定領域内フラグ（前）」項目は、前フレームにおいて、特徴点が指定領域内に存在しているか否かを表す。図８（Ａ）では、前フレームの特徴点Ｐ１〜Ｐ７は、特徴点Ｐ９及びＰ１０で定義される指定領域内に存在しているため、特徴点が指定領域内に存在することを示す「ＦＬＡＧ＿ＩＮ」が設定される。また、特徴点Ｐ８については、特徴点Ｐ９及びＰ１０で定義される指定領域の外に存在するため、特徴点が指定領域の外に存在することを意味する「ＦＬＡＧ＿ＯＵＴ」が設定される。なお、指定領域を定義する特徴点Ｐ９及びＰ１０については、「選択領域内フラグ（前）」項目に、「ＦＬＡＧ＿ＩＮ」を設定しても良いし、空白としても良い。
【００３７】
「現フレームでの座標」項目は、現フレームにおける特徴点の座標を表す。図８の例では、前フレームの特徴点Ｐ１〜Ｐ１０とそれぞれ対応すると判定された、図８（Ｂ）の特徴点Ｐ１´〜Ｐ１０´の座標が格納される。
【００３８】
「現フレームでの特徴量」項目は、現フレームの特徴点Ｐ１´〜Ｐ１０´の特徴量を表す。図８の例では、図８（Ｂ）に示す特徴点Ｐ１´〜Ｐ１０´の特徴量が格納される。
【００３９】
「特徴点の状態（現）」項目は、現フレームの特徴点が表示部２０の画面内に存在するか否かを表す。図８（Ｂ）の例では、特徴点Ｐ１´〜Ｐ１０´の全てが画面内に存在しているため、特徴点が画面内に存在していることを示す「ＳＴＡＴ＿ＩＮ」が設定される。なお、特徴点が画面内に存在していない場合には、「ＳＴＡＴ＿ＯＵＴ」が設定される。
【００４０】
「指定領域内フラグ（現）」項目は、現フレームの特徴点が指定領域内にあるか否かを表す。図８（Ｂ）では、特徴点Ｐ２´〜Ｐ８´は、特徴点Ｐ９´及びＰ１０´で定義される指定領域内に存在しているため、特徴点が指定領域内に存在することを示す「ＦＬＡＧ＿ＩＮ」が設定される。特徴点Ｐ１´は、特徴点Ｐ９´及びＰ１０´で定義される指定領域の外に存在するため、特徴点が指定領域の外に存在することを意味する「ＦＬＡＧ＿ＯＵＴ」が設定される。
【００４１】
「位置の妥当性」項目は、現フレームにおける特徴点の位置が正常であるか、異常であるか否かを表す。図８の例では、前フレームの特徴点Ｐ１〜Ｐ９と対応すると判定された現フレームの特徴点Ｐ１´〜Ｐ９´には、位置が正常であることを示す「ＶＡＬＩＤ」の値が設定される。前フレームの特徴点Ｐ１〜Ｐ９と、現フレームの特徴点Ｐ１´〜Ｐ９´とは対応がとれているためである。しかしながら、前フレームの特徴点Ｐ１０と対応すると判定された現フレームの特徴点Ｐ１０´は、本来、図８（Ｂ）において黒丸で示すＰ１０の位置に存在すべきである。従って、Ｐ１０については、位置が異常であることを示す「ＩＮＶＡＬＩＤ」の値が設定される。
【００４２】
「特徴点の信頼度」項目は、その特徴点の追跡の容易さを表す。特徴点の追跡が容易な場合、「特徴点の信頼度」項目には、大きな値が設定され、特徴点の追跡が困難な場合、小さな値が設定される。
【００４３】
次に、図７（Ｂ）の指定領域データについて説明する。指定領域データは、指定領域を定義するためのデータであり、領域の形状、構成する指定点の配列、外接矩形中心座標、外接矩形座標（左上）、及び外接矩形座標（右下）の項目を含む。
【００４４】
「領域の形状」項目は、指定領域の形状（例えば、矩形、円等）を表す。図８の例では、指定領域の形状が矩形であるため、「領域の形状」項目には、「矩形」が設定されている。
【００４５】
「構成する指定点の配列」項目は、指定領域の形状で表された図形を表現するために必要な点の配列を表す。例えば、指定領域の形状が矩形であるならば、左上及び右下の２点であり、円ならば中心点及びその半径となる点の２点である。図８の例では、指定領域の形状が矩形であるため、「構成する指定点の配列」項目に、「矩形２点」と設定される。
【００４６】
「外接矩形中心座標」項目は、指定領域の中心座標を表す。「外接矩形座標（左上）」項目は、領域の形状が矩形である場合に、指定領域を示す左上の点の座標を表す。また、「外接矩形座標（右下）」項目は、領域の形状が矩形である場合に、指定領域を示す右下の点の座標を表す。領域の形状が円である場合には、「外接矩形座標（左上）」項目を円の中心を表す円中心座標、「外接矩形座標（右下）」項目を半径の点を表す半径点座標として使用しても良い。図８の例では、特徴点Ｐ１０´が左上の点であり、Ｐ９´が右下の点である。従って、「外接矩形座標（左上）」項目には、現フレームの特徴点Ｐ１０´の座標（ｘ１０´，ｙ１０´）が設定されている。また、「外接矩形座標（右下）」項目には、現フレームの特徴点Ｐ９´の座標（ｘ９´，ｙ９´）が設定されている。また、指定領域の中心座標（ｃｘ，ｃｙ）は、ｃｘ＝（ｘ９´＋ｘ１０´）／２、ｃｙ＝（ｙ９´＋ｙ１０´）／２で求められる。なお、指定領域データの座標は、撮像部１０が撮像した画像における座標ではなく、表示部２０における座標（画面上の座標）を用いて表しても良い。
【００４７】
再度、図６に戻り説明を続ける。表示制御部４１４は、撮像部１０が撮像した画像に基づいて、撮像部１０が撮像する画像の中心を表示する。また、表示制御部４１４は、記憶部４１３に記憶されている指定領域データを取得し、指定領域を示す枠、及び指定領域の中心を表示部２０に表示する。これにより、ユーザは、指定領域を示す枠、指定領域の中心、及び画像の中心を目印として、容易にカメラの向きや位置を操作することができる。
【００４８】
ズーム倍率変更部４１５は、撮像部１０に備えられた光学系ズーム機構を制御することによって、光学系のズーム倍率を変更する。ズーム倍率変更部４１５は、指定領域の中心と、撮像部１０が撮像した画像の中心との距離が、所定の範囲内となった場合に、指定領域が表示部２０いっぱいに表示されるように光学系のズーム倍率を変更する。ズーム倍率変更部４１５は、指定領域が表示部２０いっぱいに表示されたか否かを、例えば、指定領域の一部と、表示部２０の端との距離が所定の範囲内となったか否かによって判定できる。
【００４９】
取得部４１７は、撮像部１０が撮像した画像のうち、指定領域に含まれる画像のみを取得し、取得した画像を記憶部４１３に保存する。図９は、取得部４１７の機能の概要について説明する図である。ここでは、図９（Ａ）に示すように、指定領域が設定されていたとする。この場合、取得部４１７は、図９（Ｂ）に示す表示部２０に表示された画像全体を取得するのではなく、図９（Ｃ）に示すように、指定領域に含まれる画像のみを取得する。
【００５０】
図６に戻り説明を続ける。画像補正部４１６は、取得部４１７が記憶部４１３に保存した画像に対し、補正処理を行う。具体的には、画像補正部４１６は、記憶部４１３に保存された画像が歪んでいる場合には、画像を正対させる台形補正処理を画像に対して実行する。例えば、指定領域の形が矩形と指定されているにも関わらず、記憶部４１３に保存された画像が、図１０（Ａ）に示すような台形となっているとする。この場合、画像補正部４１６は、画像が歪んでいると判定し、図１０（Ｂ）に示すように、画像を正対させる台形補正処理を実行する。
【００５１】
また、画像補正部４１６は、記憶部４１３に保存された画像が傾いている場合には、画像の傾きを補正する傾き補正処理を実行する。例えば、画像を撮像する際に撮像装置１００が、図１１（Ａ）に示すように傾いていたとする。ここで、ズーム倍率変更部４１５が、指定領域が表示部２０いっぱいに表示されるように光学系ズームの倍率を変更すると、指定領域と表示部２０との関係は、図１１（Ｂ）となる。この状態で、画像を撮像すると、取得部４１７により取得される画像は、図１１（Ｃ）となり、記憶部４１３に保存される画像にはハッチングで示す空白部分（余白）が生じてしまう。この場合、画像補正部４１６は、傾いて取得された画像を回転し、図１１（Ｄ）に示すように、指定領域の下端が水平になるように画像を補正する。画像補正部４１６は、補正した画像を格納部５０に格納する。また、画像補正部４１６は、画像を補正する必要がない場合には、記憶部４１３に保存された画像をそのまま格納部５０に格納する。
【００５２】
次に、フローチャートを用いて制御部４０が実行する処理の一例について説明する。図１２及び図１３は、制御部４０が実行する主処理の一例を示すフローチャートである。
【００５３】
ユーザによりカメラモードが選択されると、図１２に示すフローチャートの処理が開始される。領域指定受付部４１１は、撮像部１０が撮像した画像をフレーム画像として取得する（ステップＳ１０）。次に、領域指定受付部４１１は、ユーザによって領域選択モードが指定されたか否か判定する（ステップＳ１１）。領域選択モードが指定された場合（ステップＳ１１／ＹＥＳ）、領域指定受付部４１１は、表示部２０にポインタを表示する（ステップＳ１２）。
【００５４】
次に、領域指定受付部４１１は、ステップＳ１０で取得したフレーム画像において特徴点を選択し、特徴点を記憶部４１３に保存する（ステップＳ１００）。ここで、特徴点の選択及び保存処理の詳細について説明する。図１４は、ステップＳ１００の詳細な処理の一例を示すフローチャートである。
【００５５】
図１４において、領域指定受付部４１１は、フレーム画像の中から、注目画素を選択し、その特徴量ｖを求める（ステップＳ１０１）。次に、領域指定受付部４１１は、選択した注目画素の特徴量ｖが予め定められた閾値Ｔｖより大きいか否か判定する（ステップＳ１０２）。領域計算部４１２が特徴点を追跡するのに十分な特徴量を、選択した特徴点が有しているか否かを判定するためである。
【００５６】
選択した注目画素の特徴量ｖが予め定められた閾値Ｔｖより小さい場合（ステップＳ１０２／ＮＯ）、領域指定受付部４１１は、次の注目画素について処理するためステップＳ１０１へ戻る。選択した注目画素の特徴量ｖが閾値Ｔｖよりも大きい場合（ステップＳ１０２／ＹＥＳ）、領域指定受付部４１１は選択した注目画素と他の特徴点との距離が所定値以上か否か判定する（ステップＳ１０３）。つまり、ステップＳ１０３の処理で、領域指定受付部４１１は、選択した注目画素と既に決定した特徴点との距離が近すぎないかどうか判定する。
【００５７】
ステップＳ１０３の判定がＮＯの場合、領域指定受付部４１１は、次の注目画素について処理するためステップＳ１０１へ戻る。ステップＳ１０３の判定がＹＥＳの場合、領域指定受付部４１１は、選択した注目画素を特徴点として、特徴点配列データに追加する（ステップＳ１０４）。次に領域指定受付部４１１は、閾値Ｔｖに対して、フレーム画像内の全ての画素を処理したか否か判定する（ステップＳ１０５）。ステップＳ１０５の判定がＮＯの場合、領域指定受付部４１１は、残りの画素について処理するため、ステップＳ１０１へ戻る。ステップＳ１０５の判定がＹＥＳの場合、領域指定受付部４１１は、取得したフレーム画像の中の特徴点の数が、予め定めた閾値Ｔｖ＿ｎｕｍより大きいか否か判定する（ステップＳ１０６）。
【００５８】
ステップＳ１０６の判定がＹＥＳの場合、十分な数の特徴点が抽出できたとして、領域指定受付部４１１は本処理を終了する。ステップＳ１０６の判定がＮＯの場合、領域指定受付部４１１は、特徴量の閾値Ｔｖの値を下げ、再びステップＳ１０１〜ステップＳ１０６の処理を実行する。
【００５９】
図１４に示した処理が終了すると、領域指定受付部４１１は、図１２において、ユーザが領域を指定中か否か判定する（ステップＳ１３）。ユーザが領域を指定中か否かの判定は、例えば、ユーザが操作部３０において所定のボタンを押しているか否か等によって判定できる。
【００６０】
領域指定受付部４１１は、ユーザが領域を指定中の場合（ステップＳ１３／ＹＥＳ）、指定領域を定義する点を設定する処理（特徴点追加処理）が行われたか否か判定する（ステップＳ１４）。領域指定受付部４１１は、特徴点追加処理が行われた場合（ステップＳ１４／ＹＥＳ）、ユーザが指定した点を、特徴点として特徴点配列データに追加する（ステップＳ１５）。そして、ステップＳ１５の処理により指定領域が設定されたので、領域指定受付部４１１は、ステップＳ１００の処理によって特徴点配列データに保存された各特徴点の「指定領域内フラグ(現)」項目の値を更新する（ステップＳ１６）。
【００６１】
ステップＳ１４の判定がＮＯの場合、又は、ステップＳ１６の処理が終わると、領域計算部４１２は前フレームの特徴点に関する情報が、記憶部４１３に存在するか否か判定する（ステップＳ１７）。前フレームの特徴点に関する情報が存在する場合（ステップＳ１７／ＹＥＳ）、図１３のＣに進み、領域計算部４１２は、前フレームの特徴点と現フレームの特徴点とを対応付け、対応付けた現フレームの特徴点の位置の妥当性を検証する（ステップＳ２００）。ここで、ステップＳ２００の処理の詳細について説明する。図１５は、ステップＳ２００の詳細な処理の一例を示すフローチャートである。
【００６２】
図１５において、領域計算部４１２は、後述する位置の妥当性を検証する処理が実行されていない特徴点（未処理の特徴点）が存在するか否か判定する（ステップＳ２０１）。未処理の特徴点が存在する場合（ステップＳ２０１／ＹＥＳ）、領域計算部４１２は、特徴点Ｐｎを一つ選択する（ステップＳ２０２）。領域計算部４１２は、前フレームにおける特徴点Ｐｎの座標（ｘｎ，ｙｎ）周辺の局所領域を取り出す（ステップＳ２０３）。次に、領域計算部４１２は、現フレームの画像データを走査し、ステップＳ２０３で取り出した局所領域との類似度を求める。そして、領域計算部４１２は、現フレームにおいて、ステップＳ２０３で取り出した局所領域と最も類似度が高い局所領域の座標（ｘｎ´，ｙｎ´），を探索する（ステップＳ２０４）。図１６に、ステップＳ２０３及びステップＳ２０４の処理の概要を説明するための図を示す。
【００６３】
図１６（Ａ）は、前フレームの画像の概略を、図１６（Ｂ）は、現フレームの画像の概略を表している。図１６（Ａ）において、領域計算部４１２は、図中斜線で示す特徴点Ｐ１の座標（ｘ１，ｙ１）周辺の局所領域（太枠で表示）を取り出す（ステップＳ２０３）。次に、領域計算部４１２は、図１６（Ｂ）に示す現フレームの画像データを走査し、各座標において図１６（Ａ）で取り出した局所領域との類似度を求める。そして、領域計算部４１２は、図１６（Ａ）で取り出した局所領域と最も類似度が高い局所領域の座標（ｘ１´，ｙ１´）を探索する（ステップＳ２０４）。なお、特徴点の移動先を検出する方法は、本実施例のステップＳ２０３及びステップＳ２０４で示した方法に限られるものではなく、オプティカルフローや、パターンマッチング等の他の方法を用いて、特徴点の移動先を検出しても良い。
【００６４】
図１５のフローチャートに戻り、説明を続ける。領域計算部４１２は、ステップＳ２０４の処理が終了すると、（ｘｎ，ｙｎ）と、（ｘｎ´，ｙｎ´）とが対応する点であるとみなせるか否か判定する（ステップＳ２０５）。例えば、領域計算部４１２は、類似度が予め定められた閾値を超えている場合に、（ｘｎ，ｙｎ）と、（ｘｎ´，ｙｎ´）とが対応する点であるとみなせると判定する。
【００６５】
ステップＳ２０５の判定がＮＯの場合、領域計算部４１２は、対応する点は、画面外に出てしまったとして、特徴点配列データの「特徴点の状態（現）」項目に、特徴点が画面外に存在することを意味する「ＳＴＡＴ＿ＯＵＴ」を設定する（ステップＳ２０７）。そして、領域計算部４１２は、ステップＳ２０１に戻る。
【００６６】
ステップＳ２０５の判定がＹＥＳの場合、領域計算部４１２は、対応点が見つかったとして、（ｘｎ，ｙｎ）と対応付けて、「現フレームでの座標」項目に（ｘｎ´，ｙｎ´）を格納し、「特徴点の状態（現）」項目に、現フレームの特徴点が画面の内部に存在することを意味する「ＳＴＡＴ＿ＩＮ」を設定する（ステップＳ２０６）。次に、領域計算部４１２は、対応する特徴点間の妥当性の検証と座標の修正処理を実行する（ステップＳ２０８）。ここで、図１７〜図１９を用いて、ステップＳ２０８の処理の詳細について説明する。図１７及び図１８は、ステップＳ２０８の詳細な処理の一例を示すフローチャートである。また、図１９は、ステップＳ２０８の詳細な処理を具体的に説明するための図である。
【００６７】
領域計算部４１２は、「特徴点の状態（現）」項目に「ＳＴＡＴ＿ＩＮ」が設定された全ての特徴点について、後述する処理を実行したか否か判定する（ステップＳ２１１）。ステップＳ２１１の判定がＮＯの場合、領域計算部４１２は、「特徴点の状態（現）」項目に「ＳＴＡＴ＿ＩＮ」が設定されている特徴点の中から、特徴点Ｐｎを一つ選択する（ステップＳ２１２）。次に、領域計算部４１２は、「特徴点の状態（前）」項目に「ＳＴＡＴ＿ＩＮ」が設定されている、つまり、前フレームの画像において画面内に存在していた特徴点二つの組み合わせ（Ｐｌ，Ｐｍ）（ｌ≠ｍ≠ｎ、ｌとｍは、Ｔｖ＿ｎｕｍ以下の任意の数）をｋ組選択する（ステップＳ２１４）。ここで、（Ｐｌ，Ｐｍ）の組み合わせを、Ｐ（ｉ）（Ｐｌ，Ｐｍ）と記載する（ｉ＝１〜ｋ）。
【００６８】
ここで、図１９を参照して、上述の処理について具体的に説明する。図１９において、図１９（Ａ）の左図は、前フレームの画像に対して設定された特徴点の一例であり、図１９（Ａ）の右図は、前フレームの特徴点と対応すると判定された、現フレームの特徴点の一例である。ここで、ステップＳ２１２の処理で領域計算部４１２が選択した特徴点が、図１９（Ａ）に示すＰ１であったとする。この場合、領域計算部４１２は、別の特徴点の組み合わせとして、例えば、Ｐ（１）（Ｐ２，Ｐ３）、Ｐ（２）（Ｐ３，Ｐ４）、及びＰ（３）（Ｐ２，Ｐ４）の３組をステップＳ２１３で選択する。
【００６９】
図１７のフローチャートに戻り、説明を続ける。領域計算部４１２は、前フレームの特徴点ＰｎとＰ（ｉ）（Ｐｌ，Ｐｍ）との内積を全て（ｋ組分）求める（ステップＳ２１５）。ここで、ＰｎとＰ（ｉ）（Ｐｌ，Ｐｍ）との内積を求めるとは、図２０（Ａ）において、ベクトルＰｎｌとベクトルＰｎｍとの内積を求めることをいう。また、以後の説明において、ＰｎとＰ（ｉ）（Ｐｌ，Ｐｍ）との内積を、ｃｏｓθ（Ｐ（ｉ）（Ｐｌ，Ｐｍ））、又は、ｃｏｓθ（Ｐｎｉ）と記載する。例えば、図２０（Ｂ）において、Ｐ１とＰ（１）（Ｐ２，Ｐ３）との内積は、ｃｏｓθ（Ｐ（１）（Ｐ２，Ｐ３））、又は、ｃｏｓθ（Ｐ１１）と記載される。
【００７０】
再度、図１９を用いて具体的に説明する。図１９（Ｂ）〜図１９（Ｄ）の左図は、ステップＳ２１２で領域計算部４１２が選択した特徴点Ｐ１と、ステップＳ２１３の処理で領域計算部４１２が選択した特徴点の組み合わせとの、前フレームにおける関係を示している。図１９の例では、領域計算部４１２は、ステップＳ２１４で、ｃｏｓθ（Ｐ１１）、ｃｏｓθ（Ｐ１２）、及びｃｏｓθ（Ｐ１３）を求める。
【００７１】
次に、図１７のフローチャートにおいて、領域計算部４１２は、ステップＳ２１４と同様に、現フレームの特徴点Ｐｎ´とＰ（ｉ）´（Ｐｌ´，Ｐｍ´）との内積を全て（ｋ組分）求める（ステップＳ２１５）。図１９（Ｂ）〜図１９（Ｄ）の中央に示す図は、現フレームにおける特徴点同士の関係を示している。領域計算部４１２は、ステップＳ２１５で、ｃｏｓθ（Ｐ１１´）、ｃｏｓθ（Ｐ１２´）、及びｃｏｓθ（Ｐ１３´）を求める。
【００７２】
次に、領域計算部４１２は、変数ｗｒｏｎｇの値を０で初期化する（ステップＳ２１６）。ここで、変数ｗｒｏｎｇは、異常な特徴点の数をカウントするための変数である。
【００７３】
領域計算部４１２は、式（１）で計算される値が閾値Ｔｉｎｎｅｒ＿ｐｒｏｄｕｃｔ以下であるか判定する（ステップＳ２１７）。３点間の位置関係が現フレームと前フレームとで同じであれば、前フレームでの内積値と現フレームでの内積値とは等しくなる。したがって、式（１）で表される値が、閾値以上である場合、ステップＳ２１２で選択した特徴点と、ステップＳ２１３で選択した特徴点の組み合わせとの位置関係が、前フレームと現フレームにおいて異なると考えられるからである。
【数１】
0005458877.tif 000002
【００７４】
ステップＳ２１７の判定がＮＯの場合、領域計算部４１２は変数ｗｒｏｎｇの値を増やす（ステップＳ２１８）。ステップＳ２１７の判定がＹＥＳの場合、又は、ステップＳ２１８の処理の後、領域計算部４１２は、内積を求めた全ての組についてステップＳ２１７の処理を行ったか否か判定する（ステップＳ２１９）。全てについて処理が終わっていない場合（ステップＳ２１９／ＮＯ）、領域計算部４１２は、ステップＳ２１７〜Ｓ２１９の処理を繰り返す。全てについて処理が終了した場合（ステップＳ２１９／ＹＥＳ）、領域計算部４１２は、変数ｗｒｏｎｇを、組数ｋで除した値が、予め定めた値Ｃよりも小さいか否か判定する（ステップＳ２２０）。
【００７５】
ステップＳ２２０の判定がＮＯの場合、「位置の妥当性」項目に、現フレームの特徴点の位置が異常であることを示す「ＩＮＶＡＬＩＤ」を設定する（ステップＳ２２２）。ステップＳ２２０の判定がＹＥＳの場合、「位置の妥当性」項目に、位置が正常であることを意味する「ＶＡＬＩＤ」を設定する（ステップＳ２２１）。そして、領域計算部４１２は、ステップＳ２１１に戻る。
【００７６】
図１９の例では、図１９（Ｂ）〜（Ｄ）の右図に示すとおり、３組のうち、２組の値が閾値Ｔｉｎｎｅｒ＿ｐｒｏｄｕｃｔより大きい。従って、変数ｗｒｏｎｇの値は２となる。変数ｗｏｒｎ（＝２）を、組数ｋ（＝３）で除した値は０．６６となるため、予め定めた値Ｃを０．２５とすると、図１９の例では、ステップＳ２２０の判定結果はＮＯとなり、特徴点Ｐ１の「位置の妥当性」項目には、「ＩＮＶＡＬＩＤ」が設定される。
【００７７】
図１７に戻り、フローチャートの説明を続ける。ステップＳ２１１の判定がＹＥＳの場合、領域計算部４１２は、図１８のＦに進み、「特徴点の状態（現）」項目に「ＳＴＡＴ＿ＯＵＴ」が設定されている、又は、「位置の妥当性」項目に「ＩＮＶＡＬＩＤ」が設定されている全ての特徴点に対して、後述する処理を実行したか否か判定する（ステップＳ２２３）。ステップＳ２２３の判定がＹＥＳの場合、領域計算部４１２はは本処理を終了する。
【００７８】
ステップＳ２２３の判定がＮＯの場合、領域計算部４１２は、「位置の妥当性」項目に「ＶＡＬＩＤ」が設定されている特徴点を利用して、前フレームの座標に対応する現フレームの座標を求める（ステップＳ２２４）。具体的には、式（２）を用いて、前フレームの特徴点の座標（ｘｎ，ｙｎ）から、現フレームの特徴点Ｐｎ´の座標（ｘｎ´，ｙｎ´）を求める。
【００７９】
前フレームの特徴点Ｐｎの座標（ｘｎ、ｙｎ）が、現フレームの特徴点Ｐｎ´の座標（ｘｎ´，ｙｎ´）に移動したとすると、並行移動、拡大・縮小、回転による写像は式（２）のように表すことができる。
【数２】
0005458877.tif 000003
【００８０】
そこで、現フレームの特徴点Ｐｎ以外で、かつ、「位置の妥当性」項目に「ＶＡＬＩＤ」が設定されている特徴点と、その前フレームにおける特徴点とから、式（３）で表される行列Ａを求める。そして、式（２）を用いて、Ｐｎの移動先Ｐｎ´を求める。
【数３】
0005458877.tif 000004
【００８１】
なお、計算に必要な特徴点の数が足りない場合は、図２１（Ａ）に示すように、前フレームにおいて直線ＰｌＰｍ、∠ＰｎＰｌＰｍ、及び∠ＰｎＰｍＰｌを求める。そして、前フレームから現フレームに特徴点Ｐｌ、Ｐｍ、及びＰｎが相似に移動しているものと仮定し、図２１（Ｂ）に示すように、直線Ｐｎ´Ｐｌ´と、直線Ｐｎ´Ｐｍ´の交点を求めることによって、Ｐｎの移動先Ｐｎ´を求めても良い。
【００８２】
次に、領域計算部４１２は、対応点Ｐｎ´が求められたか否か判定する（ステップＳ２２５）。対応点Ｐｎ´が求められた場合（ステップＳ２２５／ＹＥＳ）、領域計算部４１２は、「特徴点の信頼度」項目の値を下げる（ステップＳ２２６）。他の特徴点を用いて位置を修正した特徴点であるため、その追跡が容易ではないと考えられるからである。
【００８３】
対応点Ｐｎ´が求められなかった場合（ステップＳ２２５／ＮＯ）、領域計算部４１２は、特徴点Ｐｎがユーザの指定した点か否か判定する（ステップＳ２２７）。つまり、領域計算部４１２は、「特徴点の種類」項目に、「ＵＳＥＲ＿ＡＤＤ」が設定されているか否か判定する。
【００８４】
特徴点Ｐｎがユーザの指定した点でない場合（ステップＳ２２７／ＮＯ）、領域計算部４１２は、Ｐｎを特徴点として使用するのを中止するために、特徴点配列データからＰｎのデータを削除し（ステップＳ２２８）、ステップＳ２２３に戻る。Ｐｎがユーザの指定した点である場合（ステップＳ２２７／ＹＥＳ）、領域計算部４１２は、図１３のＧに進み、特徴点配列データに格納されているデータを全てクリアする（ステップＳ２２）。この結果、指定領域はクリアされ、ステップＳ１０及びＳ１１の処理を経て、表示部２０にはポインタが表示されるようになる（ステップＳ１２）。
【００８５】
図１３に戻りフローチャートの説明を続ける。ステップＳ２００の処理が終了した場合、又はステップＳ１７の判定がＮＯの場合、領域計算部４１２は、指定領域が存在するか否か判定する（ステップＳ１８）。指定領域が存在する場合（ステップＳ１８／ＹＥＳ）、領域計算部４１２は、指定領域の妥当性を検証する（ステップＳ３００）。ここで、ステップＳ３００の処理の詳細について説明する。図２２は、ステップＳ３００の詳細な処理の一例を示すフローチャートである。
【００８６】
図２２において、領域計算部４１２は、特徴点配列データに含まれる全ての特徴点Ｐｎに対して、後述する処理を実行したか否か判定する（ステップＳ３０１）。特徴点Ｐｎを全て処理した場合（ステップＳ３０１）、領域計算部４１２は、指定領域は妥当な状態であると判定し（ステップＳ３０３）、処理を終了する。
【００８７】
特徴点Ｐｎを全て処理していない場合（ステップＳ３０１／ＮＯ）、領域計算部４１２は特徴点Ｐｎを一つ選択する（ステップＳ３０２）。次に、領域計算部４１２は、現フレームの特徴点Ｐｎ´が、指定領域内に存在するか否か、つまり、「選択領域内フラグ（現）」項目に、「ＦＬＡＧ＿ＩＮ」が設定されているか否か判定する（ステップＳ３０４）。
【００８８】
ステップＳ３０４の判定がＹＥＳの場合、領域計算部４１２は、前フレームの特徴点Ｐｎが指定領域内にあるか否か、つまり、「選択領域内フラグ（前）」項目に、「ＦＬＡＧ＿ＩＮ」が設定されているか否か判定する（ステップＳ３０５）。領域計算部４１２は、ステップＳ３０５の判定がＮＯの場合、指定領域は異常な状態であると判定する（ステップＳ３０７）。現フレームで指定領域内に存在している特徴点が、前フレームでは指定領域内に存在していなかったということは、特徴点と指定領域との位置関係に変更が生じていると考えられるからである。
【００８９】
領域計算部４１２は、ステップＳ３０５の判定がＹＥＳの場合、ステップＳ３０１に戻り処理を継続する。現フレームで指定領域内に存在する特徴点が、前フレームでも指定領域内にあったならば、指定領域と特徴点との位置関係に変更はないと考えられるからである。
【００９０】
領域計算部４１２は、ステップＳ３０４の判定がＮＯの場合、前フレームの特徴点Ｐｎが指定領域外にあるか、つまり、「選択領域内フラグ（前）」項目に、「ＦＬＡＧ＿ＯＵＴ」が設定されているか否か判定する（ステップＳ３０６）。ステップＳ３０６の判定がＹＥＳの場合、領域計算部４１２は、ステップＳ３０１に戻り、処理を継続する。現フレームで指定領域外にある特徴点が、前フレームでも指定領域外にあったということは、指定領域と特徴点との位置関係に変更がないと考えられるためである。
【００９１】
ステップＳ３０６の判定がＮＯの場合、領域計算部４１２は、指定領域が異常な状態であると判定し（ステップＳ３０７）、処理を終了する。現フレームで指定領域外に存在している特徴点が、前フレームでは指定領域内に存在していたということは、特徴点と指定領域との位置関係に変更が生じていると考えられるからである。
【００９２】
図１３に戻り説明を続ける。ステップＳ３００の処理後、領域計算部４１２は、指定領域が妥当な状態であるか否か判定する（ステップＳ１９）。指定領域が妥当な状態ではない場合（ステップＳ１９／ＮＯ）、領域計算部４１２は、特徴点配列データに格納されているデータを全てクリアする（ステップＳ２２）。この結果、指定領域はクリアされ、ステップＳ１０及びＳ１１の処理を経て、表示部２０にはポインタが表示される（ステップＳ１２）。
【００９３】
指定領域が妥当な状態にある場合（ステップＳ１９／ＹＥＳ）、表示制御部４１４は、指定領域とその中心位置を表示部２０に描画する（ステップＳ２０）。
【００９４】
領域計算部４１２は、ステップＳ１８の判定がＮＯの場合、又はステップＳ２０の処理の終了後、指定領域がクリアされているか否か判定する（ステップＳ２１）。ステップＳ２１の判定がＹＥＳの場合、領域計算部４１２は、特徴点配列データに格納されているデータを全てクリアする（ステップＳ２２）。この結果、指定領域はクリアされ、ステップＳ１０及びＳ１１の処理を経て、表示部２０には領域指定受付部４１１によりポインタが表示される（ステップＳ１２）。
【００９５】
指定領域がクリアされていない場合（ステップＳ２１／ＮＯ）、又は、ステップＳ１１の判定がＮＯの場合、ズーム倍率変更部４１５は、撮影処理（ステップＳ４００）を実行する。ここで、ステップＳ４００の処理の詳細について説明する。図２３は、ステップＳ４００の詳細な処理の一例を示すフローチャートである。
【００９６】
ズーム倍率変更部４１５は、ユーザによりシャッターが押されているか否か判定する（ステップＳ４０１）。本実施例では、ステップＳ４０１の「シャッターが押されている」は、「シャッターが半押しされている」であるとする。
【００９７】
ズーム倍率変更部４１５は、シャッターが押されている場合（ステップＳ４０１／ＹＥＳ）、ズーム倍率変更部４１５は、画面の中心と指定領域の中心とが一致していると判定できるほど、画面の中心と指定領域の中心との距離が小さいか否か判定する（ステップＳ４０２）。ステップＳ４０２の判定がＮＯの場合、ズーム倍率変更部４１５は、メッセージを表示部２０に表示する等して、画面の中心と指定領域の中心とを合わせるように、ユーザに促す（ステップＳ４０３）。ステップＳ４０３の処理が終了すると、ズーム倍率変更部４１５は、ステップＳ４０２から処理を継続する。
【００９８】
ステップＳ４０２の判定がＹＥＳの場合、ズーム倍率変更部４１５は、指定領域が画面内で最大になるように光学系のズーム倍率を調整する（ステップＳ４０４）。次に、ズーム倍率変更部４１５は、シャッターが最後まで押し込まれたか否か判定する（ステップＳ４０５）。つまり、本実施例では、ステップＳ４０５において、ステップＳ４０１で半押しされたシャッターが、ユーザにより押し込まれたか否かを判定している。なお、ユーザが撮影操作を実行しているか否かの判定は、シャッターの押下状態に基づくものでなくても良い。例えば、ズーム倍率の変更と、撮影動作とが、別々のボタンの操作によって実行されるとする。この場合、ステップＳ４０１において所定のボタンが押されたか否かを判定し、ステップＳ４０５では、ステップＳ４０１とは異なる所定のボタンが押されたか否かを判定するようにしても良い。
【００９９】
ズーム倍率変更部４１５は、ステップＳ４０５の判定がＮＯの場合、又は、ステップＳ４０１の判定がＮＯの場合、ユーザが撮影操作を実行していない未撮影状態であると判定する（ステップＳ４０８）。
【０１００】
ステップＳ４０５の判定がＹＥＳの場合、取得部４１７は、指定領域内の画像を記憶部４１３に記憶させる（ステップＳ４０６）。取得部４１７は、ユーザが撮影操作を行い画像が撮影されたと判定し（ステップＳ４０７）、処理を終了する。
【０１０１】
図１３に戻り説明を続ける。画像補正部４１６は、ユーザにより画像が撮影されたか否か判定する（ステップＳ２３）。ユーザにより画像が撮影された場合（ステップＳ２３／ＹＥＳ）、画像補正部４１６は、記憶部４１３に記憶されている画像に対し、台形補正や傾き補正等の画像補正処理を施し、補正後の画像を格納部５０に画像を保存する（ステップＳ２４）。画像補正部４１６は、処理を終了する。
【０１０２】
ユーザにより画像が撮影されなかった場合（ステップＳ２３／ＮＯ）、図１２のＤに進み、領域指定受付部４１１が、再びステップＳ１０から処理を実行する。
【０１０３】
以上の説明から明らかなように、実施例１によれば、指定領域の中心と撮像部１０が撮像する画像の中心との距離が予め定められた範囲内にある場合に、ズーム倍率変更部４１５は、指定領域が表示部２０いっぱいに表示されるように、光学系のズーム倍率を変更する。これにより、全体の画像を撮影してから指定領域の画像を切り出すよりも高い解像度で、指定領域に含まれる被撮像物を撮影することが可能となる。
【０１０４】
また、領域指定受付部４１１は、指定領域を定義する点の指定を表示部２０上に表示されるポインタを使用したユーザの操作に基づいて、受付ける。これにより、ユーザは直感的な操作により、容易に指定領域を設定することが可能となる。
【０１０５】
また、領域計算部４１２は、前フレームにおける複数の特徴点と、指定領域を定義する点との位置関係を使用して、前フレームにおける指定領域と、指定領域に含まれる被撮像物との位置関係が維持されるような現フレームにおける指定領域の位置及び大きさを計算する。そして、表示制御部４１４が、領域計算部４１２による計算結果に基づいて現フレームにおける指定領域を示す枠を、表示部２０に表示する。これにより、ユーザは指定領域を示す枠をガイドとして使用して、全体の画像と、指定領域との関係を容易に把握することが可能となる。
【０１０６】
また、取得部４１７が指定領域に含まれる画像のみを取得することで、ユーザは撮影後に指定領域を切り出す等の作業を行う必要がなくなり、ユーザの利便性が向上する。
【実施例２】
【０１０７】
実施例２では、実施例１に係る撮像装置１００の一部の機能のみを備える撮像装置１００´について説明する。図２４は、実施例２に係る撮像装置１００´が有する機能の一例を示す機能ブロック図である。撮像装置１００´は、図２４に示すように、ズーム倍率変更部４１５、取得部４１７、及び画像補正部４１６を含まず、撮像部１０が撮像した画像を格納部５０に保存する処理を行う保存処理部４１８を備える。保存処理部４１８は、ユーザの撮影操作を受付け、撮像部１０が撮像した画像を格納部５０に保存する。
【０１０８】
撮像装置１００´が図２４に示す構成を有する場合、画像を撮影する処理は、図２５のフローチャートに示す処理とすることができる。図２５は、撮像装置１００´を用いて画像の撮影を行う処理の一例を示すフローチャートである。
【０１０９】
図２５において、保存処理部４１８は、シャッターがユーザにより押されているか否か判定する（ステップＳ５０１）。保存処理部４１８は、シャッターが押されている場合（ステップＳ４０１／ＹＥＳ）、指定領域と表示部２０の画面サイズとが同じ位の大きさか否か判定する（ステップＳ５０２）。例えば、保存処理部４１８は、指定領域の一部と、表示部２０の端との距離が所定の値以下か否か判定する。
【０１１０】
ステップＳ５０２の判定がＮＯの場合、保存処理部４１８は、指定領域が画面サイズよりも大きいか否か判定する（ステップＳ５０３）。保存処理部４１８は、指定領域が画面サイズよりも大きい場合（ステップＳ５０３／ＹＥＳ）、指定領域が画面内に入るようにするため、ズーム倍率を小さくするよう求めるメッセージを表示部２０に表示する（ステップＳ５０４）。指定領域が画面サイズよりも小さい場合（ステップＳ５０３／ＮＯ）、保存処理部４１８は、指定領域が画面いっぱいに表示されるよう、ズーム倍率を大きくすることを求めるメッセージを表示部２０に表示する（ステップＳ５０５）。
【０１１１】
保存処理部４１８は、ステップＳ５０２の判定がＹＥＳだった場合、又は、ステップＳ５０４又はＳ５０５の処理の後、シャッターが最後まで押し込まれたか否か判定する（ステップ５０６）。
【０１１２】
ステップＳ５０６の判定がＮＯの場合、図１２のＤに進み、領域指定受付部４１１が、ステップＳ１０から処理を継続する。
【０１１３】
ステップＳ５０６の判定がＹＥＳの場合、保存処理部４１８は、撮像部１０が撮像した画像を格納部５０に格納し（ステップＳ５０７）、処理を終了する。
【０１１４】
以上の説明から明らかなように、実施例２によれば、領域計算部４１２が、前フレームにおける指定領域と、指定領域に含まれる被撮像物との位置関係が維持されるような現フレームにおける指定領域の位置及び大きさを計算する、そして、領域計算部４１２の計算結果に基づいて、表示制御部４１４が、表示部２０に、指定領域を示す枠、指定領域の中心、及び撮像部１０が撮像する画像の中心を表示する。これにより、ユーザは、指定領域の中心を、表示部２０の中心と合わせるようにすることで、容易に、指定した領域が中心となる画像を容易に撮影できる。また、指定領域を表す枠が表示部２０に表示されるので、ユーザは、指定領域と全体の画像との関係を確認しながら、光学系のズーム倍率を手動で変更して、指定領域が表示部２０いっぱいに表示されるよう容易に操作できる。なお、ユーザは光学系のズーム倍率を変更するのではなく、撮像装置１００´自体を被撮像物に近づけて、指定領域が表示部２０いっぱいに表示されるようにすることもできる。また、ユーザは、指定領域の中心を、表示部２０の中心と合わせつつ、指定領域が表示部２０いっぱいに表示されるように撮像装置１００´を操作することで、撮像装置１００´の解像度を生かした撮影を容易に行うことができる。
【０１１５】
以上、本件の複数の実施例について詳述したが、本件は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１１６】
例えば、実施例１において、指定領域の形を図２６（Ａ）に示す矩形としたが、図２６（Ｂ）〜（Ｇ）に示すように、指定領域の形を、円、楕円、ハート型、及び任意の形状とすることができる。指定領域の形が円の場合、ユーザは図２６（Ｂ）に示すように、中心点及び半径となる点の２点を指定することで領域を指定できる。指定領域の形が楕円の場合、ユーザは図２６（Ｃ）に示すように、中心点と長径・短径となる点の３点を指定することで領域を指定できる。指定領域の形がハート型の場合、ユーザは図２６（Ｄ）に示すように、中心点と、外接矩形の頂点を指定する、あるいは、図２６（Ｅ）に示すように左上と右下の点を指定することによって領域を指定できる。または、図２６（Ｅ）に示すように、中心点と外接円の半径などを指定することによってハート型の領域を指定できる。また、図２６（Ｆ）に示すように、ユーザは、点列を指定することによって任意の形状を指定することもできる。
【０１１７】
なお、上記の撮像装置が有する機能は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えるコンピュータによって実現することができる。その場合、撮像装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１１８】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１１９】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１２０】
また、例えば、インターネット等の通信網に接続されたサーバコンピュータに接続されたパーソナルコンピュータ等の通信装置に、上記の撮像装置が有する機能をサービスとしてサーバコンピュータから提供するようにしても良い（ＡＳＰ(Application Service Provider)）。
【符号の説明】
【０１２１】
１００、１００´…撮像装置
１０…撮像部
２０…表示部
４１１…領域指定受付部
４１２…領域計算部
４１４…表示制御部
４１５…ズーム倍率変更部
４１６…画像補正部
４１７…取得部
【図１】
0005458877.tif 000005
【図２】
0005458877.tif 000006
【図３】
0005458877.tif 000007
【図４】
0005458877.tif 000008
【図５】
0005458877.tif 000009
【図６】
0005458877.tif 000010
【図７】
0005458877.tif 000011
【図８】
0005458877.tif 000012
【図９】
0005458877.tif 000013
【図１０】
0005458877.tif 000014
【図１１】
0005458877.tif 000015
【図１２】
0005458877.tif 000016
【図１３】
0005458877.tif 000017
【図１４】
0005458877.tif 000018
【図１５】
0005458877.tif 000019
【図１６】
0005458877.tif 000020
【図１７】
0005458877.tif 000021
【図１８】
0005458877.tif 000022
【図１９】
0005458877.tif 000023
【図２０】
0005458877.tif 000024
【図２１】
0005458877.tif 000025
【図２２】
0005458877.tif 000026
【図２３】
0005458877.tif 000027
【図２４】
0005458877.tif 000028
【図２５】
0005458877.tif 000029
【図２６】
0005458877.tif 000030