(57)【要約】【課題】  効率的に、センサ上のゴミによるノイズを除去する。【解決手段】  画像データ１に対し、ノイズ除去のためのスタンプ処理手段１と、スタンプ処理されたノイズ領域を記録する領域記録手段と、画像データ１よりカメラ固有の識別情報１を読み出す識別情報取得手段１と、画像データ１より画像データの撮影日時１を読み出す撮影日時取得手段１と、ノイズ領域と識別情報１、撮影日時１を関連付けて、データベースに保存するデータベース化手段と、画像データ２よりカメラ固有の識別情報２を読み出す識別情報取得手段２と、画像データ２より、画像データの撮影日時２を読み出す撮影日時取得手段２と、識別情報２と撮影日時２を用いて、データベースを参照してノイズ領域を取得するノイズ領域取得手段と、ノイズ領域を中心に拡大表示する画像データ拡大表示手段と、拡大表示された画像データ２に対するスタンプ処理手段２を備える。【選択図】  図１
2007199757.tif 000002
【特許請求の範囲】
【請求項１】
カメラで撮影された画像データのノイズ除去を行う画像処理装置の制御方法であって、
撮影された画像データに対し、ノイズ除去のため、スタンプ処理を行う、スタンプ処理工程と、
スタンプ処理されたノイズ領域を記録する、ノイズ領域記録工程と、
前記画像データより、撮影したカメラ固有の識別情報を読み出す、識別情報取得工程と、
前記画像データより、撮影日時情報を読み出す、撮影日時取得工程と、
前記ノイズ領域と前記識別情報、前記撮影日時を関連付けて、データベースに保存する、データベース化工程と、
前記識別情報と前記撮影日時を用いて、前記データベースを参照し、前記ノイズ領域を取得する、ノイズ領域取得工程と、
前記ノイズ領域を中心に、前記画像データを表示する、画像データ表示工程とを
備えることを特徴とする画像処理装置の制御方法。
【請求項２】
更に前記画像データより、回転情報を読み出す回転情報取得工程を備え、
前記データベース化工程が、前記ノイズ領域、前記識別情報、前記撮影日時と前記回転情報とを関連付けて、データベースに保存し、
前記回転情報を用いて、前記ノイズ領域の座標を変換する、座標変換工程と、
前記回転情報を用いて、前記画像データを回転する、画像データ回転工程と
を更に備えることを特徴とする請求項１に記載の画像処理装置の制御方法。
【請求項３】
カメラで撮影された画像データのノイズ除去を行う画像処理装置の制御方法であって、
基準画像データを取得する、基準画像データ取得工程と、
前記基準画像データを二値化し、ノイズ領域を取得する、ノイズ領域取得工程と、
撮影された画像データより、撮影したカメラ固有の識別情報を読み出す、識別情報取得工程と、
前記画像データより、撮影日時情報を読み出す、撮影日時取得工程と、
前記ノイズ領域と前記識別情報、前記撮影日時を関連付けて、データベースに保存する、データベース化工程と、
前記識別情報と前記撮影日時を用いて、前記データベースを参照し、前記ノイズ領域を取得する、ノイズ領域取得工程と、
前記ノイズ領域を中心に、前記画像データを表示する、画像データ表示工程とを
備えることを特徴とする画像処理装置の制御方法。
【請求項４】
請求項１乃至３のいずれかに記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項５】
請求項４に記載のコンピュータプログラムを記憶したコンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザーインターフェイス（以下、GUI）を用いた、画像処理方法の技術分野に属する。
【背景技術】
【０００２】
デジタルカメラは、CCDやCMOSなどの撮像素子を用いて、光入力信号を、RGB信号に変換し、画像データを生成することができる。しかし、近年、普及してきたデジタル一眼レフカメラにおいては、レンズを交換する際に、ほこりなどのゴミが機器内部に入り、それが、撮像素子表面に付着することがある。その様子を表したのが、図２のCMOSセンサ201であり、表面に、ゴミ202が付着している。このような状態で撮影を続けると、撮影画像データ203のように、ゴミの後が、黒いノイズのように残る（204）。これを、以下、ゴミノイズと呼ぶこととする。
【０００３】
こういったゴミノイズを除去する最も普及している方法として、スタンプ処理がある。これを、図３の撮影画像データ301を用いて説明する。例えば、ゴミノイズ304を取り除くには、ゴミノイズの周辺領域の一部である、コピー元領域302を、メモリ上に保管する。その後、ゴミノイズ304のある、コピー先領域303を、メモリに保管したコピー元領域302を用いて、塗りつぶす。これにより、周囲と違和感なく、ゴミノイズを消去することができる。
【０００４】
しかし、同じカメラで撮影した画像が、複数枚ある場合、スタンプ処理を行うために、毎回、ゴミノイズを探す必要がある。これでは、作業に膨大な時間を費やしてしまう。そのため、例えば、ノイズのない状態で画像を撮影し、そこからマスク画像を生成し、ノイズ除去を行っている方法が考案されている（特許文献１参照）。しかし、ゴミノイズの場合は、ゴミノイズのない状態を作ることが不可能であるため、こういった方法は使えない。
【特許文献１】特開平7-210784号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の問題を鑑みたものであり、デジタルカメラの固体ごとに、ゴミノイズの位置をデータベース化し、GUI上において、スタンプ処理を効率よく実行することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明では、以下の構成を備える。すなわち、カメラで撮影された画像データのノイズ除去を行う画像処理装置の制御方法であって、撮影された画像データに対し、ノイズ除去のため、スタンプ処理を行う、スタンプ処理工程と、スタンプ処理されたノイズ領域を記録する、ノイズ領域記録工程と、画像データより、撮影したカメラ固有の識別情報を読み出す、識別情報取得工程と、画像データより、画像データの撮影日時情報を読み出す、撮影日時取得工程と、ノイズ領域と識別情報、撮影日時を関連付けて、データベースに保存する、データベース化工程と、識別情報と撮影日時を用いて、データベースを参照し、ノイズ領域を取得する、ノイズ領域取得工程と、ノイズ領域を中心に、画像データを表示する、画像データ表示工程とを備える。
【発明の効果】
【０００７】
本発明を用いることにより、画像データに対し、ゴミノイズを除去するためのスタンプ処理を煩雑な作業を行わずに実行することができる。
【発明を実施するための最良の形態】
【０００８】
（実施例１）
本実施例では、データベースの構成方法と、それを利用したGUI上での操作方法について説明する。
【０００９】
図1は、本発明の実施形態における、システム構成を示すブロック図である。入力装置101は、ユーザからの指示や、データを入力する装置で、キーボードやマウスなどのポインティングシステムを含む。表示装置102は、GUIなどを表示する装置で、通常はCRTや、液晶ディスプレイなどが用いられる。蓄積装置103は、画像データ、プログラムを蓄積する装置で、通常は、ハードディスクが用いられる。104は、CPUで、上述した各構成の処理の全てに関わる。ROM105と、RAM106は、その処理に必要なプログラム、データ、作業領域などをCPU104に提供する。また、以降のフローチャートの処理に必要な制御プログラムは、蓄積装置103に格納されているか、ROM105に格納されているものとする。蓄積装置103に格納されている場合は、一旦RAM106に読み込まれてから実行される。
【００１０】
なお、システム構成については、上記以外にも、様々な構成要素が存在するが、本発明の主眼ではないので、その説明は省略する。
【００１１】
図３のスタンプ処理GUI 307は、スタンプ処理を実際に行う、アプリケーションのGUIを示している。画像表示部308には、画像データが表示され、操作ボタン類310を用いて、実際の操作を実行する。操作ボタン類の、「100%表示」は、画像データを等倍で表示するためのボタンである。「全体表示」は、画像データを縮小し、画像データ全体を表示するためのボタンである。「コピー元選択」は、ゴミノイズを塗りつぶすための、周辺領域を、RAM106にコピーするためのボタンである。また、ボタンの押下や、コピー元の選択、コピー先の選択などには、マウスカーソル309を用いる。
【００１２】
図４は、ゴミノイズの位置を保管した、データベースの内容を示した表である。登録項目としては、カメラ機種名、カメラのシリアルナンバー、ゴミノイズの個数、ゴミノイズのそれぞれの座標がある。カメラの機種名と、シリアルナンバーを用いて、カメラの固体を特定する。また、同じカメラであっても、一定期間ごとに、データベースが追加される。これは、撮像素子上のゴミが、常に移動しているためである。これにより、画像データの生成日時と、データベースの日付を照会することができ、より、撮影当時に近い、ゴミの位置を提供することができる。
【００１３】
図５は、実際にデータベースを構築する方法を示した、フローチャート図である。S501では、図３の画像表示部308に、画像全体を表示させる。S502では、そこから、ゴミノイズを、ユーザが目で確認し、確認された場合は、S503に進む。確認されなかった場合は処理を終了する。S503では、ユーザが、操作ボタン類310の「100%表示」を押下し、画像表示部308に、画像データを等倍で表示させる。S504では、ユーザが、画像表示部308に、ゴミノイズが表示されるように、画像データをスクロール（移動）する。S505では、ユーザが、操作ボタン類310の「コピー元選択」を押下し、マウスカーソル309を用いて、コピー元領域を選択する。すると、RAM106に、コピー元領域がコピーされ、画像データRが作成される。その後、同じく、ユーザが、マウスカーソル309を用いて、コピー先領域（ゴミノイズの位置）を選択する。すると、コピー先領域が、画像データRによって塗りつぶされ、スタンプ処理が終了する。S506では、コピー先領域（ゴミノイズの位置）が、そのときの日付に応じた、データベースに保管される。このとき、固体を特定するための、機種名とシリアルナンバーが同時に記録される。S502〜S506を、ゴミノイズがなくなるまで繰り返すことにより、全てのゴミノイズの位置と、個数が、データベースに保管される。
【００１４】
図６は、データベースを用いて、スタンプ処理を行う過程について説明したフローチャート図である。S601では、記憶装置103から、実行ファイルを読み込み、RAM106に展開し、アプリケーションを開始する。S602では、スタンプ処理を行う、画像を記憶装置103から読み込み、RAM106に展開し、デコード処理を実行する。S603では、画像データから、カメラ機種名と、シリアルナンバー、撮影日時を読み取り、それを元に、データベースと照会する。S604では、データベース内において、カメラ機種名、シリアルナンバーより、画像データと一致するデータがあるかどうかを調査する。あった場合、S605に進み、なかった場合、図５のデータベース登録のフローチャートに進む。S605では、一致したデータの中から、撮影日時と最も近い、データを読み出し、ゴミノイズの個数Nと、座標(Xn, Yn)全てを、RAM106に読み込む。このとき、0≦n<Nである。S606では、デコードされた画像データを、画像表示部308に全体表示する。S607では、ユーザが、定められたショートカットキーを押下する。S608では、変数nを0に初期化する。S609では、n<N-1であるかどうかを判断する。n<N-1なら、S610に、そうでないなら、処理を終了する。S610では、座標(Xn, Yn)を中心に、画像データを、画像表示装置308に、等倍表示する。S611では、ユーザが、スタンプ処理を実行する。S612では、データベースから読み込んだ、座標(Xn, Yn)と、実際にスタンプ処理された座標を比較し、異なる場合は、実際にスタンプ処理された座標で、データベースを更新する。もし、S611において、スタンプ処理が実行されなかった場合は、座標(Xn, Yn)を、データベースより消去する。以降、S609〜S612を繰り返すことにより、全てのゴミノイズを効率よくスタンプ処理することができる。
【００１５】
以上のように、ゴミノイズの位置を、カメラの固体情報と日付を合わせて、データベース化しておくことで、効率よく、スタンプ処理を実行することが可能になる。
【００１６】
（実施例２）
本実施例では、データベースへの登録作業を、簡易化する方法について説明する。なお、システム構成等は、実施例１と同様であるので、説明は省略する。
【００１７】
図７は、ゴミノイズの位置を、簡単に検出する過程について説明したフローチャート図である。S701では、真っ白な紙を、デジタルカメラで撮影し、画像ファイルAを作成する。S702では、画像ファイルAを、記憶装置103より読み出し、RAM106に展開し、デコード処理を行う。S703では、デコードされた画像データを、２値化処理する。これによって、ゴミノイズ領域の画素値が1となり、それ以外の領域の画素値は0となる。S704では、画素値が1である領域を検出する。検出された場合は、S705に進み、検出されなかった場合は、処理を終了する。S705では、検出された領域を、そのときの日付に応じた、データベースに保管する。このとき、固体を特定するための、機種名とシリアルナンバーも同時に記録する。データベースに登録した領域は、画素値を0に変更し、S704に戻る。その後、S704〜S705を繰り返すことにより、全てのゴミノイズの位置を、データベースに登録することができる。
【００１８】
以上のように、白く平らな物体を撮影した画像を用いることで、簡単に、ゴミノイズの位置を、データベースに登録することができる。なお、実際のスタンプ処理は、実施例１と同じであるので、説明は省略する。
【００１９】
（実施例３）
本実施例では、回転された画像に対してのスタンプ処理について説明する。なお、システム構成等は、実施例１と同様であるので、説明は省略する。
【００２０】
図８は、回転された画像と、ゴミノイズの位置の概要を表した図である。回転前画像801が、半時計方向に90度回転されると、回転後画像802のようになる。この際、回転前画像801上にあった、ゴミノイズの回転前座標803は、回転後座標804のようになるので、スタンプ処理の際には、座標の回転を考慮する必要がある。また、回転後に画像が保存された場合、回転情報805が、画像データに付加される。
【００２１】
図９は、データベースを用いて、スタンプ処理を行う過程について説明したフローチャート図である。S901では、記憶装置103から、実行ファイルを読み込み、RAM106に展開し、アプリケーションを開始する。S902では、スタンプ処理を行う、画像を記憶装置103から読み込み、RAM106に展開し、デコード処理を実行する。S903では、画像データから、カメラ機種名と、シリアルナンバー、撮影日時を読み取り、それを元に、データベースと照会する。更にこの際、回転情報も読み取る。S904では、データベース内において、カメラ機種名、シリアルナンバーより、画像データと一致するデータがあるかどうかを調査する。あった場合、S905に進み、なかった場合、図５のデータベース登録のフローチャートに進む。S905では、一致したデータの中から、撮影日時と最も近い、データを読み出し、ゴミノイズの個数Nと、座標(Xn, Yn)全てを、RAM106に読み込む。このとき、0≦n<Nである。S906では、デコードされた画像データを、画像表示部308に全体表示する。この際、読み込んだ回転情報を用いて、画像を回転しておく。S907では、ユーザが、定められたショートカットキーを押下する。S908では、変数nを0に初期化する。S909では、n<N-1であるかどうかを判断する。n<N-1なら、S910に、そうでないなら、処理を終了する。S910では、回転情報に合わせて、座標(Xn, Yn)を、回転後の座標(Xn`, Yn`)に変換する。S911では、座標(Xn`, Yn`)を中心に、画像データを、画像表示装置308に、等倍表示する。S912では、ユーザが、スタンプ処理を実行する。S913では、座標(Xn`, Yn`)と、実際にスタンプ処理された座標を比較する。結果が異なる場合は、実際にスタンプ処理された座標を回転前の座標に変換し、その座標値で、データベースを更新する。もし、S912において、スタンプ処理が実行されなかった場合は、座標(Xn, Yn)を、データベースより消去する。以降、S909〜S913を繰り返すことにより、全てのゴミノイズを効率よくスタンプ処理することができる。
【００２２】
一方、各実施形態の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００２３】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００２４】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００２５】
【図１】本発明におけるシステム構成図である。
【図２】撮影素子上のゴミを表した図である。
【図３】スタンプツールのGUIを表した図である。
【図４】ゴミノイズのデータベースを示した図である。
【図５】ゴミノイズを登録する方法について説明したフローチャート図である。
【図６】スタンプツール上での操作を説明した、フローチャート図である。
【図７】ゴミノイズ位置の自動検出方法について説明したフローチャート図である。
【図８】回転された画像と、ゴミノイズの位置の概要を表した図である。
【図９】データベースを用いて、スタンプ処理を行う過程について説明したフローチャート図である。
【図１】
2007199757.tif 000003
【図２】
2007199757.tif 000004
【図３】
2007199757.tif 000005
【図４】
2007199757.tif 000006
【図５】
2007199757.tif 000007
【図６】
2007199757.tif 000008
【図７】
2007199757.tif 000009
【図８】
2007199757.tif 000010
【図９】
2007199757.tif 000011