JP4725059B2 - 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム - Google Patents

手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム Download PDF

Info

Publication number
JP4725059B2
JP4725059B2 JP2004262437A JP2004262437A JP4725059B2 JP 4725059 B2 JP4725059 B2 JP 4725059B2 JP 2004262437 A JP2004262437 A JP 2004262437A JP 2004262437 A JP2004262437 A JP 2004262437A JP 4725059 B2 JP4725059 B2 JP 4725059B2
Authority
JP
Japan
Prior art keywords
image
camera shake
correction
contour
degree
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004262437A
Other languages
English (en)
Other versions
JP2006011352A (ja
Inventor
新吾 湯田坂
祥一 中條
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004262437A priority Critical patent/JP4725059B2/ja
Publication of JP2006011352A publication Critical patent/JP2006011352A/ja
Application granted granted Critical
Publication of JP4725059B2 publication Critical patent/JP4725059B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Adjustment Of Camera Lenses (AREA)

Description

本発明は、撮影装置で撮影して得られた撮影画像の手ブレを補正する技術に関する。
デジタルカメラ(デジタルスチールカメラ)等で被写体を撮影する際、露光中のカメラの動き、いわゆる手ぶれによるボケが撮影画像に生じる。手ぶれによる画像の劣化を避けるため、従来から様々な技術が開発されてきた。
例えば、手ぶれの動きを検知するための加速度センサ等をカメラに装備しておき、同センサの検出信号を画像の動きに換算し、その画像の動きを補償する方向にカメラの光学系(プリズム、レンズ、あるいは撮像素子)を機械的に移動させる技術が知られている。
一方、加速度センサ等を利用しないで、得られた画像からソフト的に手ぶれを補正する技術も提案されている(例えば、下記の特許文献1)。
特開2000−298300号公報
しかしながら、上述した画像からソフト的に手ぶれを補正する技術では、精度よく手ブレを補正することができないという問題があった。というのも画像からでは、手ブレの方向と程度を正確に検出することが難しく、画像によっては高精度に手ブレを補正することができなかった。
本発明の解決しようとする課題は、手ブレの方向と程度を、正確にしかも簡単な操作によって操作者が指定可能とすることで、手ブレを高精度に補正可能とすることにある。
前述した課題の少なくとも一部を解決するための手段として、以下に示す構成をとった。
本発明の手ブレ画像補正装置は、
撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正装置であって、
前記撮影画像の全体もしくは一部についての前記手ブレを補正する以前の補正前画像を表わすウィンドウを表示装置に表示するウィンドウ表示手段と、
前記ウィンドウに表示される補正前画像に対してレイヤを形成するレイヤ形成手段と、
前記レイヤに前記撮影画像の少なくとも一部の輪郭を示す輪郭画像を配置する輪郭画像配置手段と、
操作者からの入力装置を用いた操作指令に基づいて、前記レイヤにおける前記輪郭画像の配置位置を移動する輪郭画像移動手段と、
前記輪郭画像移動手段による前記移動についての方向と距離を、前記手ブレの方向と程度として検出する手ブレ方向・程度検出手段と、
該検出された前記手ブレの方向と距離に基づいて、前記撮影画像の手ブレの補正を実行する手ブレ補正手段と
を備えることを特徴としている。
上記構成の手ブレ画像補正装置によれば、表示装置に表示されるウィンドウに、補正前画像である撮影画像の全体もしくは一部が表わされ、この補正前画像に対して、レイヤが形成される。レイヤには、撮影画像の少なくとも一部の輪郭を示す輪郭画像が配置される。レイヤにおける輪郭画像の配置位置は、操作者からの入力装置を用いた操作指令を受けて移動される。その移動についての方向と距離が、手ブレの方向と程度として検出されて、この検出された手ブレの方向と程度に基づいて、撮影画像の手ブレの補正が実行される。このために、操作者は、ウィンドウを見て、レイヤに配置された輪郭画像を、撮影画像(補正前画像)におけるその輪郭部分の手ブレの位置に合わせ込むように移動させることで、視認による手ブレの方向と程度を手ブレ画像補正装置に入力することができる。
したがって、操作者の操作により正確に入力された手ブレの方向と程度に従う手ブレ補正を行なうことができることから、画像の手ブレを高精度に補正することができる。
前記輪郭画像移動手段は、前記入力装置としてのマウスからのドラッグ操作を受け付けて、該ドラッグ操作に応じて、前記輪郭画像を移動する構成としてもよい。この構成によれば、操作者による操作が容易である。
本発明の手ブレ画像補正装置において、前記ウィンドウに表示される前記補正前画像についての輪郭を強調する補正前画像輪郭強調手段を備える構成としてもよい。
この構成によれば、補正前画像についての輪郭が強調されることから、操作者は、レイヤに配置された輪郭画像を補正前画像における輪郭部分に移動させる操作を、高精度に行なうことができる。したがって、画像の手ブレをより一層高精度に補正することができる。
前記ウィンドウ表示手段は、前記ウィンドウに、前記補正前画像に加えて、前記手ブレ補正手段による補正後画像を表わす補正後画像表示手段を備える構成としてもよい。
この構成によれば、表示装置に表示されるウィンドウに、手ブレ補正手段による補正前画像と補正後画像が表わされることから、操作者は、両画像を比較することで、手ブレ補正手段により手ブレがうまく補正されたか否かを容易に判定することができる。
上記補正後画像表示手段を備える手ブレ画像補正装置において、前記ウィンドウ表示手段は、前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる補正前画像拡大表示手段を備える構成とすることができる。
この構成によれば、補正前画像は、補正後画像と比べて表示倍率が高くなっていることから、操作者は、輪郭画像の移動を行なうに際して、手ブレの視認を容易に行なうことができ、また、その移動の操作も容易に行なうことができる。
本発明の手ブレ画像補正装置において、前記撮影画像に基づいて、前記手ブレの方向と程度を検出する手ブレ方向・程度検出手段を備え、前記ウィンドウ表示手段は、前記補正前画像を、前記手ブレ方向・程度検出手段により検出された前記手ブレの程度が小さいほど、表示倍率を高くして表示させる補正前画像拡大表示手段を備える構成とすることができる。
この構成によれば、撮影画像から手ブレ方向・程度検出手段により自動的に検出された手ブレの程度が小さい場合に、補正前画像が高い表示倍率で表示されることから、操作者は、輪郭画像の移動を行なうに際して、手ブレの視認を容易に行なうことができ、また、その移動の操作も容易に行なうことができる。
前記手ブレ方向・程度検出手段は、前記撮影画像の画素毎に手ブレの方向と程度を検出する各画素手ブレ検出手段と、前記各画素手ブレ検出手段により検出された手ブレの程度が最も大きいエッジ部を検出するエッジ検出手段と、前記エッジ検出手段により検出された前記エッジ部の手ブレの方向と程度を、前記撮影画像全体の手ブレの方向と程度に定める手ブレ決定手段とを備える構成とすることができる。
この構成によれば、撮影画像において最も手ブレの程度が大きいエッジ部における手ブレの方向と程度に基づいて、手ブレの補正が行なわれる。このために、撮影画像の自動的な手ブレ補正の精度を高めることができる。
上記構成の画像補正装置において、前記補正前画像拡大表示手段は、前記エッジ検出手段により検出されたエッジ部を少なくとも含む領域を拡大表示させる構成とすることができる。この構成によれば、操作者による輪郭画像の移動の操作が容易である。
前記構成の手ブレ画像補正装置において、前記手ブレ補正手段は、前記手ブレの方向と程度に基づいて、動作ぼかしを掛けるモーションブラーフィルタを設定するフィルタ設定手段と、該設定されたモーションブラーフィルタを用いて、前記撮影画像に対して演算処理を行なうフィルタ演算手段と、前記撮影画像と前記フィルタ演算手段により得られた画像との差分を演算する画像差分演算手段と、前記撮影画像に対して前記差分を合成することにより前記補正後画像を生成する画像合成手段とを備える構成とすることができる。
この構成によれば、手ブレ補正手段により、入力された前記手ブレの方向と程度に基づいて手ブレを、より一層、高精度に補正することができる。
本発明の手ブレ画像補正方法は、
撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正方法であって、
(a)前記撮影画像の全体もしくは一部についての前記手ブレを補正する以前の補正前画像を表わすウィンドウを表示装置に表示する行程と、
(b)前記ウィンドウに表示される補正前画像に対してレイヤを形成する行程と、
(c) 前記レイヤに前記撮影画像の少なくとも一部の輪郭を示す輪郭画像を配置する行程と、
(d)操作者からの入力装置を用いた操作指令に基づいて、前記レイヤにおける前記輪郭画像の配置位置を移動する行程と、
(e)前記行程(d)による前記移動についての方向と距離を、前記手ブレの方向と程度として検出する行程と、
(f)該検出された前記手ブレの方向と距離に基づいて、前記撮影画像の手ブレの補正を実行する行程と
を備えることを特徴としている。
本発明のコンピュータプログラムは、
撮影装置で撮影して得られた撮影画像の手ブレを補正するためのコンピュータプログラムであって、
(a)前記撮影画像の全体もしくは一部についての前記手ブレを補正する以前の補正前画像を表わすウィンドウを表示装置に表示する機能と、
(b)前記ウィンドウに表示される補正前画像に対してレイヤを形成する機能と、
(c) 前記レイヤに前記撮影画像の少なくとも一部の輪郭を示す輪郭画像を配置する機能と、
(d)操作者からの入力装置を用いた操作指令に基づいて、前記レイヤにおける前記輪郭画像の配置位置を移動する機能と、
(e)前記行程(d)による前記移動についての方向と距離を、前記手ブレの方向と程度として検出する機能と、
(f)該検出された前記手ブレの方向と距離に基づいて、前記撮影画像の手ブレの補正を実行する機能と
をコンピュータに実現させるためのコンピュータプログラムである。
本発明の手ブレ画像補正方法およびコンピュータプログラムによっても、本発明の手ブレ画像補正装置と同様に、操作者の操作により正確に手ブレの方向と程度を入力して、高精度の手ブレ補正を行なうことができるという効果を奏する。
本発明の記録媒体は、本発明のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体を特徴としている。この記録媒体は、この発明の各コンピュータプログラムと同様な作用・効果を有している。
本発明は、以下のような他の態様も含んでいる。その第1の態様は、この発明のコンピュータプログラムを通信経路を介して供給するプログラム供給装置としての態様である。この第1の態様では、コンピュータプログラムをコンピュータネットワーク上のサーバなどに置き、通信経路を介して、必要なプログラムをコンピュータにダウンロードし、これを実行することで、上記の方法や装置を実現することができる。
本発明を実施するための最良の形態を実施例に基づき説明する。この実施例を、次の順序に従って説明する。
1.第1実施例:
A.装置の構成:
B.コンピュータ処理:
B−1.処理の全体:
B−2.手ブレ補正処理:
B−2−1.自動補正:
B−2−2.手動補正:
C.作用・効果:
2.第2実施例:
3.他の実施形態:
1.第1実施例:
A.装置の構成:
図1は、本発明の第1実施例を適用するコンピュータシステムの概略構成を示す説明図である。この実施例のコンピュータシステムは、本発明の手ブレ画像補正装置を構成するパーソナルコンピュータ10を中心に備え、その周辺装置として、ディスプレイ20とキーボード22とマウス24を備える。さらに、パーソナルコンピュータ10には、デジタルカメラ26とCDドライブ28とプリンタ29が接続されている。キーボード22とマウス24は、本発明でいう操作者からの操作を受け付ける入力装置に該当する。ディスプレイ20は、本発明でいう表示装置である。マウス24は、トラックボール、トラックパッド、タブレット等の他のポインティングデバイスに換えることができる。
パーソナルコンピュータ10は、中央演算処理装置としてのCPU11を中心にバス12により相互に接続されたメモリ13、表示画像メモリ14、ハードディスクドライブ15、入力制御ユニット16、表示制御ユニット17、出力制御ユニット18等を備える。メモリ13は、各種データ等を記憶するもので、CPU11の作業領域となる。表示画像メモリ14は、ディスプレイ20に表示する画像の画像データを一旦記憶するメモリである。
ハードディスクドライブ15は、手ブレ画像補正装置のソフトウェアとしてのコンピュータプログラムPrを記憶する。また、ハードディスクドライブ15には、画像データDpが1または複数記憶されている。画像データDpは、デジタルカメラ26によって撮影した撮影画像の画像データであり、ハードディスクドライブ15の所定の領域(例えば、ホルダ)に格納されている。撮影画像は、カラー画像である。
入力制御ユニット16は、キーボード22やマウス24から入力操作を取り込み、デジタルカメラ26から画像データを取り込み、CDドライブ28からデータを取り込む制御ユニットである。表示制御ユニット17は、ディスプレイ20への信号出力を制御する制御ユニットである。出力制御ユニット18は、プリンタ29への印刷を制御する制御ユニットである。
コンピュータプログラムPrは、もともとは、記録媒体としてのCD−ROM(図示せず)に記憶されている。そのCD−ROMをCDドライブ28にセットして、所定のインストールプログラムを起動することで、コンピュータプログラムPrをCD−ROMから読み出してハードディスクドライブ15にインストールすることができる。このコンピュータプログラムPrをCPU11が実行することにより、本発明の手ブレ画像補正装置の各種構成要件は実現される。
図1では、各種構成要件が、CPU11の内部で実現される機能のブロックによって示されている。すなわち、CPU11は、ウィンドウ表示部31、レイヤ形成部32、輪郭画像配置部32a、輪郭画像移動部33、手ブレ方向・程度検出部34および手ブレ補正部35を機能として備える。このコンピュータプログラムPrは、実際は、デジタルカメラ26で撮影した撮影画像を修整するフォトレタッチ用のアプリケーションプログラムであり、その中の一部のモジュールによって、上述した各部31〜35の機能をパーソナルコンピュータ10に実現させる。
なお、コンピュータプログラムPrは、CD−ROMに替えて、フレキシブルディスク、光磁気ディスク、ICカード等の他の携帯型記録媒体(可搬型記録媒体)に格納された構成として、これらから提供されたものとすることができる。また、このコンピュータプログラムPrは、外部のネットワークに接続される特定のサーバから、ネットワークを介して提供されたものとすることもできる。上記ネットワークとしては、インターネットであってもよく、特定のホームページからダウンロードして得たコンピュータプログラムであってもよい。あるいは、電子メールの添付ファイルの形態で供給されたコンピュータプログラムであってもよい。
B.コンピュータ処理:
B−1.処理の全体:
このコンピュータプログラムPrを起動すると、まず、ディスプレイ20にアプリケーションウィンドウが表示される。このアプリケーションウィンドウは、グラフィカル・ユーザ・インタフェース(GUI)を構成している。
図2は、アプリケーションウィンドウWDの一例を示す説明図である。図示するように、アプリケーションウィンドウWDの左側の処理メニュー欄MNには、[入力]、[修整]、[印刷]、[出力]の4種類のボタンBT1,BT2,BT3,BT4が、下方に向かって順に並んでおり、操作者は、これらボタンBT1〜BT4を順にマウス24によりクリックしていくことで、CRTディスプレイ12の画面上で、デジタルカメラ26で撮影した撮影画像を取り込み、修整して、出力する作業を進めていくことができる。
操作者は、まず、[入力]のボタンBT1をクリックすることで、ハードディスクドライブ15から画像データDpを取り込む処理を行なう。なお、ここでは、ハードディスクドライブ15に換えて、デジタルカメラ26から直接画像データを取り込む構成や、DVD等の他の記憶媒体から画像データを取り込む構成に換えることができる。この取り込んだ画像データDpは、アプリケーションウィンドウWDの作業フィールドFDWに表示される。
その後、操作者は、[修整]のボタンBT2をクリックすることで、上記取り込んだ画像データDpの修整を行なう。図2は、[修整]のボタンBT2がクリックされたときのものである。図示するように、アプリケーションウィンドウWDのメニューバーMBには、[ファイル]、[コースメニュー]、[編集]、[表示]、[修整]、[修復・加工]等のボタンが設けられている。[修整]のボタンをクリックすることにより、画像データDpに対して、回転やトリミングを行なったり、明度や彩度などの色補正を行なうことができる。図中には、[修復・加工]のボタンをクリックしたときに開くプルダウンメニューDMが示されている。操作者は、[修復・加工]のボタンをクリックし、プルダウンメニューDMから所望の選択肢をクリックすることにより、画像データDpに対して、「手ブレ補正」や「ピンボケ補正」等を行なうこともできる。
B−2.手ブレ補正処理:
B−2−1.自動補正:
上記「手ブレ補正」が、本発明に関わるものである。プルダウンメニューDMの[手ブレ補正]の選択肢がクリックされたときに実行される手ブレ補正処理について、以下、詳細に説明する。
図3は、CPU11により実行される手ブレ補正処理を示すフローチャートである。プルダウンメニューDMの[手ブレ補正]の選択肢がクリックされて、処理が開始されると、CPU11は、まず、[注目領域の指定]ウィンドウWD1を、ディスプレイ20に表示する処理を行なう(ステップS100)。
図4は、[注目領域の指定]ウィンドウWD1の一例を示す説明図である。図示するように、[注目領域の指定]ウィンドウWD1には、画像表示フィールドFD1と、[領域指定]ボタンBT11と、[拡大]ボタンBT12と、[縮小]ボタンBT13が設けられている。
画像表示フィールドFD1には、アプリケーションウィンドウWDの作業フィールドFDWに表示された画像データDpが表示される。表示の開始時には、表示倍率が調整され、画像データDpの画像全体が表示される。
「拡大」ボタンBT12は、画像表示フィールドFD1に表示された画像を拡大するためのスイッチである。「拡大」ボタンがクリックされると、「表示拡大モード」になり、画像上にマウスカーソルを移動するとマウスカーソルの形状が変化し、この状態でクリックを行なうことで、画像を10%単位で拡大することができる。同時にクリックした位置が画像表示フィールドFD1の中心に設定される。
「縮小」ボタンBT13は、画像表示フィールドFD1に表示された画像を縮小するためのスイッチである。「縮小」ボタンがクリックされると、「表示縮小モード」になり、画像上にマウスカーソルを移動するとマウスカーソルの形状が変化し、この状態でクリックを行なうことで、画像を10%単位で縮小することができる。同時にクリックした位置が画像表示フィールドFD1の中心に設定される。
図4に示した例では、「縮小」ボタンBT13をクリックして上記のように操作がなされた結果、画像データDpは所望の倍率に縮小され、撮影画像に写ったピアノの角部辺りが、画像表示フィールドFD1の中心に位置するように表示されている。
[領域指定]ボタンBT11は、画像表示フィールドFD1に表示された撮影画像に対して注目する領域(以下、「注目領域」と呼ぶ)を指定するためのスイッチである。[領域指定]ボタンBT11がクリックされると、「領域指定モード」になり、撮影画像上をドラッグして始点と終点を結んだ直線を対角線とする矩形で注目領域を指定することができる。
図5は、注目領域SAの指定がなされた後の[注目領域の指定]ウィンドウWD1の一例を示す説明図である。図示するように、画像表示フィールドFD1に表示された画像に対して、矩形の線分によって注目領域SAが指定される。操作者は、[領域指定]ボタンBT11をクリックした後、ドラッグの操作により、画像表示フィールドFD1に表示された撮影画像上に所望の領域を指定することができる。図示の例では、撮影画像に写ったピアノの角部を中心として、注目領域SAが指定されている。ピアノの角部のように周囲との濃度値(階調値)の差が大きい領域の境界、すなわちエッジ部分は、手ブレが顕著に現われることから、手ブレの検出が容易であるためである。この注目領域SAを指定する処理が図3のステップS110である。
その後、[注目領域の指定]ウィンドウWD1において、[OK]ボタンBT14がクリックされると、[注目領域の指定]ウィンドウWD1は閉じられ、CPU11は、図3に示すように、続くステップS120に処理を進める。ステップS120では、ステップS110で指定された注目領域SAで囲まれた領域のデータを、注目画像データGSとして抽出する。なお、注目領域SAの指定が操作者によりなされない状態で、[OK]ボタンBT14がクリックされた場合には、画像データDp全体を注目画像データGSとする。
その後、CPU11は、注目画像データGSで示される注目画像についての手ブレの方向θ1と程度m1を検出する手ブレ方向・程度検出ルーチンを実行する(ステップS130)。
図6は、手ブレ方向・程度検出ルーチンの詳細を示すフローチャートである。図示するように、このルーチンに処理が移行すると、CPU11は、まず、初期設定として、変数m1と変数θ1にそれぞれ値0をセットする(ステップS131)。次いで、CPU11は、ステップS120で抽出した注目画像データGSを構成する画素を1つ注目画素として選択する処理を行なう(ステップS132)。次いで、CPU11は、その注目画素を中心とする縦方向に3画素、横方向に3画素の3×3の領域に対して、水平方向ソーベル(Sobel)フィルタを用いたフィルタ演算処理を実行する(ステップS133)。
図7は、水平方向ソーベルフィルタを示す説明図である。水平方向ソーベルフィルタは、縦方向に3画素、横方向に3画素の3×3のフィルタであり、図示のごとく、各ピクセルの重み係数が定められている。
ステップS133では、詳細には、注目画素を中心とする3×3の領域に対して、水平方向ソーベルフィルタに示される係数をそれぞれ乗算し、結果を合計するといったフィルタ演算処理を実行する。この合計値をThとする。
図6に戻り、ステップS133の実行後、CPU11は、ステップS131で選択された注目画素を中心とする縦方向に3画素、横方向に3画素の3×3の領域に対して、垂直方向ソーベル(Sobel)フィルタを用いたフィルタ演算処理を実行する(ステップS134)。
図8は、垂直方向ソーベルフィルタを示す説明図である。垂直方向ソーベルフィルタは、縦方向に3画素、横方向に3画素の3×3のフィルタであり、図示のごとく、各ピクセルの重み係数が定められている。
ステップS134では、詳細には、注目画素を中心とする3×3の領域に対して、垂直方向ソーベルフィルタに示される係数をそれぞれ乗算し、結果を合計するといったフィルタ演算処理を実行する。この合計値をTvとする。
ステップS134の実行後、CPU11は、ステップS133とステップS134のフィルタ演算処理により求められた合計値Th、Tvから、注目画素におけるエッジの方向θと程度mを算出する処理を行なう(ステップS135)。図9は、合計値Th、Tvとエッジの方向θ、程度mとの関係を示す説明図である。図示するように、ベクトル演算することで、合計値Th、Tvの和であるベクトルαが求まり、このベクトルαの方向θと長さmを、注目画素におけるエッジの方向θと程度mとする。
図6に戻り、ステップS135の実行後、CPU11は、ステップS135で求めた程度mが、変数m1より大きいか否かを判別する(ステップS136)。ここで、大きいと判別された場合には、変数m1に程度mを代入するとともに、変数θ1にステップS135で求めたエッジの方向θを代入する(ステップS137)。すなわち、程度mが、これまでの値より大きくなったときに、その程度mと方向θを、m1、θ1に記憶する処理を行なう。ステップS137の実行後、CPU11は、ステップS138に処理を進める。一方、ステップS136で、程度mが、変数m1以下であると判別された場合には、CPU11は、ステップS137を実行することなく、ステップS138に処理を進める。
ステップS138では、CPU11は、注目画像データGSの全画素についてステップS132ないしS137の処理が終了したか否かを判定し、終了していなければ、ステップS132で画素を次の画素に移行して、ステップS133ないしS137の処理を繰り返す。一方、ステップS138で全画素についての処理が終了したと判定された場合には、「リターン」に抜けて、このルーチンの処理を一旦終了する。
上記のように構成された手ブレ方向・程度検出ルーチンによれば、注目画像データGSの中で、エッジの程度が最大となる画素におけるエッジの方向θ1と程度m1が得られる。
図3に戻って、手ブレ方向・程度検出ルーチンを抜けると、CPU11は、ステップS140に処理を進める。ステップS140では、CPU11は、ステップS120で抽出した注目画像データGSについての手ブレ補正ルーチンを実行する。
図10は、注目画像データGSについての手ブレ補正ルーチンの詳細を示すフローチャートである。図示するように、このルーチンに処理が移行すると、CPU11は、まず、手ブレ方向・程度検出ルーチンで算出されたエッジの方向θ1と程度m1に基づいて、モーションブラー(Motion Blur)フィルタを算出する処理を行なう(ステップS141)。モーションブラーフィルタは、画像に対し「動作ぼかし」をかけるフィルタであり、動作の方向とぼかしの程度の入力に応じてフィルタの係数が定まる。すなわち、動作の方向θおよび程度mと、モーションブラーフィルタF1とは、次式(1)の関係が成り立つ。
F1=F(θ,m) ...(1)
ここで、Fは、モーションブラーフィルタを求める際の関数である。
そこで、ステップS141では、「動作の方向θ」を、手ブレ方向・程度検出ルーチンで算出されたエッジの方向θ1とし、「動作の程度m」を、手ブレ方向・程度検出ルーチンで算出されたエッジの程度m1として、上記式(1)の関係から、モーションブラーフィルタF1を算出する。
図11は、モーションブラーフィルタの一例を示す説明図である。モーションブラーフィルタF1は、縦方向に3画素、横方向に3画素の3×3のフィルタであり、図示のごとく、各ピクセルの重み係数が定められている。
図10に戻り、ステップS141の実行後、CPU11は、その注目画像データGSに対して、モーションブラーフィルタF1を用いたフィルタ演算処理を実行する(ステップS142)。詳細には、手ブレ方向・程度検出ルーチンと同様に、注目画像データGSから注目画素を選択して、その注目画素を中心とする縦方向に3画素、横方向に3画素の3×3の領域を抽出して、この3×3の領域に対して、フィルタ、ここでは、モーションブラーフィルタF1を用いたフィルタ演算処理を実行していく、このフィルタ演算処理によって求められた値に注目画素の階調値を変換する。この一連の処理を注目画素を順次切り換えて、注目画像データGSの全画素について行なう。こうして得られた新たな画像データをぼかし画像データGS*とする。
続いて、CPU11は、ステップS120で抽出した注目画像データGSからステップS142で求められたぼかし画像データGS*を引くことによって、両者の差分DSを演算する(ステップS143)。詳細には、注目画像データGSとぼかし画像データGS*とを、画素毎にRGB毎の階調値の引き算を行なうことで、両画像データGS、GS*の差分DSの演算を行なう。
その後、CPU11は、ステップS143で算出された差分DSを、ステップS120で抽出した注目画像データGSに加えて、新たな画像データを生成する(ステップS144)。詳細には、注目画像データGSと差分DSとを、画素毎にRGB毎の階調値の足し算を行なうことで、両データGS、DSを合成する演算を行なう。
図12は、注目画像データGSについての手ブレ補正ルーチンに従う処理内容を概念的に示す説明図である。図中において、ハッチングの部分が、注目画像GSにおける所定の部位であり、ここでは、ピアノの角部を模式化したものである。この部位の画像部分には、手ブレによるぼけた部分を含んでいる。この手ブレの方向θ1と程度m1は、手ブレ方向・程度検出ルーチンにより自動的に検出されているが、図中のベクトルVは、この手ブレの方向θ1と程度m1を示すものである。ステップS141、S142によれば、ベクトルVの方向θ1、長さm1でもって動作ぼかしがなされることから、ピアノの角部の下側境界線は、図中、1点鎖線の位置に移動し、この1点鎖線を境界とするぼかし画像GS*が生成される。
ステップS143によれば、注目画像GSからぼかし画像GS*を引くことで両画像の差分DSが、図示するように求まり、ステップS144では、この差分DSを注目画像GSに足し込むことで(ベクトルVの方向を正の方向とすると、差分DSは負の値をとることから)、注目画像GSから手ブレにより動作ぼかしされた分だけ取り除くことができる。この結果、図中2点鎖線に示すように、手ブレがない新たな画像データTGSを生成することができる。こうして得られた画像データTGSは、高精度に手ブレが補正されている。以下、この画像データTGSを「補正後注目画像データ」と呼ぶ。
図10に戻り、ステップS144の実行後、「リターン」に抜けて、このルーチンの処理を一旦終了する。
図3に戻って、注目画像データGSについての手ブレ補正ルーチンを抜けると、CPU11は、ステップS150に処理を進める。ステップS150では、CPU11は、[手ブレ補正]ウィンドウWD2を表示する処理を行なう。
図13は、[手ブレ補正]ウィンドウWD2の一例を示す説明図である。図示するように、[手ブレ補正]ウィンドウWD2には、[元画像]表示フィールドFD11と、[補正後]表示フィールドFD12とが設けられている。[補正後]表示フィールドFD12の上部には、[ウィンドウに合わせて表示]ボタンBT21、[100%表示]ボタンBT22、[10%縮小表示]ボタンBT23、[10%拡大表示]ボタンBT24が設けられている。下方には、[OK]ボタンBT25と[手動補正]ボタンBT26が設けられている。
[元画像]表示フィールドFD11には、ステップS120で抽出した注目画像データGSが表示される。[補正後]表示フィールドFD12には、注目画像データGSについての手ブレ補正ルーチンで得られた補正後注目画像データTGSが表示される。両画像データGS、TGSは、注目画像のサイズと両表示フィールドFD11、FD12のサイズから自動計算された同じ位置および表示倍率で表示されており、操作者による比較が容易なように構成されている。
[ウィンドウに合わせて表示]ボタンBT21がクリックされると、[元画像]・[補正後]表示フィールドFD11、FD12内に画像全体が表示されるように表示倍率が計算され、その表示倍率で両表示フィールドFD11、FD12の画像が表示される。[100%表示]ボタンBT22がクリックされると、両画像ともに、ディスプレイ20の1 画素と画像データの1 画素が1:1 になるように表示される。[10%縮小表示]ボタンBT23がクリックされると、両画像の現在の表示倍率を10%縮小して表示される。[10%拡大表示]ボタンBT24がクリックされると、両画像の現在の表示倍率を10%拡大して表示される。
[OK]ボタンBT25は、[補正後]表示フィールドFD12に表示された補正後画像が良好だと操作者によって判断されたときに、操作者からのクリックを受け付けるものである。一方、[手動補正]ボタンBT26は、補正後画像が不可であると操作者によって判断されたときに、操作者からのクリックを受け付けるもので、この[手動補正]ボタンBT26がクリックされたときには、操作者による手動にて手ブレ補正を行なうことが可能となる。
図3に戻って、ステップS150で、上述した構成の[手ブレ補正]ウィンドウWD2が表示されると、CPU11は、ステップS160に処理を進めて、操作者による操作指令は、上記[OK]ボタンBT25と[手動補正]ボタンBT26のいずれをクリックするものであるかを判別する処理を行なう。ここで、[OK]ボタンBT25がクリックされたと判定された場合には、手ブレ補正の対象である画像データDpに対して手ブレ補正処理を実行する(ステップS170)。
ステップS170の手ブレ補正処理は、詳細には、ステップS130の手ブレ方向・程度検出ルーチンで検出された手ブレの方向θ1と程度m1を、手ブレ補正を施す画像データDp全体の手ブレの方向として、この手ブレの方向θ1と程度m1を用いて補正を行なうものである。すなわち、図10に示した「注目画像データGSについての手ブレ補正ルーチン」において、処理対象を注目画像データGSに換えて画像データDpとした手ブレ補正処理を行なう。こうして得られた新たな画像データは、手ブレが補正された補正後画像データとして出力される。ステップS170の実行後、「リターン」に抜けて「手ブレ補正処理」は終了する。
一方、ステップS160で、[手動補正]ボタンBT26がクリックされたと判定された場合には、CPU11は、手動補正ルーチンを実行して(ステップS180)、その後、「リターン」に抜けて「手ブレ補正処理」を終了する。
B−2−2.手動補正:
図14は、手動補正ルーチンの詳細を示すフローチャートである。図示するように、このルーチンに処理が移行すると、CPU11は、まず、ステップS181ないしS185の処理により、[手動補正]ウィンドウWD3を表示する処理を行なう。
図15は、[手動補正]ウィンドウWD3の一例を示す説明図である。図示するように、[手動補正]ウィンドウWD3には、[元画像]表示フィールドFD21と、[補正後]表示フィールドFD22とが設けられている。両表示フィールドFD21、FD22のそれぞれの上部には、[100%表示]ボタンBT31、BT41と、[10%縮小表示]ボタンBT32、BT42と、[10%拡大表示]ボタンBT33、BT43とが設けられている。下方には、[OK]ボタン45が設けられている。また、[輪郭抽出方法]メニューMNと、[角度]エディットボックスBX1と、[長さ]エディットボックスBX2が設けられている。
[元画像]表示フィールドFD21には、ステップS120で抽出した注目画像データGSが表示される。この手動補正ルーチンの起動時、すなわち[手動補正]ウィンドウWD3の初期表示時には、まだ補正がなされていないものとして、[補正後]表示フィールドFD22にも、ステップS120で抽出した注目画像データGSがそのまま表示される。以降のステップで補正がなされた後には、補正後の注目画像データTGSが表示される。なお、初期表示時の両表示フィールドFD21、FD22に表示される画像データGSの表示倍率は、後述するように相違する。
[手動補正]ウィンドウWD3では、初期表示時は、[元画像]表示フィールドFD21に表示される注目画像データGSは、[補正後]表示フィールドFD22に表示される注目画像データGSと比べて表示倍率が高くなっている。この表示倍率は、ステップS130の手ブレ方向・程度検出ルーチンにより検出された手ブレの程度m1に基づいて定められている。
図16は、手ブレの程度m1と表示倍率Rとの関係を示すグラフである。図示するように、手ブレの程度m1が小さいほど、表示倍率Rは高くなっている。すなわち、自動計算により求められた手ブレの方向θ1が小さいほど、表示倍率Rは高くなっている。
図14のステップS181では、CPU11は、[元画像]表示フィールドFD21と[補正後]表示フィールドFD22とに画像が表示されていない状態の[手動補正]ウィンドウWD3のベースとなる画像を表示する。その後、CPU11は、ステップS182で、手ブレ方向・程度検出ルーチンにより検出された手ブレの程度m1と、注目画像のサイズと、[元画像]表示フィールドFD21のサイズに基づいて表示倍率Rを求めて、その表示倍率Rでもって、注目画像データGSを[元画像]表示フィールドFD21に表示する。手ブレの程度m1と表示倍率Rの関係は、前述したように、手ブレの程度m1が小さいほど、表示倍率Rは高くなっている。なお、表示位置については、注目画像データGSの中心が[元画像]表示フィールドFD21の中央に位置するようになされており、上記表示倍率Rでもって表示しきれない外側部分は当然表示されない。
表示位置については、上記の構成に換えて、手ブレ方向・程度検出ルーチンにより検出されたエッジの方向θ1と程度m1を持つエッジの程度が最大となる画素(エッジ部)を、[元画像]表示フィールドFD21の中央に位置するように構成することができる。また、この構成に換えて、エッジの方向θ1と程度m1を持つエッジの程度が最大となる画素を、[元画像]表示フィールドFD21のいずれかの位置に位置するように構成することもできる。
ステップS182の実行後、CPU11は、注目画像データGSを、[補正後]表示フィールドFD22に表示する(ステップS183)。この表示における表示倍率については、注目画像のサイズと、[補正後]表示フィールドFD22のサイズに基づいて定められており、前述したように、初期表示時は、[元画像]表示フィールドFD21に表示される元画像より表示倍率は低くなっている。
なお、[元画像]表示フィールドFD21に表示された画像についての表示倍率は、初期表示の状態から、[元画像]表示フィールドFD21の上方に配置された[100%表示]ボタンBT31、[10%縮小表示]ボタンBT32、[10%拡大表示]ボタンBT33を操作することにより自由に変更することができる。[100%表示]ボタンBT31がクリックされると、元画像は、ディスプレイ20の1 画素と画像データの1 画素が1:1 になるように表示され、[10%縮小表示]ボタンBT32がクリックされると、元画像の現在の表示倍率を10%縮小して表示され、[10%拡大表示]ボタンBT33がクリックされると、元画像の現在の表示倍率を10%拡大して表示される。
表示位置については、[元画像]表示フィールドFD21の右側と下側に設けられたスライダーバSB1,SB2を操作して画像をスクロールさせることで変更することができる。
一方、[補正後]表示フィールドFD22に表示された画像についての表示倍率も、初期表示の状態から、[補正後]表示フィールドFD22の上方に配置された[100%表示]ボタンBT41、[10%縮小表示]ボタンBT42、[10%拡大表示]ボタンBT43を操作することにより自由に変更することができる。[100%表示]ボタンBT41がクリックされると、補正後画像は、ディスプレイ20の1 画素と画像データの1 画素が1:1 になるように表示され、[10%縮小表示]ボタンBT32がクリックされると、補正後画像の現在の表示倍率を10%縮小して表示され、[10%拡大表示]ボタンBT33がクリックされると、補正後画像の現在の表示倍率を10%拡大して表示される。
表示位置については、[補正後]表示フィールドFD22の右側と下側に設けられたスライダーバSB3,SB4を操作して画像をスクロールさせることで変更することができる。
図14に戻り、ステップS183の実行後、CPU11は、[元画像]表示フィールドFD21に表示された元画像(注目画像データGSの表示範囲)に対して、1枚のレイヤを形成する処理を行なう(ステップS184)。レイヤは、元画像に手を加えることなく色補正や、新たな画像を乗せる貼り付けなどの作業ができるようにするための透明のシートである。ここでは、詳細には、ステップS182によって[元画像]表示フィールドFD21に表示された注目画像データGSの表示範囲に対して、レイヤが形成される。
続いて、CPU11は、[元画像]表示フィールドFD21に表示された上記元画像についての輪郭を示す輪郭画像を抽出して、この輪郭画像の輪郭画像データを、ステップS184で形成したレイヤに配置する処理を行なう(ステップS185)。輪郭画像は、前述したエッジを検出するソーベルフィルタを用いることで元画像から抽出することができる。この結果、[元画像]表示フィールドFD21に表示された元画像に重畳させて輪郭画像データが表示される。なお、ソーベルフィルタを用いる手法に換えて、微分フィルタやラプラシアン(2次微分)フィルタ、プレヴィット(Prewitt)フィルタ、ロバーツ(Roberts)フィルタ等を用いる手法によっても輪郭画像を抽出することができ、いずれの手法を採用するかは、[元画像]表示フィールドFD21の下方に設けられた[輪郭抽出方法]メニューMNからの操作者による指定によって定まる。
上記輪郭画像データは、この実施例では、[元画像]表示フィールドFD21に表示された注目画像データGSの表示範囲についての輪郭を示すものであったが、必ずしも表示範囲全体の輪郭を示すものとする必要もない。輪郭画像データを、その表示範囲の一部についての輪郭を示すものとしてもよい。例えば、注目画像データGSの中で、エッジの程度が最大となる画素を算出しているが、輪郭画像データを、この画素を含む所定の範囲についての輪郭を示すものとすることができる。
図17は、上記レイヤLYに形成された輪郭画像データEPの一例を示す説明図である。図示するように、レイヤLYには、元画像についての輪郭を示す輪郭画像データEPが表示される。なお、ステップS184では、レイヤを元画像に重ねたときに、上記レイヤに配置された輪郭画像が、元画像の輪郭部分と完全に一致するように、輪郭画像の配置位置が定められている。
レイヤに配置された輪郭画像は、操作者によるマウス24の操作を受けて、レイヤ上で移動することができる。詳細には、[元画像]表示フィールドFD21に表示された元画像上にマウスカーソルを移動すると、マウスカーソルが十字矢印の形状に変化し、この状態で、操作者は、マウス24の左ボタン24aを押しながらドラッグすることにより、輪郭画像を移動することができる。
図18は、上記輪郭画像の移動の様子を示す説明図である。上述したように、元画像上に十字矢印のカーソルCSが表示された状態で、図中(a)に示すように、ドラッグが開始されると、図中(b)に示すように、輪郭画像全体が移動される。操作者は、ピアノの角部に着目して、この角部にカーソルCSが位置するようにマウス24を操作することにより移動し、その上で、左ボタン24aを押してドラッグを開始する。ドラッグ中には、輪郭画像全体は、ドラッグの方向と距離に従って移動される。操作者は、輪郭画像におけるピアノの角部を、元画像のその角部のブレ部分の終端EGに合わせるようドラッグを行なう。図18(c)には、ドラッグ操作の終了後の状態が示されている。図18(c)に示すように、輪郭画像のピアノの角部(カーソルCSの位置)と、その角部の手ブレ部分の終端EGとが合わせ込まれる。
図14のステップS186では、前述した輪郭画像に対するドラッグ操作を受け付けて、そのドラッグ操作に応じて輪郭画像を移動する処理を行なっている。その後、CPU11は、そのドラッグの方向と長さを、操作者により手動入力された手ブレの方向θ2と程度m2として検出する処理を行なう(ステップS187)。この結果、操作者により実行された、元画像の所定の輪郭部分を元画像のその輪郭部分のブレの終端に合わせるドラッグ操作に基づいて、操作者により手動入力された手ブレの方向θ2と程度m2が求められることになる。
なお、操作者は、上述したように、輪郭画像を移動するドラッグ操作により、手ブレの方向θ2と程度m2を指定することができるが、この実施例では、さらに、[手動補正]ウィンドウWD3に設けられた[角度]エディットボックスBX1と[長さ]エディットボックスBX2によっても、手ブレの方向θ2と程度m2を指定可能である。
図14に戻り、ステップS187の実行後、CPU11は、ステップS187で検出した手ブレの方向θ2と程度m2を用いた「注目画像データGSについての手ブレ補正ルーチン」を実行する(ステップS188)。注目画像データGSについての手ブレ補正ルーチンは、前述した図10に示したものであるが、ここでは、ステップS141で算出するモーションブラーフィルタを、ステップS187で検出した手ブレの方向θ2と程度m2に基づくものとした。すなわち、モーションブラーフィルタF2を、次式(2)に従って算出する。
F2=F(θ2,m2) ...(2)
ここで、Fは、モーションブラーフィルタを求める際の関数である。
その後、このモーションブラーフィルタF2を用いてフィルタ演算してぼかし画像データGS*を求めて、注目画像データGSとぼかし画像データGS*の差分DSを求めて、この差分DSに注目画像データGSを足し混むことで、手ブレ補正がなされた補正後注目画像データTGSを生成する。
こうしてステップS188の処理が終了すると、CPU11は、ステップS188で生成された補正後注目画像データTGSでもって、[補正後]表示フィールドFD22の表示を変更する(ステップS189)。
その後、CPU11は、[手動補正]ウィンドウWD3の[OK]ボタン45がクリックされたか否かを判別する(ステップS190)。[OK]ボタンBT45は、[補正後]表示フィールドFD22に表示された補正後画像が良好だと操作者によって判断されたときに、操作者によりクリックされるものであることから、[OK]ボタンBT45がクリックされていないと判別された場合には、手ブレ補正処理をやり直すべく、ステップS186に処理を戻して、ステップS186ないしS189による、レイヤの輪郭画像をドラッグする操作によって手ブレの方向θ2と程度m2を指定する処理を再度行なう。
一方、ステップS190で、[OK]ボタンBT45がクリックされたと判別された場合には、[補正後]表示フィールドFD22に表示された補正後画像は良好であるとして、ステップS191に処理を進めて、手ブレ補正の対象である画像データDpに対して手ブレ補正処理を実行する。
ステップS191の手ブレ補正処理は、詳細には、ステップS187で検出された手ブレの方向θ2と程度m2を、手ブレ補正を施す画像データDp全体の手ブレの方向として、この手ブレの方向θ2と程度m2を用いて補正を行なうものである。すなわち、図10に示した「注目画像データGSについての手ブレ補正ルーチン」において、モーションブラーフィルタF2を、上記手ブレの方向θ2と程度m2に基づいて求めるとともに、処理対象を注目画像データGSに換えて画像データDpとした手ブレ補正処理を行なう。こうして得られた新たな画像データは、手ブレが補正された補正後画像データとして出力される。ステップS191の実行後、「リターン」に抜けてこのルーチンは一旦終了する。
以上のように構成された手動補正ルーチンのステップS181およびS182がウィンドウ表示部31(図1)に、ステップS184がレイヤ形成部32(図1)に、ステップS185が輪郭画像配置部32a(図1)に、ステップS186が輪郭画像移動部33(図1)に、ステップS187が手ブレ方向・程度検出部34(図1)に、ステップS188(あるいはステップS191)が手ブレ補正部35(図1)にそれぞれ対応する。
C.作用・効果:
以上のように構成されたこの実施例のコンピュータシステムによれば、レイヤに配置された輪郭画像がドラッグにより移動されることにより、撮影画像の手ブレの方向と程度の入力が操作者によりなされ、この入力に基づいて手ブレ補正ルーチンにより手ブレの補正がなされる。したがって、操作者の操作により正確に入力された手ブレの方向と程度に従う手ブレ補正を行なうことができることから、画像の手ブレを高精度に補正することができる。
また、この実施例では、ディスプレイ20に表示される[手動補正]ウィンドウWD3に、手ブレ補正ルーチンによる補正前画像と補正後画像が表わされることから、操作者は、両画像を比較することで、手ブレ補正ルーチンにより手ブレがうまく補正されたか否かを容易に判定することができる。さらに、元画像(補正前画像)は、補正後画像と比べて表示倍率が高くなっていることから、操作者は、輪郭画像をドラッグするに際して、手ブレの視認を容易に行なうことができ、また、その移動の操作も容易に行なうことができる。
この実施例では、[手動補正]ウィンドウWD3に表示される元画像は、手ブレ方向・程度検出ルーチンにより自動的に検出された手ブレの程度m1が小さいほど、表示倍率を高くする構成となっている。このために、手ブレの程度が小さい場合に、補正前画像が高い表示倍率で表示されることから、操作者は、元画像から手ブレを視認することがより一層、容易であり、また、輪郭画像をドラッグする操作をより一層、容易に行なうことができる。
この実施例では、手ブレ方向・程度検出ルーチンにより、注目画像データGSの中で、エッジの程度が最大となる画素におけるエッジの方向θ1と程度m1が得られるように構成されている。このために、撮影画像において最も手ブレの程度が大きいエッジ部における手ブレの方向と程度に基づいて、手ブレの補正が行なわれる。したがって、撮影画像の自動的な手ブレ補正の精度を高めることができる。
2.第2実施例:
本発明の第2実施例について次に説明する。この第2実施例のコンピュータシステムは、第1実施例のコンピュータシステムと比較して、パーソナルコンピュータ10のCPU11にて実行される手動補正ルーチン(第1実施例では、図14で示したもの)の構成が相違し、その他のソフトウェア構成やハードウェア構成については同一の構成を備える。したがって、第1実施例と同一の構成については同一の符号を用いて以下の説明を行なうことにする。
図19は、第2実施例における手動補正ルーチンの詳細を示すフローチャートである。このフローチャートにおけるステップS181、S183〜S191は第1実施例と同一であり、第1実施例と同一の符号をつけた。図示するように、このルーチンに処理が移行すると、CPU11は、まず、ステップS181により、第1実施例と同様に、[手動補正]ウィンドウWD3のベースとなる画像を表示する。
次いで、CPU11は、ステップS120で抽出した注目画像データGSについての輪郭を強調する輪郭強調処理を行なって、輪郭強調注目画像データXGSを生成する(ステップS200)。輪郭強調処理は、アンシャープマスクを用いて行なわれる。なお、輪郭強調処理は、アンシャープマスクを用いた処理に限る必要はなく、二次微分フィルタを用いた処理、シャープフィルタを用いた処理等の他の手法によって輪郭を強調するものとすることもできる。
ステップS200の実行後、CPU11は、ステップS201に処理を進めて、手ブレ方向・程度検出ルーチンにより検出された手ブレの程度m1と、注目画像のサイズと、[元画像]表示フィールドFD21のサイズに基づいて表示倍率Rを求めて、その表示倍率Rでもって、ステップS200で生成した輪郭強調注目画像データXGSを[元画像]表示フィールドFD21に表示する。このステップS201の処理は、第1実施例におけるステップS182の処理において、表示する対象を、注目画像データGSに換えて輪郭強調注目画像データXGSとしたものである。
ステップS201の実行後、CPU11は、ステップS183に処理を進めて、第1実施例と同様に、ステップS183ないしS191の処理を実行する。その後、「リターン」に抜けて、この手続補正ルーチンを一旦終了する。
図20は、上記構成の手続補正ルーチンにおけるステップS185までの処理により、[元画像]表示フィールドFD21の表示画像がどのように形成されるかを示す説明図である。
図示するように、注目画像データGSを基に、注目画像データGSについての画像の輪郭を強調した輪郭強調注目画像データXGSと、注目画像データGSについての画像の輪郭を示す輪郭画像を配置したレイヤLYとが生成され、次いで、輪郭強調注目画像データXGSとレイヤLYとが重ね合わされて、その合成結果が表示画像DPCとして表示される。
上述した手動補正ルーチンでは、フローチャート上では、ステップS201で輪郭強調注目画像データXGSを[元画像]表示フィールドFD21に表示して、その後、レイヤを形成して(ステップS184)、そのレイヤに輪郭画像データを配置する(ステップS185)ことで、輪郭強調注目画像に輪郭画像を重ね合わせて表示するように構成していたが、要は、図20で説明したように、輪郭強調注目画像データXGSに、輪郭画像が配置されたレイヤLYを重ね合わせた合成画像を表示可能な構成であれば、どのような処理手順で行なうようにしてもよい。なお、こうしたことは、第1実施例でも同様に言えることで、注目画像データGSに、輪郭画像が配置されたレイヤLYを重ね合わせた合成画像を表示可能な構成であれば、第1実施例のステップS181ないしS185の構成に限る必要はなく、どのような処理手順で行なうようにしてもよい。
図21は、第2実施例における輪郭画像の移動の様子を示す説明図である。上述したように、元画像上に十字矢印のカーソルCSが表示された状態で、図中(a)に示すように、ドラッグが開始されると、図中(b)に示すように、輪郭画像全体が移動される。操作者は、ピアノの角部に着目して、この角部にカーソルCSが位置するようにマウス24を操作することにより移動し、その上で、左ボタン24aを押してドラッグを開始する。ドラッグ中には、輪郭画像全体は、ドラッグの方向と距離に従って移動される。操作者は、輪郭画像におけるピアノの角部を、輪郭強調注目画像におけるその角部のブレ部分の終端EGに合わせるようドラッグを行なう。図18(c)には、ドラッグ操作の終了後の状態が示されている。図18(c)に示すように、輪郭画像のピアノの角部(カーソルCSの位置)と、輪郭強調注目画像におけるその角部の手ブレ部分の終端EGとが合わせ込まれる。
したがって、この第2実施例では、輪郭画像のピアノの角部を合わせ込む手ブレ部分の終端EGが、輪郭線が強調されたものとなっていることから、操作者は、上記の合わせ込みの操作を高精度に行なうことができる。
以上のように構成された第2実施例のコンピュータシステムによれば、第1実施例と同様に、レイヤに配置された輪郭画像がドラッグにより移動されることにより、撮影画像の手ブレの方向と程度の入力が操作者によりなされ、この入力に基づいて手ブレ補正ルーチンにより手ブレの補正がなされる。したがって、第1実施例と同様に、操作者の操作により正確に入力された手ブレの方向と程度に従う手ブレ補正を行なうことができることから、画像の手ブレを高精度に補正することができる。
特にこの実施例では、補正前画像に相当する注目画像データGSについての輪郭が強調されていることから、前述したように、操作者は、ウィンドウWD3を見て輪郭強調注目画像にデータXGSに、レイヤに配置された輪郭画像を合わせ込む操作を、高精度に行なうことができる。したがって、画像の手ブレをより一層高精度に補正することができる。
3.他の実施形態:
なお、この発明は上記の第1、第2実施例や変形例に限られるものではなく、本発明の要旨を逸脱しない範囲において種々なる態様にて実施することが可能であり、例えば次のような変形も可能である。
(1)前記第1実施例では、[手ブレ補正]ウィンドウWD2、[手動補正]ウィンドウWD3で表示する元画像(補正前画像)は、画像データDpからトリミングした注目画像データGSとしていたが、これに換えてトリミングを行なうことなく、画像データDpをそのまま表示する構成としてもよい。また、第2実施例では、[手動補正]ウィンドウWD3で表示する画像は、注目画像データGSについての輪郭を強調したものであったが、これに換えてトリミングを行なうことなく、画像データDpについての輪郭を強調したものとしてもよい。
(2)前記実施例では、マウス24からのドラッグ操作に応じて、レイヤに表示された輪郭画像を移動する構成としていたが、これに換えて、輪郭画像上に着目点をクリックして、その後、該着目点の移動先を示す移動位置をクリックするという操作により、輪郭画像を移動する構成等とすることもできる。
(3)前記実施例の手ブレ方向・程度検出ルーチンでは、ソーベルフィルタを用いて、手ブレの方向と程度を検出していたが、この方法に限る必要もなく、他の方法で、手ブレの方向と程度を検出するように構成してもよい。
(4)前記実施例では、手ブレ補正を行なう手ブレ補正ルーチンを、モーションブラーフィルタを用いてフィルタリングすることにより動作ぼかしを行なって、手ブレ補正を行なう構成であったが、この方法に限る必要もなく、要は、手ブレの方向と程度の入力を受けて、該入力に基づいて撮影画像の手ブレの補正を実行するものであればどのような構成とすることもできる。
(5)本発明では、レイヤにおける輪郭画像の配置位置が操作者により移動されることで、手ブレの方向と程度が入力されるが、ここでいう「手ブレの方向と程度」とは、「手ブレ補正の方向と程度」を含むものである。「手ブレ補正の程度」は、「手ブレの程度」と等価であり、「手ブレ補正の方向」は、「手ブレの方向」と正反対ではあるが、「手ブレの方向」を実質的に決定するものであるためである。例えば、前記第1、第2実施例の変形例として、レイヤに配置された輪郭画像におけるピアノの角部の手ブレ部分の終端を、元画像(補正前画像)のピアノの角部に合わせるようドラッグを行なうすることにより、手ブレ補正の方向と長さを指定する構成とすることができる。なお、この場合には、手ブレ補正ルーチンにおいて、手ブレの方向θ2は、上記ドラッグ操作により指定された手ブレ補正の方向を180度だけ反転した値として入力する。こうした構成によっても前記実施例と同様の効果を奏することができる。
(6)前記実施例では、手ブレを補正する対象としての画像データDpは、デジタルカメラ26により撮影したものとしたが、これに替えて、カラースキャナ等を用いて獲得した銀塩写真の画像データであってもよい。要は、なんらかの撮影装置(例えば、静止画の撮影機能を持ったビデオカメラ)で撮影して得られた撮影画像を獲得する構成であれば、どのような構成であってもよい。例えば、HDD15等の記憶装置に予め用意したものに換えて、ネットワークを介して外部から取り込んだものであってもよい。また、必ずしもカラーの画像データである必要もなく、白黒の画像データに適用することもできる。
本発明の第1実施例を適用するコンピュータシステムのハードウェアの概略構成を示す説明図である。 アプリケーションウィンドウWDの一例を示す説明図である。 CPU11により実行される手ブレ補正処理を示すフローチャートである。 [注目領域の指定]ウィンドウWD1の一例を示す説明図である。 注目領域SAの指定がなされた後の[注目領域の指定]ウィンドウWD1の一例を示す説明図である。 手ブレ方向・程度検出ルーチンの詳細を示すフローチャートである。 水平方向ソーベルフィルタを示す説明図である。 垂直方向ソーベルフィルタを示す説明図である。 合計値Th、Tvとエッジの方向θ、程度mとの関係を示す説明図である。 注目画像データGSについての手ブレ補正ルーチンの詳細を示すフローチャートである。 モーションブラーフィルタF1の一例を示す説明図である。 注目画像データGSについての手ブレ補正ルーチンに従う処理内容を概念的に示す説明図である。 [手ブレ補正]ウィンドウWD2の一例を示す説明図である。 手動補正ルーチンの詳細を示すフローチャートである。 [手動補正]ウィンドウWD3の一例を示す説明図である。 手ブレの程度m1と表示倍率Rとの関係を示すグラフである。 レイヤLYに形成された輪郭画像データEPの一例を示す説明図である。 ドラッグによる輪郭画像の移動の様子を示す説明図である。 第2実施例における手動補正ルーチンの詳細を示すフローチャートである。 手続補正ルーチンにおけるステップS185までの処理により表示画像がどのように形成されるかを示す説明図である。 第2実施例における輪郭画像の移動の様子を示す説明図である。
符号の説明
10...パーソナルコンピュータ
11...CPU
12...バス
13...メモリ
14...表示画像メモリ
15...ハードディスクドライブ
16...入力制御ユニット
17...表示制御ユニット
18...出力制御ユニット
20...ディスプレイ
22...キーボード
24...マウス
26...デジタルカメラ
28...CDドライブ
29...プリンタ
31...ウィンドウ表示部
32...レイヤ形成部
32a...輪郭画像配置部
33...輪郭画像移動部
34...手ブレ方向・程度検出部
35...手ブレ補正部
Pr...コンピュータプログラム
F1、F2...モーションブラーフィルタ
WD...アプリケーションウィンドウ
FD1...画像表示フィールド
FDW...作業フィールド
SA...注目領域
GS...注目画像データ
TGS...補正後注目画像データ
WD1...[注目領域の指定]ウィンドウ
WD2...[手ブレ補正]ウィンドウ
FD11...[元画像]表示フィールド
FD12...[補正後]表示フィールド
BT26...[手動補正]ボタン
WD3...[手動補正]ウィンドウ
FD21...[元画像]表示フィールド
FD22...[補正後]表示フィールド
LY...レイヤ
EP...輪郭画像データ
CS...カーソル
EG...終端
θ1、θ2...手ブレの方向
m1、m2...手ブレの程度
XGS...輪郭強調注目画像データ

Claims (18)

  1. 撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正装置であって、
    前記撮影画像の全体もしくは一部についての前記手ブレを補正する以前の補正前画像を表わすウィンドウを表示装置に表示するウィンドウ表示手段と、
    補正前画像の少なくとも一部の輪郭を示す輪郭画像を前記補正前画像に重畳させ、位置あわせをして配置し表示させる輪郭画像配置手段と、
    操作者からの入力装置を用いた操作指令に基づいて、前記輪郭画像の配置位置を移動する輪郭画像移動手段と、
    前記輪郭画像移動手段による移動により、前記輪郭画像が前記補正前画像における前記輪郭に対応する手ブレ部分の終端に重ね合わされたものとして、前記移動についての方向と距離を、前記手ブレの方向と程度として検出する手ブレ方向・程度検出手段と、
    該検出された前記手ブレの方向と程度に基づいて、前記撮影画像の手ブレの補正を実行する手ブレ補正手段と
    を備える手ブレ画像補正装置。
  2. 請求項1に記載の手ブレ画像補正装置であって、
    前記輪郭画像移動手段は、
    前記入力装置としてのマウスからのドラッグ操作を受け付けて、該ドラッグ操作に応じて、前記輪郭画像を移動する構成である手ブレ画像補正装置。
  3. 請求項1または2に記載の手ブレ画像補正装置であって、
    前記ウィンドウに表示される前記補正前画像についての輪郭を強調する補正前画像輪郭強調手段を備える手ブレ画像補正装置。
  4. 請求項1ないし3のいずれかに記載の手ブレ画像補正装置であって、
    前記ウィンドウ表示手段は、
    前記ウィンドウに、前記補正前画像に加えて、前記手ブレ補正手段による補正後画像を表わす補正後画像表示手段を備える手ブレ画像補正装置。
  5. 請求項4に記載の手ブレ画像補正装置であって、
    前記ウィンドウ表示手段は、
    前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる補正前画像拡大表示手段
    を備える手ブレ画像補正装置。
  6. 請求項1ないし3のいずれかに記載の手ブレ画像補正装置であって、
    前記ウィンドウ表示手段は、
    前記補正前画像を、前記手ブレ方向・程度検出手段により検出された前記手ブレの程度が小さいほど、表示倍率を高くして表示させる補正前画像拡大表示手段を備える手ブレ画像補正装置。
  7. 請求項6に記載の手ブレ画像補正装置であって、
    前記手ブレ方向・程度検出手段は、
    前記撮影画像の画素毎に手ブレの方向と程度を検出する各画素手ブレ検出手段と、
    前記各画素手ブレ検出手段により検出された手ブレの程度が最も大きいエッジ部を検出するエッジ検出手段と、
    前記エッジ検出手段により検出された前記エッジ部の手ブレの方向と程度を、前記撮影画像全体の手ブレの方向と程度に定める手ブレ決定手段と
    を備える手ブレ画像補正装置。
  8. 請求項7に記載の手ブレ画像補正装置であって、
    前記補正前画像拡大表示手段は、
    前記エッジ検出手段により検出されたエッジ部を少なくとも含む領域を拡大表示させる構成である手ブレ画像補正装置。
  9. 請求項1ないし8いずれかに記載の手ブレ画像補正装置であって、
    前記手ブレ補正手段は、
    前記手ブレの方向と程度に基づいて、動作ぼかしを掛けるモーションブラーフィルタを設定するフィルタ設定手段と、
    該設定されたモーションブラーフィルタを用いて、前記撮影画像に対して演算処理を行なうフィルタ演算手段と、
    前記撮影画像と前記フィルタ演算手段により得られた画像との差分を演算する画像差分演算手段と、
    前記撮影画像に対して前記差分を合成することにより前記補正後画像を生成する画像合成手段と
    を備える手ブレ画像補正装置。
  10. 撮影装置で撮影して得られた撮影画像の手ブレを補正する手ブレ画像補正方法であって、
    (a)前記撮影画像の全体もしくは一部についての前記手ブレを補正する以前の補正前画像を表わすウィンドウを表示装置に表示する行程と、
    (b)補正前画像の少なくとも一部の輪郭を示す輪郭画像を前記補正前画像に重畳させ、位置あわせをして配置し表示させる行程と、
    )操作者からの入力装置を用いた操作指令に基づいて、前記輪郭画像の配置位置を移動する行程と、
    )前記行程()による移動により、前記輪郭画像が前記補正前画像における前記輪郭に対応する手ブレ部分の終端に重ね合わされたものとして、前記移動についての方向と距離を、前記手ブレの方向と程度として検出する行程と、
    )該検出された前記手ブレの方向と程度に基づいて、前記撮影画像の手ブレの補正を実行する行程と
    を備える手ブレ画像補正方法。
  11. 撮影装置で撮影して得られた撮影画像の手ブレを補正するためのコンピュータプログラムであって、
    (a)前記撮影画像の全体もしくは一部についての前記手ブレを補正する以前の補正前画像を表わすウィンドウを表示装置に表示する機能と、
    (b)補正前画像の少なくとも一部の輪郭を示す輪郭画像を前記補正前画像に重畳させ、位置あわせをして配置し表示させる機能と、
    )操作者からの入力装置を用いた操作指令に基づいて、前記輪郭画像の配置位置を移動する機能と、
    )前記機能)による移動により、前記輪郭画像が前記補正前画像における前記輪郭に対応する手ブレ部分の終端に重ね合わされたものとして、前記移動についての方向と距離を、前記手ブレの方向と程度として検出する機能と、
    )該検出された前記手ブレの方向と程度に基づいて、前記撮影画像の手ブレの補正を実行する機能と
    をコンピュータに実現させるためのコンピュータプログラム。
  12. 請求項11に記載のコンピュータプログラムであって、
    前記機能(c)は、
    前記入力装置としてのマウスからのドラッグ操作を受け付けて、該ドラッグ操作に応じて、前記輪郭画像を移動する構成であるコンピュータプログラム。
  13. 請求項11または12に記載のコンピュータプログラムであって、
    )前記ウィンドウに表示される前記補正前画像についての輪郭を強調する機能を備えるコンピュータプログラム。
  14. 請求項11ないし13のいずれかに記載のコンピュータプログラムであって、
    前記機能(a)は、
    (a−1)前記ウィンドウに、前記補正前画像に加えて、前記機能(e)による補正後画像を表わす機能
    を備えるコンピュータプログラム。
  15. 請求項14に記載のコンピュータプログラムであって、
    前記機能(a)は、
    (a−2)前記補正前画像を、前記補正後画像と比べて表示倍率を高くして表示させる機能
    備えるコンピュータプログラム。
  16. 請求項11ないし13のいずれかに記載のコンピュータプログラムであって、
    記機能(a)は、
    (a−1)前記補正前画像を、前記機能()により検出された前記手ブレの程度が小さいほど、表示倍率を高くして表示させる機能を備えるコンピュータプログラム。
  17. 請求項11ないし16のいずれかに記載のコンピュータプログラムであって、
    前記機能()は、
    −1)前記手ブレの方向と程度に基づいて、動作ぼかしを掛けるモーションブラーフィルタを設定する機能と、
    −2)該設定されたモーションブラーフィルタを用いて、前記撮影画像に対して演算処理を行なう機能と、
    −3)前記撮影画像と前記機能(−2)により得られた画像との差分を演算する機能と、
    −4)前記撮影画像に対して前記差分を合成することにより前記補正後画像を生成する機能と
    を備えるコンピュータプログラム。
  18. 請求項11ないし17のいずれかに記載のコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2004262437A 2004-05-26 2004-09-09 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム Expired - Fee Related JP4725059B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004262437A JP4725059B2 (ja) 2004-05-26 2004-09-09 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004155525 2004-05-26
