(57)【要約】【課題】写真画像に存在する上書き文字と元々写真内に存在していた文字を区別し、ユーザーの要求する画像を出力、あるいは保存できる画像処理を提供すること。【解決手段】本発明の画像処理装置は、入力画像から連結画素を抽出して、抽出された連結画素の属性を判定し、さらに文字と判定された連結画素が影文字かどうかを判定する。そして、文字の連結画素を結合してグループ化し、文字列とする。最終的に、写真と判定された領域内に存在する文字列が上書き文字か、元々写真内に存在した文字かどうかを判定し、ユーザーの要求する画像を出力する。【選択図】図２
2011013899.tif 000002
【特許請求の範囲】
【請求項１】
入力画像から抽出した連結画素の属性を判定する属性判定手段、
前記属性判定手段により文字と判定された連結画素を結合して文字列とする結合手段、及び、
前記属性判定手段により写真と判定された領域内に存在する文字列が、写真画像に上書きされた上書き文字または該写真画像に含まれる文字のいずれであるかの判定をする上書き文字判定手段
を有することを特徴とする画像処理装置。
【請求項２】
前記属性判定手段は、更に、文字と判定された連結画素が影文字かどうかを判定し、
前記上書き文字判定手段は、前記属性判定手段により判定された連結画素が影文字かどうかの情報、前記結合手段で判定された文字列の外接矩形内画素の色数、文字列連結画素内の画素の濃度差、文字列の周辺ブロックとの位置関係、１文字単位の外接矩形内画素の色数の変化に基づいて、前記いずれであるかの判定をすることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記上書き文字判定手段は、前記結合手段により結合された文字列が前記属性判定手段により判定された影文字かどうかを判定する手段を有し、影文字であれば文字列の周辺ブロックとの位置関係に基づいて前記いずれであるかの判定をすることを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記上書き文字判定手段は、前記結合手段により結合された文字列が前記属性判定手段により判定された影文字かどうかを判定する手段を有し、影文字でなければ文字列連結画素内の画素の濃度差や文字列の周辺ブロックとの位置関係に基づいて前記いずれであるかの判定をし、上書き文字と判定されない場合は更に文字列の外接矩形内画素の色数や１文字単位の外接矩形内画素の色数の変化に基づいて前記いずれであるかの判定をすることを特徴とする請求項２記載の画像処理装置。
【請求項５】
コンピュータプログラムを実行する処理手段を備えた画像処理装置の制御方法であって、該プログラムに従って該装置に、
入力画像から連結画素を抽出する抽出ステップ、
前記抽出ステップで抽出した連結画素の属性を判定する属性判定ステップ、
前記属性判定ステップにおいて文字と判定された連結画素を結合して文字列とする結合ステップ、及び、
前記属性判定ステップにおいて写真と判定された領域内に存在する文字列が、写真画像に上書きされた上書き文字または該写真画像に含まれる文字のいずれであるかの判定をする上書き文字判定ステップ
を実行させることを特徴とする制御方法。
【請求項６】
コンピュータプログラムを実行する処理手段を備えた装置を、
入力画像から抽出した連結画素の属性を判定する属性判定手段、
前記属性判定手段により文字と判定された連結画素を結合して文字列とする結合手段、及び、
前記属性判定手段により写真と判定された領域内に存在する文字列が、写真画像に上書きされた上書き文字または該写真画像に含まれる文字のいずれであるかの判定をする上書き文字判定手段
として機能させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法、コンピュータプログラムに関する。特に詳細には本発明は、画像から写真領域内に存在する文字を抽出し、上書き文字か元々写真内に存在した文字かどうかを自動的に判定する画像処理に関する。
【背景技術】
【０００２】
入力画像からユーザーの要求する画像を生成し、生成した画像を出力、保存する場合がある。例えば、フィルムに被写体を露光する時に、撮影した日付等を付加情報（上書き文字）として焼き付ける機能を有している銀塩方式（フィルム式）カメラでは、画像処理を施して、その上書き文字を消去したい、という要求がある。銀塩方式カメラでなくても、デジタルカメラで撮影した画像に、後々電子的に日付やコメント等を挿入して保存しておいた画像を元通りに復元し、新たに編集を加えて利用したい、という要求がある。
【０００３】
この要求に応える技術が、特許文献１により提案されている。つまり、写真データから、写真に添付された上書き文字に関する文字データを抽出し、上書き文字の周辺に位置する周辺写真データに基づいて上書き文字の下地画像を推測し、文字データを下地画像データに置き換える技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１７９７３７号公報
【特許文献２】特開平０６−０６８３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記の従来技術では、写真と判定された領域内に存在する文字列が上書き文字か元々写真内に存在した文字のいずれであるかを判定することは容易ではない。例えば看板に書かれた文字を含む写真領域に上書き文字が挿入された画像においては、看板の文字を含むすべての文字列を抽出し、消去してしまうという問題が生じる。
【０００６】
そこで、本発明の目的は、写真画像に存在する上書き文字と元々写真内に存在していた文字を区別し、ユーザーの要求する画像を出力、あるいは保存できるようにする画像処理を実現することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明に係る画像処理装置は、入力画像から抽出した連結画素の属性を判定する属性判定手段、前記属性判定手段により文字と判定された連結画素を結合して文字列とする結合手段、及び、前記属性判定手段により写真と判定された領域内に存在する文字列が、写真画像に上書きされた上書き文字または該写真画像に含まれる文字のいずれであるかの判定をする上書き文字判定手段を備える。
【発明の効果】
【０００８】
上述した構成を備える本発明によれば、写真領域内に存在する上書き文字と元々写真内に存在した文字を区別することができ、写真補正等をより適切に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態１に係る画像処理装置の概略構成を示すブロック図である。
【図２】本発明の実施形態１に係る画像処理を示すフローチャートである。
【図３】本発明の実施形態１に係る上書き文字判定処理を示すフローチャートである。
【図４】上書き文字判定処理における一処理ステップの詳細なフローチャートである。
【図５】上書き文字判定処理における一処理ステップの詳細なフローチャートである。
【図６】上書き文字判定処理における一処理ステップの詳細なフローチャートである。
【図７】上書き文字判定処理における一処理ステップの詳細なフローチャートである。
【図８】本発明の実施形態２に係る画像処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
（実施形態１）
図１は本発明の実施形態１に係る画像処理装置の概略構成を示すブロック図である。
【００１１】
ＣＰＵ１０１は、ＲＯＭ１０２に格納されている制御プログラムを実行することにより、本装置全体の制御を行う。ＲＯＭ１０２は、ＣＰＵ１０１が実行するコンピュータプログラムの他、各種パラメータデータを格納する。コンピュータプログラムは、ＣＰＵ１０１により実行されることで、後述する各フローチャートに示す各処理を実行するための各種手段として、当該装置（コンピュータ）を機能させることができる。
【００１２】
なお、本実施形態では、後述するフローチャートの各ステップに対応する処理をコンピュータ（処理手段であるＣＰＵ又は制御演算装置、あるいは、ＣＰＵ又は制御演算装置を備えた装置）を用いてソフトウェアで実現することとする。その処理の一部または全部を電子回路などのハードウェアで実現するようにしても構わない。また、本発明の画像処理装置は汎用パソコンを用いて実現しても、画像処理専用の装置として実現しても良い。
【００１３】
ＲＡＭ１０３には、画像や各種情報が記憶される。ＲＡＭ１０３は、ＣＰＵのワークエリアやデータの一時待避領域として機能する。外部記憶装置１０４は、例えばハードディスクやＣＤ−ＲＯＭ等で構成される。なお、本発明の装置をコンピュータに実現させるためのコンピュータプログラムは、このコンピュータ読取可能な記憶媒体に格納されていても、ネットワークを介して供給されても良い。
【００１４】
ディスプレイ１０５は、例えば、ＬＣＤやＣＲＴで構成される。入力装置１０６は、例えば、デジタルカメラやスキャナ等の画像入力装置を接続するためのインターフェースであっても、デジタルカメラやスキャナ等の画像入力装置そのものであっても良い。また、デジタルカメラやスキャナの機能の１つとして実現するために、デジタルカメラやスキャナ内部に本発明の装置構成を組み込んで実現しても良い。
【００１５】
ネットワークインターフェース（Ｉ／Ｆ）１０７は、ネットワーク上に接続されている外部装置（例えば、サーバ、外部記憶装置、画像入力装置等）と通信し、プログラムやデータを読み込んだり、書き込んだりする。なお、ネットワークは、典型的にはインターネットやＬＡＮやＷＡＮや電話回線などのいわゆる通信ネットワークであり、データの送受信が可能であれば良い。ディスプレイ１０５や入力装置１０６は、ネットワークインターフェース１０７を介して接続されていても良い。
【００１６】
このような画像処理装置は、例えばＰＣ等の汎用のコンピュータ装置で実現でき、該ＰＣの入力装置１０６を介して接続したデジタルカメラ（図示せず）から画像データを受信して、画像データの編集（日付やコメントの挿入等）をした後、画像処理が実行される。
【００１７】
次に、本実施形態における画像処理について添付図面を用いて説明する。本実施形態では、デジタルカメラ等で撮影した静止画像を編集した後、静止画像内に存在する文字列を抽出し、画像補正を行う。日付やコメントの挿入等の画像データの編集は既に行われているものとする。なお、静止画像のみを対象としてもよいし、ドキュメントの一部に静止画像が存在するようなものを対象としても良い。
【００１８】
図２は、実施形態１の画像処理装置における画像処理を示すフローチャートである。
【００１９】
ステップＳ２０１では、入力画像から同色の連結画素塊を抽出する。連結画素塊の抽出方法としては、例えば８方向連結が挙げられる。上下左右斜めの８方向のいずれかで連結する同色の連結画素を抽出する。処理の高速化やノイズ除去の観点から、入力画像に対し予め色の量子化を行い、減色を試みた後、同色の連結画素塊を抽出してもよい。入力画像の減色方法としては、入力デジタルカラー信号（ＲＧＢ各８ビット）の上位２ビットをとり、４×４×４の立方体（以下、ＢＩＮ）で色の発生頻度分布をとる。次に６４個のＢＩＮについて平均値と分散を計算し、分散の一番大きなＢＩＮを２分割する。さらに、ＢＩＮの平均値と分散値を計算し、分散の一番大きなＢＩＮを２分割する操作をＢＩＮの個数が２５６個などの目標色数となるまで行って分割していく方法等を利用して、減色を行う。
【００２０】
ステップＳ２０２では、ステップＳ２０１で抽出された連結画素塊の属性判定を行う。属性の種類は、文字、背景、表、写真、線画、線等である。更に文字については、その文字が影文字かどうかの属性判定も行う。属性の判定方法は、連結画素の外接矩形の幅、高さ、縦横比、外接矩形内画素の面積に対して連結画素の占める割合、連結画素を取り囲む連結画素の属性、連結画素が包含する連結画素の属性等を利用して行う。例えば特許文献２に記述されているブロックセレクション技術を応用すれば実現できる。更に、文字と判定された連結画素に同じく文字と判定された連結画素が接触し、かつ接触している連結画素の数が多い場合は、両連結画素を統合して、影文字と判定する。
【００２１】
ステップＳ２０３では、連結画素塊のグルーピング処理を行う。ステップＳ２０２で文字と判定された、同程度の大きさの連結画素塊が直線状に存在し且つ同色である場合、それぞれの連結画素塊を結合してグループ化し、文字列とする。
【００２２】
ステップＳ２０４では、ステップＳ２０２で写真と判定された領域内に文字が存在する場合に、その文字が上書き文字であるか元々写真内に存在した文字（以下、写真内文字）であるかを判定するために、上書き文字判定を行う。ここで、ステップＳ２０４の判定処理の詳細を、図３のフローチャートを参照して説明する。
【００２３】
ステップＳ３０１では、ステップＳ２０２で写真と判定された領域内に文字が存在するかどうかを判定する。文字が存在する場合、ステップＳ３０２へ進み、文字が存在しない場合、上書き文字判定処理を終了する。
【００２４】
文字が存在する場合にステップＳ３０２では、写真内に存在する文字とその周辺ブロックの位置関係によって、判定結果Ｘ１を出力する。ここで、ステップＳ３０２の判定処理の詳細を、図４のフローチャートを参照して説明する。
【００２５】
ステップＳ４０１では、当該文字列が存在する写真領域内の直線成分を求める。検出された文字列から所定範囲内を四辺形検出の処理対象範囲として設定し、四辺形検出処理を実行する。例えば、文字列の縦横それぞれ２倍のサイズの領域を処理対象範囲として設定する。四辺形検出処理では先ず、設定した処理対象範囲の画像を対象として、ハフ変換を用いて直線検出処理を行う。この直線検出処理は、所定数（例えば８本）以上の直線が検出される迄、直線検出するための閾値を徐々に変更しつつ行う。検出された直線を用いて、１つまたはそれ以上の四辺形(長方形とは限らない)を形成する。
【００２６】
ステップＳ４０２では、当該文字列が検出された四角形内に存在しているかどうかを判定する。四角形内に存在しない場合は後述のステップ４０５へ進み、存在している場合はステップＳ４０３へ進む。
【００２７】
ステップＳ４０３では、当該文字列の文字列方向の傾きが、検出された四角形の文字列方向の傾きと同程度かどうかを判定する。両者の傾きの差がともに閾値内でない場合はステップＳ４０５へ進み、閾値内の場合はステップＳ４０４へ進んで、判定結果Ｘ１をゼロに設定して、ステップＳ３０２の上書き文字判定処理を終了する。
【００２８】
一方、検出された四角形内に当該文字列が存在しない場合及び傾きの差がともに閾値内でない場合にステップＳ４０５では、判定結果Ｘ１を１に設定して、ステップＳ３０２の判定処理を終了する。
【００２９】
続いてステップＳ３０３において（図３）、ステップＳ２０２における属性判定の結果を利用して、その文字列が影文字かどうかを判定する。文字列が影文字でない場合は後述のステップＳ３０８へ進み、影文字である場合はステップＳ３０４へ進んでステップＳ３０２で設定した判定結果Ｘ１が１かどうかを判定する。判定結果Ｘ１が１であればステップＳ３０５へ進み、１でない場合はステップＳ３０６へ進む。
【００３０】
ステップＳ３０５では当該文字列を上書き文字と判定してステップＳ３０７へ進み、一方、ステップＳ３０６では当該文字列を写真内文字と判定してステップＳ３０７へ進む。
【００３１】
ステップＳ３０７では、写真内の全ての文字列を検索したがどうかを判定し、全文字列の検索が済んでいればステップＳ３０２の上書き文字判定処理を終了する。全文字列の検索が済んでいない場合はステップＳ３０２へ戻る。
【００３２】
一方、文字列が影文字でない場合にステップＳ３０８では、当該文字列連結画素内の画素の濃度差によって、判定結果Ｘ２を出力する。ここで、ステップＳ３０８の判定処理の詳細を、図５のフローチャートを参照して説明する。
【００３３】
ステップＳ５０１では、色数の合計を表すＳｕｍの初期値をゼロに設定する。ステップＳ５０２では、当該１文字単位の連結画素内の画素の色数をカウントし、Ｃｏｕｎｔに代入する。ステップＳ５０３では、Ｃｏｕｎｔの値をＳｕｍに加算する。
【００３４】
ステップＳ５０４では、当該文字列のすべての文字の連結画素内の画素の色数をカウントしたかどうかを判定し、すべての文字をカウントしていない場合はステップＳ５０２へ戻り、ステップＳ５０２〜Ｓ５０４を繰り返す。
【００３５】
すべての文字をカウントした場合はステップＳ５０５に進み、Ｓｕｍが予め設定しておいた閾値（例えば３に設定）より大きいかどうかを判定する。Ｓｕｍの値が閾値より大きければステップＳ５０６へ進んで判定結果Ｘ２をゼロに設定して、ステップＳ３０８を終了する。そうでない場合はステップＳ５０７へ進んで判定結果Ｘ２を１に設定して、ステップＳ３０８を終了する。
【００３６】
続いてステップＳ３０９において（図３）、ステップＳ３０２とＳ３０８で設定した判定結果Ｘ１とＸ２の両方が１かどうかを判定する。判定結果Ｘ１とＸ２の少なくとも一方が１でない場合はステップＳ３１１へ進み、両方共１であればステップＳ３１０へ進んで当該文字列を上書き文字と判定する。
【００３７】
ステップＳ３１１では、ステップＳ３０２とＳ３０８で設定した判定結果Ｘ１とＸ２の両方がゼロかどうかを判定する。判定結果Ｘ１とＸ２の少なくとも一方がゼロでない場合はステップＳ３１３へ進み、両方共ゼロであればステップＳ３１２へ進んで当該文字列を写真内文字と判定する。
【００３８】
ステップＳ３１３では当該文字列外接矩形内の色数によって判定結果Ｘ３を出力する。ここで、ステップＳ３１３の判定処理の詳細を、図６のフローチャートを参照し説明する。
【００３９】
ステップＳ６０１では、当該文字列外接矩形内の色数をカウントし、Ｃｏｕｎｔに代入する。このとき、当該文字列の連結画素内の色数はカウント対象外とする。
【００４０】
ステップＳ６０２では、Ｃｏｕｎｔが予め設定しておいた閾値（例えば５に設定）より小さいかどうかを判定する。Ｃｏｕｎｔの値が閾値より小さければステップＳ６０３へ進んで判定結果Ｘ３をゼロに設定し、そうでない場合はステップＳ６０４へ進んで判定結果Ｘ３を１に設定する。判定結果Ｘ３の設定後、ステップＳ３１３の判定処理を終了する。
【００４１】
続いてステップＳ３１４において（図３）、当該文字列の文字単位の外接矩形内の色数の変化によって、判定結果Ｘ４を出力する。ここで、ステップＳ３１４の判定処理の詳細を、図７のフローチャートを参照して説明する。
【００４２】
ステップＳ７０１では、当該文字列の文字単位の外接矩形内の色数をカウントする。このとき、当該文字の連結画素内の色数はカウント対象外とする。
【００４３】
ステップＳ７０２では、当該文字列のすべての文字の外接矩形内の色数をカウントしたかどうかを判定する。すべての文字の外接矩形内の色数をカウントしていない場合はステップＳ７０１へ戻り、ステップＳ７０１，Ｓ７０２を繰り返す。
【００４４】
すべての文字をカウントした場合はステップＳ７０３に進み、当該文字列の色数の分散を求める。次に、ステップＳ７０４で、ステップＳ７０３で求めた当該文字列の色数の分散が予め設定しておいた閾値より小さいかどうかを判定する。分散が閾値より小さければステップＳ７０５へ進んで判定結果Ｘ４をゼロに設定し、そうでない場合はステップＳ７０６へ進んで判定結果Ｘ４を１に設定して、ステップＳ３１４を終了する。
【００４５】
続いてステップＳ３１５において（図３）、ステップＳ３１３とＳ３１４で設定した判定結果Ｘ３とＸ４の両方が１かどうかを判定する。両方が１であればステップＳ３１０（前述）へ進み、そうでない場合は前述のステップＳ３１２（前述）へ進む。ステップＳ３１０またはステップＳ３１２の判定をした後、ステップＳ３０７（前述）の終了判定を行い、全文字列の検索が済んでいればステップＳ３０２の上書き文字判定処理を終了する。
【００４６】
続いてステップＳ２０５において（図２）、上書き文字が存在するかどうかを判定する。存在しない場合は本実施形態による画像処理を終了し、存在する場合はステップＳ２０６へ進む。
【００４７】
ステップＳ２０６では、ステップＳ２０４で上書き文字と判定された連結画素塊に対して画像補正処理を行う。画像補正の方法として、特許文献１の方法を使用することができる。つまり、上書き文字中の各画素をそれぞれ中心画素とし、該中心画素の一定範囲に含まれる写真データの画素の値に基づき、上書き文字に隠れた下地画像を推測し、上書き文字に含まれる各画素の値を、下地画像として推測した画素の値に置き換える。この際、モフォロジフィルタによる処理が行われていることが好ましい。モフォロジフィルタによる処理とは、上書き文字データの画素値が周辺写真データの画素値より小さい場合の処理（クロージング処理）と大きい場合の処理（オープニング処理）を分ける処理方法である。
【００４８】
ステップＳ２０７では、すべての上書き文字を検索したかどうかを判定し、すべての検索が終了していない場合はステップＳ２０６へ戻ってステップＳ５０２〜Ｓ５０４を繰り返し、すべての検索が終了した場合は本実施形態による画像処理を終了する。
【００４９】
このように本実施形態によれば、写真内に存在する文字列が上書き文字なのか写真内文字なのかを判定することにより、元々写真内に存在していた文字を消去することなく、画像の復元を適切に行うことができる。
【００５０】
（実施形態２）
図８は本発明の実施形態２に係る画像処理装置の概略構成を示すブロック図である。
【００５１】
ステップＳ８０１〜Ｓ８０５では、実施形態１のステップＳ２０１〜Ｓ２０５と同一の処理を実行する。ステップＳ８０６では、ステップＳ８０５で判定された上書き文字に対して、ＯＣＲ（文字認識）処理を行う。すなわち、写真内に存在する日付やコメント（例えば、コピー禁止）等の上書き文字の付加情報のみをテキスト文字に変換する。
【００５２】
ステップＳ８０７では、ステップＳ８０６でＯＣＲ処理された結果を写真データの画像内のタグ（プロパティ）に付加する。これにより、テキスト文字に基づいて複数の写真データを管理することができ、さらに当該写真データの検索を容易に行うことができる。
【００５３】
ステップＳ８０８では、すべての上書き文字を検索したかどうかを判定し、検索が終了した場合、画像処理を終了し、そうでない場合、ステップＳ８０６へ戻る。
【００５４】
このように本実施形態によれば、写真内に存在する上書き文字についてＯＣＲ処理することで、写真データの管理や検索により意味のある文字列のみを抽出することができる。
【００５５】
（他の実施形態）
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶し、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。また、前述のプログラムを記憶した記憶媒体は勿論そのプログラム自体も上述の実施形態に含まれる。
【図１】
2011013899.tif 000003
【図２】
2011013899.tif 000004
【図３】
2011013899.tif 000005
【図４】
2011013899.tif 000006
【図５】
2011013899.tif 000007
【図６】
2011013899.tif 000008
【図７】
2011013899.tif 000009
【図８】
2011013899.tif 000010