JP2004155525 2004-05-26
JP2004262437A JP4725059B2 (ja) 2004-05-26 2004-09-09 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2006011352A JP2006011352A (ja) 2006-01-12
JP4725059B2 true JP4725059B2 (ja) 2011-07-13

Family

ID=35778656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004262437A Expired - Fee Related JP4725059B2 (ja) 2004-05-26 2004-09-09 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP4725059B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4962384B2 (ja) * 2008-03-31 2012-06-27 ブラザー工業株式会社 画像処理装置
KR101426417B1 (ko) 2010-02-05 2014-08-07 삼성테크윈 주식회사 영상 안정화 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101122A (ja) * 1995-10-02 1997-04-15 East Japan Railway Co 車輪形状計測装置およびその方法
JPH1127574A (ja) * 1997-07-07 1999-01-29 Ricoh Co Ltd 手ぶれパラメータ検出方法及び情報記録媒体
JPH11284944A (ja) * 1998-03-31 1999-10-15 Canon Inc 画像処理方法及び装置
JP2001145014A (ja) * 1999-11-16 2001-05-25 Canon Inc 画像信号処理装置、画像信号処理方法及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101122A (ja) * 1995-10-02 1997-04-15 East Japan Railway Co 車輪形状計測装置およびその方法
JPH1127574A (ja) * 1997-07-07 1999-01-29 Ricoh Co Ltd 手ぶれパラメータ検出方法及び情報記録媒体
JPH11284944A (ja) * 1998-03-31 1999-10-15 Canon Inc 画像処理方法及び装置
JP2001145014A (ja) * 1999-11-16 2001-05-25 Canon Inc 画像信号処理装置、画像信号処理方法及び記録媒体

Also Published As

Publication number Publication date
JP2006011352A (ja) 2006-01-12

Similar Documents

Publication Publication Date Title
WO2021073331A1 (zh) 基于终端设备的变焦虚化图像获取方法和装置
US9591237B2 (en) Automated generation of panning shots
JP4487191B2 (ja) 画像処理装置および画像処理プログラム
KR101036787B1 (ko) 움직임 벡터 연산 방법과 이 방법을 이용한 손 떨림 보정장치, 촬상 장치, 및 동영상 생성 장치
WO2018176925A1 (zh) Hdr图像的生成方法及装置
US7379621B2 (en) Method and system for composing universally focused image from multiple images
US8422827B2 (en) Image correction apparatus and image correction method
JP2017518556A (ja) 画像表示方法及び装置
CN108833785A (zh) 多视角图像的融合方法、装置、计算机设备和存储介质
CN112862685A (zh) 图像拼接的处理方法、装置和电子系统
JP6755787B2 (ja) 画像処理装置、画像処理方法およびプログラム
CN111144491B (zh) 图像处理方法、装置及电子系统
JPWO2017169039A1 (ja) 画像処理装置、撮像装置、および画像処理方法、並びにプログラム
JP2008099260A (ja) 画像処理装置、電子カメラ、および画像処理プログラム
JP4725059B2 (ja) 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム
JP4784175B2 (ja) 逆光画像判定および暗部補正
JP2009159525A (ja) 撮像装置及び画像合成プログラム
JP4904798B2 (ja) 複数画像修整装置、コンピュータプログラム、および記録媒体
JP2006050070A (ja) 画像処理方法および装置並びにプログラム
JP4934992B2 (ja) 画像処理装置、電子カメラおよび画像処理プログラム
JP2006155063A (ja) 画像補正装置、画像補正方法およびコンピュータプログラム
JP3241243B2 (ja) パノラマ画像合成システム及びパノラマ画像合成方法
CN110689502B (zh) 一种图像处理方法及相关装置
JP2009118434A (ja) ぶれ補正装置及び撮像装置
JP2006071691A (ja) 手ブレ画像補正装置、手ブレ画像補正方法およびコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

R150 Certificate of patent or registration of utility model

Ref document number: 4725059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees