(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-04
(45)【発行日】2023-09-12
(54)【発明の名称】画像処理装置及び画像処理プログラム
(51)【国際特許分類】
H04N 1/387 20060101AFI20230905BHJP
G06T 5/00 20060101ALI20230905BHJP
【FI】
H04N1/387 200
G06T5/00 720
(21)【出願番号】P 2019151203
(22)【出願日】2019-08-21
【審査請求日】2022-07-21
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】100115129
【氏名又は名称】清水 昇
(74)【代理人】
【識別番号】100102716
【氏名又は名称】在原 元司
(74)【代理人】
【識別番号】100122275
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】三須 長政
(72)【発明者】
【氏名】白木 聖二
(72)【発明者】
【氏名】宇根 清
(72)【発明者】
【氏名】辻 亮佑
(72)【発明者】
【氏名】田中 裕士郎
【審査官】花田 尚樹
(56)【参考文献】
【文献】特開2018-152760(JP,A)
【文献】特開2011-024116(JP,A)
【文献】特開2015-060540(JP,A)
【文献】特開2006-287625(JP,A)
【文献】特開2013-106110(JP,A)
【文献】特開2018-137509(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/38 - 1/393
G06T 1/00 - 1/40
3/00 - 5/50
(57)【特許請求の範囲】
【請求項1】
プロセッサを備え、
前記プロセッサは、
画像内のパンチ穴の周辺が文字である場合
は、該画像内のパンチ穴に対してユーザーが文字を入力できるようにして、該文字によって該パンチ穴を修正し、
前記画像内のパンチ穴の周辺が文字以外である場合は、画像候補からユーザーが選択できるようにして、該選択された画像候補によって該パンチ穴を修正することを特徴と
し、
前記パンチ穴の周辺の抽出は、該パンチ穴の画像を囲む矩形領域に予め定められた倍率を乗算した大きさの周辺画像を抽出することとし、
前記画像候補の抽出は、前記画像内から前記パンチ穴の前記抽出した周辺の画像を探索し、該パンチ穴と同じ大きさ及び形状の画像候補を抽出する、
画像処理装置。
【請求項2】
コンピュータを、
画像内のパンチ穴の周辺が文字である場合
は、該画像内のパンチ穴に対してユーザーが文字を入力できるようにして、該文字によって該パンチ穴を修正し、
前記画像内のパンチ穴の周辺が文字以外である場合は、画像候補からユーザーが選択できるようにして、該選択された画像候補によって該パンチ穴を修正する修正手段
として機能させ
、
前記パンチ穴の周辺の抽出は、該パンチ穴の画像を囲む矩形領域に予め定められた倍率を乗算した大きさの周辺画像を抽出することとし、
前記画像候補の抽出は、前記画像内から前記パンチ穴の前記抽出した周辺の画像を探索し、該パンチ穴と同じ大きさ及び形状の画像候補を抽出する、
画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、パンチ穴跡を有する画像において、パンチ穴跡を違和感なく修復する画像処理装置、画像処理方法、及びプログラムを提供することを課題とし、画像処理装置は、入力画像に含まれるパンチ穴跡を除去する画像処理装置であって、入力画像からパンチ穴領域を検出するパンチ穴領域検出手段と、パンチ穴領域に接する領域を含む周辺領域の画素パターンに基づいて、当該周辺領域の領域種別を判定する領域種別判定手段と、判定された領域種別に基づいて、パンチ穴跡を修復するパンチ穴修復手段とを有することが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
パンチ穴を有した紙文書を読み取って電子化した際に、電子文書上ではパンチ穴が残ってしまう。そこで、紙文書の読取り時にパンチ穴を検知した場合は、パンチ穴を修正して、該紙文書を電子化する機能がある。パンチ穴の修正方法としては、パンチ穴の周辺の画素に基づいた色でパンチ穴を塗りつぶす方法がある。しかし、紙文書の文字上にパンチ穴が開いている場合は、パンチ穴の周辺の画素に基づいた色によってパンチ穴を塗りつぶしてしまうと、塗りつぶしたパンチ穴部分に違和感が生じてしまう。
そこで本発明は、画像内のパンチ穴を修正する場合に、パンチ穴周辺に文字があるか否かに関係なく一律に補間処理を行う場合に比べ、文字上にパンチ穴が開いている場合の修正結果の違和感を減少させることができる画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0005】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。なお、以下の「請求項」とあるのは、出願当初の請求項である。
請求項1の発明は、プロセッサを備え、前記プロセッサは、画像内のパンチ穴の周辺が文字である場合と文字以外である場合によって、該パンチ穴の修正方法を異ならせて、該パンチ穴を修正することを特徴とする画像処理装置である。
【0006】
請求項2の発明は、前記プロセッサは、前記パンチ穴の周辺が文字である場合は、該パンチ穴に記載されるべき文字をユーザーに問い合わせ、該ユーザーの操作によって入力された文字で該パンチ穴を修正する、請求項1に記載の画像処理装置である。
【0007】
請求項3の発明は、前記プロセッサは、前記ユーザーの操作によって入力された文字の色、大きさ、又は、書体を、前記パンチ穴の周辺にある文字の色、大きさ、又は、書体に基づいて決定する、請求項2に記載の画像処理装置である。
【0008】
請求項4の発明は、前記プロセッサは、前記パンチ穴の周辺にある文字の種類にしたがって、仮想キーボードを表示する、請求項2に記載の画像処理装置である。
【0009】
請求項5の発明は、前記プロセッサは、前記パンチ穴の周辺が文字でない場合は、該周辺にある画像の候補をユーザーに提示する、請求項1に記載の画像処理装置である。
【0010】
請求項6の発明は、前記プロセッサは、前記周辺にある画像の候補の大きさ又は形状は、前記パンチ穴と同じ大きさ又は形状を用いる、請求項5に記載の画像処理装置である。
【0011】
請求項7の発明は、コンピュータを、画像内のパンチ穴の周辺が文字である場合と文字以外である場合によって、該パンチ穴の修正方法を異ならせて、該パンチ穴を修正する修正手段として機能させるための画像処理プログラムである。
【発明の効果】
【0012】
請求項1の画像処理装置によれば、画像内のパンチ穴を修正する場合に、パンチ穴周辺に文字があるか否かに関係なく一律に補間処理を行う場合に比べ、文字上にパンチ穴が開いている場合の修正結果の違和感を減少させることができる。
【0013】
請求項2の画像処理装置によれば、パンチ穴の周辺が文字である場合は、そのパンチ穴に記載されるべき文字をユーザーが入力することができる。
【0014】
請求項3の画像処理装置によれば、ユーザーの操作によって入力された文字の色、大きさ、又は、書体を、パンチ穴の周辺にある文字の色、大きさ、又は、書体に合わせることができる。
【0015】
請求項4の画像処理装置によれば、ユーザーは、パンチ穴の周辺にある文字の種類に応じた仮想キーボードを用いることができる。
【0016】
請求項5の画像処理装置によれば、パンチ穴の周辺が文字でない場合は、その周辺にある画像の候補をユーザーに提示することができる。
【0017】
請求項6の画像処理装置によれば、ユーザーは、パンチ穴と同じ大きさ又は形状に指定する必要がなくなる。
【0018】
請求項7の画像処理プログラムによれば、画像内のパンチ穴を修正する場合に、パンチ穴周辺に文字があるか否かに関係なく一律に補間処理を行う場合に比べ、文字上にパンチ穴が開いている場合の修正結果の違和感を減少させることができる。
【図面の簡単な説明】
【0019】
【
図1】本実施の形態の構成例についての概念的なモジュール構成図である。
【
図2】本実施の形態を利用したシステム構成例を示す説明図である。
【
図3】パンチ穴を修正する機能の例を示す説明図である。
【
図4】本実施の形態による処理例を示すフローチャートである。
【
図5】本実施の形態による処理例を示すフローチャートである。
【
図6】本実施の形態による処理例を示す説明図である。
【
図7】本実施の形態による処理例を示すフローチャートである。
【
図8】本実施の形態による処理例を示す説明図である。
【
図9】本実施の形態による処理例を示すフローチャートである。
【
図10】本実施の形態による処理例を示す説明図である。
【
図11】本実施の形態による処理例を示す説明図である。
【
図12】本実施の形態による処理例を示すフローチャートである。
【
図13】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(「ソフトウェア」の解釈として、コンピュータ・プログラムを含む)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(例えば、コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(例えば、データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(「2以上の値」には、もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(「ネットワーク」には、一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(つまり、社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、RAM(Random Access Memoryの略)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unitの略)内のレジスタ等を含んでいてもよい。
【0021】
本実施の形態である画像処理装置100は、文書を読み込んだ画像から、パンチ穴を修正する画像処理機能を有しており、
図1の例に示すように、画像データ取得モジュール105、パンチ穴検出モジュール110、周辺情報分類モジュール115、ユーザーインタフェースモジュール120、パンチ穴修正モジュール125、画像データ出力モジュール130を有している。
パンチ穴とは、書類等の紙を穿孔した(穴を開けた)ことによって生じる穴をいう。例えば、ファイル、クリップボード、綴り紐等を用いて書類を綴じるために穿孔された丸い穴をいう。なお、パンチ穴には、パンチ穴がある書類を複写したものを含む。
画像処理装置100は、パンチ穴がある書類を読み込んだ画像から、パンチ穴の画像を検出し、そのパンチ穴の画像を修正する。なお、パンチ穴の部分画像において、文書の情報が欠落してしまっている場合、その近辺の情報からパンチ穴部分を補間して、画像を生成する。欠落する情報として、パンチ穴部分に記載されていた文字、写真画像等がある。
【0022】
画像データ取得モジュール105は、パンチ穴検出モジュール110と接続されている。画像データ取得モジュール105は、文書の画像を取得し、その画像をパンチ穴検出モジュール110に渡す。例えば、スキャナ、カメラ等で紙の文書を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、記憶装置(コンピュータに内蔵されているハードディスク等の他に、ネットワークを介して接続されているサーバー等を含む)に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(多値画像には、カラー画像を含む)であってもよい。受け付ける画像は、1枚の画像であってもよいし、複数ページからなる画像であってもよい。また、画像の内容として、ビジネスに用いられる文書、広告宣伝用のパンフレット等であってもよい。
【0023】
パンチ穴検出モジュール110は、画像データ取得モジュール105、周辺情報分類モジュール115と接続されている。パンチ穴検出モジュール110は、画像データ取得モジュール105によって取得された画像からパンチ穴の画像を検出する。パンチ穴の画像の検出方法として、既存の技術を用いればよい。例えば、テンプレートマッチングによって、パンチ穴の画像を検出するようにしてもよい。また、画像内のエッジを検出し、2値化し、ハフ変換等を用いて、画像内の円を探索し、その円が予め定められた大きさであれば、パンチ穴の画像を検出するようにしてもよい。予め定められた大きさとして、例えば、ISO838に直径5.5mm~6.5mmと規定されているため、この近辺の値とすればよい。
【0024】
周辺情報分類モジュール115は、パンチ穴検出モジュール110、パンチ穴修正モジュール125と接続されている。周辺情報分類モジュール115は、パンチ穴検出モジュール110によって検出されたパンチ穴の周辺の画像を分類する。
例えば、周辺情報分類モジュール115は、パンチ穴の周辺が文字であるか、文字以外であるかのように分類してもよい。ここでの判断は、従来の技術を用いればよい。
さらに、周辺情報分類モジュール115は、パンチ穴の周辺が文字以外である場合は、写真画像であるか、写真画像ではないかのように分類してもよい。ここでの判断は、従来の技術を用いればよい。
さらに、周辺情報分類モジュール115は、パンチ穴の周辺が文字以外であって、写真画像でもない場合は、白地画像であるか、白地以外のベタ画像であるかのように分類してもよい。ここでの判断は、従来の技術を用いればよい。
もちろんのことながら、階層的にせずに、周辺情報分類モジュール115は、パンチ穴の周辺が文字、写真画像、白地画像、白地以外のベタ画像のいずれであるかに分類してもよい。
【0025】
さらに、周辺情報分類モジュール115は、パンチ穴の周辺が文字であると判断した場合は、その周辺の文字の色、大きさ、又は、書体のいずれか1つ以上を判断してもよい。ここでの判断は、従来の技術を用いればよい。
また、周辺情報分類モジュール115は、パンチ穴の周辺が文字であると判断した場合は、その文字の種類を判断してもよい。なお、「文字の種類」については後述する。ここでの判断は、従来の技術を用いればよい。例えば、文字認識技術を用いて、文字の種類を判断してもよい。具体的には、英字用の文字認識アプリケーション、日本語用の文字認識アプリケーション等のように、複数の文字認識アプリケーションを用いて、文字認識結果の確度が高いものを採用すればよい。例えば、英字用の文字認識アプリケーションにおける文字認識結果の確度が高い場合は、ユーザーインタフェースモジュール120は、英字用の仮想キーボードを表示する。
【0026】
ユーザーインタフェースモジュール120は、パンチ穴修正モジュール125と接続されている。ユーザーインタフェースモジュール120は、周辺情報分類モジュール115による分類結果に応じて、ユーザーに対してパンチ穴を修正するためのユーザーインターフェースを提供する。
例えば、ユーザーインタフェースモジュール120は、タッチパネルを兼ねる液晶ディスプレイ、有機ELディスプレイ等の表示装置を制御して、ユーザーの操作を受け付け、ユーザーに対してメッセージ等を提示する。この他、マウス、キーボード、カメラ、マイク等を用いたユーザーの操作(視線、ジェスチャ、音声等も含む)を受け付けるようにしてもよいし、スピーカーによる音声出力、触覚デバイスを用いた触感によって、ユーザーへのメッセージを提示するようにしてもよい。
具体的には、文字入力用の仮想キーボードの提示、周辺にある画像の候補をユーザーに選択可能に提示することを行う。
【0027】
パンチ穴修正モジュール125は、周辺情報分類モジュール115、ユーザーインタフェースモジュール120、画像データ出力モジュール130と接続されている。パンチ穴修正モジュール125は、画像内のパンチ穴の周辺が文字である場合と文字以外である場合によって、そのパンチ穴の修正方法を異ならせて、そのパンチ穴を修正する。
ここで「文字」とは、画像における文字であって、文字コードに対応した画像を有している。なお、文字には、英数字、漢字、ひらがな、カタカナ、その他の言語に対応した文字、絵文字等を含む。
また、パンチ穴修正モジュール125は、パンチ穴の周辺が文字である場合は、そのパンチ穴に記載されるべき文字をユーザーに問い合わせ、そのユーザーの操作によって入力された文字で、そのパンチ穴を修正するようにしてもよい。
その場合、パンチ穴修正モジュール125は、ユーザーの操作によって入力された文字の色、大きさ、又は、書体を、パンチ穴の周辺にある文字の色、大きさ、又は、書体に基づいて決定するようにしてもよい。
その文書の文字列が横書きであるか縦書きであるかを判断し、横書きである場合は、「パンチ穴の周辺にある文字」として、パンチ穴の右側又は左側にある文字を参照し、縦書きである場合は、「パンチ穴の周辺にある文字」として、パンチ穴の上側又は下側にある文字を参照するようにしてもよい。
「パンチ穴の周辺にある文字の色、大きさ、又は、書体に基づいて」とは、その色、大きさ、又は、書体と同じになるように、パンチ穴に埋め込む文字の色、大きさ、又は、書体を決定することである。
また、パンチ穴修正モジュール125は、パンチ穴の周辺にある文字の種類にしたがって、仮想キーボードを表示するようにしてもよい。
「パンチ穴の周辺にある文字の種類」とは、その文字を用いる言語の種類、又は、数字である。「パンチ穴の周辺にある文字の種類」が、例えば、日本語である場合は日本語用の仮想キーボードを表示し、数字である場合は数字用の仮想キーボードを表示し、英字である場合は英字用の仮想キーボードを表示し、中国語である場合は中国語用の仮想キーボードを表示する。
表示する先は、もちろんのことながら、本画像処理装置100に備え付けられている表示装置、又は、本画像処理装置100を利用するためのユーザーインターフェース機能を備えている表示装置が該当する。後者の例として、ユーザーを所持している携帯端末であり、本画像処理装置100とその携帯情報端末が通信(無線通信であってもよいし、有線通信であってもよい。)を行って、その携帯情報端末の表示装置に仮想キーボードを表示させるようにしてもよい。
【0028】
また、パンチ穴修正モジュール125は、パンチ穴の周辺が文字でない場合は、その周辺にある画像の候補をユーザーに提示するようにしてもよい。
ユーザーの操作によって選択された画像を用いて、パンチ穴を修正する。この場合の修正は、そのパンチ穴の部分に、その選択された画像を埋め込むことが該当する。
また、候補として、パンチ穴の周辺にある画像の色合いと同じ又は類似する画像を探索すればよい。なお、パンチ穴修正モジュール125は、候補として場所を示すのみで、その大きさ又は形状は、ユーザーによる指定に任せるようにしてもよい。
また、パンチ穴修正モジュール125は、周辺にある画像の候補の大きさ又は形状は、パンチ穴と同じ大きさ又は形状を用いるようにしてもよい。
【0029】
画像データ出力モジュール130は、パンチ穴修正モジュール125と接続されている。画像データ出力モジュール130は、パンチ穴修正モジュール125によってパンチ穴の画像が修正された画像を受け取り、その画像を出力する。画像を出力するとは、例えば、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、FAX等の画像送信装置で画像を送信すること、画像データベース等の画像記憶装置へ画像を書き込むこと、メモリーカード等の記憶媒体に画像を記憶すること、他の情報処理装置へ画像を渡すこと等が含まれる。なお、画像を電子文書として出力する場合は、PDF(Portable Document Formatの略)、JPEG(Joint Photographic Experts Groupの略)等を用いればよい。
【0030】
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
図2(a)に示す例は、スタンドアロン型のシステムであって、画像形成装置200内に画像処理装置100の機能を実現させたものである。例えば、複写の機能の一部として画像処理装置100を用いる。
画像形成装置200は、画像処理装置100、スキャンモジュール205、印刷モジュール220を有している。
スキャンモジュール205は、画像処理装置100と接続されている。スキャンモジュール205は、パンチ穴を有した紙文書を読み取り、読み取った画像を画像処理装置100に渡す。
画像処理装置100は、スキャンモジュール205、印刷モジュール220と接続されている。画像処理装置100は、スキャンモジュール205から受け取った画像に対して、パンチ穴の画像を修正し、修正後の画像を印刷モジュール220に渡す。
印刷モジュール220は、画像処理装置100と接続されている。印刷モジュール220は、画像処理装置100によってパンチ穴の画像が修正された画像を受け取って、印刷を行う。
【0031】
図2(b)に示す例は、パソコン等の情報処理装置230内に画像処理装置100の機能を実現させたものである。例えば、スキャナとしての機能を有する画像形成装置240で紙文書を読み取り、その画像を加工等する場合に画像処理装置100を用いる。
画像形成装置240は、情報処理装置230と接続されている。画像形成装置240は、パンチ穴を有した紙文書を読み取り、その画像を情報処理装置230に渡す。
情報処理装置230は、画像処理装置100を有しており、画像形成装置240と接続されている。情報処理装置230の画像処理装置100は、画像形成装置240から受け取った画像に対して、パンチ穴の画像を修正し、修正後の画像を情報処理装置230の記憶装置に記憶させる。
【0032】
図2(c)に示す例は、ネットワーク型のシステムであって、例えば、画像処理装置100による機能を、クラウドサービスとして実現させたものである。
画像処理装置100、画像形成装置240a、画像形成装置240b、情報処理装置250は、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。
例えば、画像形成装置240のスキャン機能によって、パンチ穴を有した紙文書が読み取られ、その画像を、画像処理装置100に送信し、返信としてパンチ穴の画像を修正した画像を受信し、画像形成装置240のプリント機能によって印刷してもよい。
また、情報処理装置250内に記憶されているパンチ穴のある画像を、画像処理装置100に送信し、返信としてパンチ穴の画像を修正した画像を受信してもよい。
【0033】
図3は、パンチ穴を修正する機能の例を示す説明図である。
図3(a)の例に示すように、パンチ穴302a、パンチ穴302bがある原稿300を複写又はスキャンすると、パンチ穴302a、パンチ穴302bの箇所が紙押さえ部の色になって目立ってしまう。
例えば、原稿300に対して、通常のコピー310を行うと、紙押さえ部が黒の場合、
図3(b)の例に示すように、画像データ320のパンチ穴画像322a、パンチ穴画像322bは黒色となる。また、紙押さえ部が白色であっても、
図3(c)の例に示すように、画像データ330のパンチ穴画像332a、パンチ穴画像332bのように、パンチ穴があった箇所の周辺に影が残ってしまう
パンチ穴の修正機能は、
図3(b)、
図3(c)の例に示したパンチ穴の跡を除去するための機能である。つまり、原稿300に対して、パンチ穴修正機能340を用いた場合、画像データ350からパンチ穴画像322a、パンチ穴画像322b又はパンチ穴画像332a、パンチ穴画像332bは残らないようにするものである。
この例では、パンチ穴302a、パンチ穴302bの周辺画像は白地画像であり、パンチ穴302a、パンチ穴302bの画像を白色で塗りつぶしている。
しかし、例えば、文字が記載されている部分に、パンチ穴302a、パンチ穴302bが形成されてしまった場合に、白色で塗りつぶしてしまうと、違和感が残ってしまう。そこで、本実施の形態である画像処理装置100では、画像内のパンチ穴の周辺が文字である場合と文字以外である場合によって、そのパンチ穴の修正方法を異ならせている。具体的には、パンチ穴の周辺が文字である場合は、ユーザーが文字を入力できるようにしている。また、パンチ穴の周辺が写真画像である場合は、周辺にある画像の候補をユーザーが選択できるようにしている。
【0034】
図4は、本実施の形態による処理例を示すフローチャートである。
ステップS402では、パンチ穴検出モジュール110は、画像データの中からパンチ穴を検出する。
ステップS404では、パンチ穴検出モジュール110は、パンチ穴があったか否かを判断し、あった場合はステップS406へ進み、それ以外の場合は処理を終了する(ステップS499)。
【0035】
ステップS406では、周辺情報分類モジュール115は、パンチ穴周辺の分類を判断し、文字以外の場合はステップS408へ進み、文字の場合はステップS410へ進む。
ステップS408では、ユーザーインタフェースモジュール120、パンチ穴修正モジュール125は、文字以外用処理を行う。ステップS408の詳細な処理については、
図9の例に示すフローチャートを用いて後述する。
ステップS410では、ユーザーインタフェースモジュール120、パンチ穴修正モジュール125は、文字用処理を行う。ステップS410の詳細な処理については、
図5の例に示すフローチャートを用いて後述する。
【0036】
図5は、本実施の形態による処理例を示すフローチャートである。
図4の例に示したフローチャートのステップS410の処理例を示すものである。
ステップS502では、周辺の文字サイズから、欠け、又は、消失している文字をカウントする。具体的には、パンチ穴の周辺の文字を抽出し、その文字のサイズを計測する。そして、パンチ穴のサイズをその文字のサイズで除算して算出する。さらに、除算した値に予め定められた数を加算するようにしてもよい。パンチ穴が、文字の一部を欠けさせる場合は、除算した値よりも多い数の文字が、そのパンチ穴によって欠けていることが予想されるからである。
【0037】
ステップS504では、ユーザーが文字入力できるように、ユーザーインターフェースを表示する。
例えば、
図6に示すユーザーインターフェースを表示する。
図6は、本実施の形態による処理例を示す説明図である。画面600には、画像表示領域610、コメント表示領域630、仮想キーボード表示領域640を表示する。画像表示領域610には、入力領域620を表示する。入力領域620は、少なくともパンチ穴を囲むように表示する。コメント表示領域630には、文字入力の説明を表示する。例えば「□にタッチして文字を入力してください」と表示する。ステップS508で、仮想キーボード表示領域640に、仮想キーボードを表示する。
【0038】
ステップS506では、周辺文字処理を行う。ステップS506の詳細な処理については、
図7の例に示すフローチャートを用いて後述する。
ステップS508では、文字入力箇所にユーザーがタッチしたら、ユーザーインターフェース上に仮想キーボードを表示し、ユーザーに入力させる。
ステップS510では、ユーザーが入力した内容をもとに、パンチ穴除去後の画像を生成する。
【0039】
図7は、本実施の形態による処理例を示すフローチャートである。
図5の例に示したフローチャートのステップS506の処理例を示すものである。
ステップS702では、周辺画像を抽出する。例えば、パンチ穴の画像を囲む矩形領域を生成し、その矩形領域に予め定められた倍率を乗算した大きさの周辺画像を抽出してもよいし、パンチ穴の画像に近い距離にある文字を少なくとも1文字以上抽出するようにしてもよい。
ステップS704では、周辺画像から、文字の種類、文字の色、大きさ、又は、書体を抽出する。ステップS702で抽出した周辺画像内の文字を対象とし、従来の技術を用いて、その文字の種類、色、大きさ、又は、書体を抽出する。
【0040】
ステップS706では、文字のプロパティを設定する。このプロパティは、ステップS704で抽出した文字の種類、色、大きさ、又は、書体である。
この文字の種類によって、
図6の例で示した仮想キーボード表示領域640に仮想キーボードを表示する。例えば、文字の種類が数字である場合は、数字専用の仮想キーボードを表示し、文字の種類が英字である場合は、アルファベット用の仮想キーボードを表示し、文字の種類が日本語である(例えば、漢字、ひらがな、カタカナが含まれている)場合は、日本語用の仮想キーボードを表示すればよい。
文字の色、大きさ、又は、書体に合わせて、ユーザーが入力した文字を設定する。つまり、パンチ穴の周囲にある文字と同じ属性の文字が、ユーザーによって入力されることになる。そのため、従来の文字とユーザーが入力した文字との違和感が少なくなる。
【0041】
図8は、本実施の形態による処理例を示す説明図である。
図6の例に示した画像表示領域610に表示する入力領域620を生成する処理例を示すものである。
周辺画像800に、パンチ穴領域810、入力領域820を表示する。入力領域820を、次のように生成する。少なくともパンチ穴領域810を含み、さらにパンチ穴領域810に接触している黒画素を囲むように矩形を生成して、入力領域820とする。ユーザーは、入力領域820に対して、文字を入力する。
図8の例では、入力領域820に「AB」と入力される。文字入力がされた入力領域820を用いて、パンチ穴を修正する。
図8の例では、パンチ穴領域810が削除され、「ABCDE」の文字列となる。
【0042】
図9は、本実施の形態による処理例を示すフローチャートである。
図4の例に示したフローチャートのステップS408の処理例を示すものである。
ステップS902では、埋めデータを複数作成する。例えば、対象としているページ画像内で、パンチ穴の周囲の画像と類似する画像を探索する。探索する領域は、パンチ穴と同じ大きさ、形状である。具体的には、
図10(a)の例に示すように、パンチ穴1010の周囲と類似する画像として、穴埋候補1020a、穴埋候補1020b、穴埋候補1020cを抽出する。
【0043】
ステップS904では、作成したデータでパンチ穴を埋めた画像を生成する。
ステップS906では、生成した画像全てをユーザーインターフェースに表示し、ユーザーに選択させる。具体的には、
図10(b)の例に示すように、候補画像1030a、候補画像1030b、候補画像1030cを生成する。候補画像1030aの元パンチ穴領域1040aは、パンチ穴1010に穴埋候補1020aを当てはめたものである。候補画像1030bの元パンチ穴領域1040bは、パンチ穴1010に穴埋候補1020bを当てはめたものである。候補画像1030cの元パンチ穴領域1040cは、パンチ穴1010に穴埋候補1020cを当てはめたものである。
【0044】
ステップS908では、ユーザーが画像の加工を希望する場合、加工させる。具体的には、
図11(a)の例に示すように、ユーザーは、候補画像1030bを選択したとする。そこで、ユーザーは、削除すべき領域として領域1110を指定する。領域1110が削除された後は、
図11(b)の例に示す修正画像1150のようになる。
なお、さらなる修正方法として、ユーザーの負荷は増加するが、画素ごとに色値を入力させてもよい。
【0045】
図12は、本実施の形態による処理例を示すフローチャートである。
図4の例に示したフローチャートのステップS406は2種類に分類するものであったが、
図12の例に示したフローチャートのステップS1206では4種類にしたものである。
ステップS1202では、画像データの中からパンチ穴を検出する。
ステップS1204では、パンチ穴があったか否かを判断し、あった場合はステップS1206へ進み、それ以外の場合は処理を終了する(ステップS1299)。
【0046】
ステップS1206では、パンチ穴周辺の分類を判断し、白地の場合はステップS1208へ進み、ベタの場合はステップS1210へ進み、写真の場合はステップS1212へ進み、文字の場合はステップS1214へ進む。
【0047】
ステップS1208では、パンチ穴を白画素で埋める。
ステップS1210では、パンチ穴を周辺画素の平均値で埋める。なお、平均値の他に、他の統計的値としてもよく、例えば、最頻値、中央値としてもよい。
【0048】
ステップS1212では、写真用処理を行う。ステップS1212の詳細な処理については、
図9の例に示すフローチャートを用いて前述した。
ステップS1214では、文字用処理を行う。ステップS1214の詳細な処理については、
図5の例に示すフローチャートを用いて前述した。
【0049】
図13を参照して、本実施の形態の画像処理装置100のハードウェア構成例について説明する。
図13に示す構成は、例えばパーソナルコンピュータ等によって構成されるものであり、スキャナ等のデータ読み取り部1317と、プリンタ等のデータ出力部1318を備えたハードウェア構成例を示している。
【0050】
CPU(Central Processing Unitの略)1301は、前述の実施の形態において説明した各種のモジュール、すなわち、画像データ取得モジュール105、パンチ穴検出モジュール110、周辺情報分類モジュール115、ユーザーインタフェースモジュール120、パンチ穴修正モジュール125、画像データ出力モジュール130等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0051】
ROM(Read Only Memoryの略)1302は、CPU1301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memoryの略)1303は、CPU1301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバス等から構成されるホストバス1304により相互に接続されている。
【0052】
ホストバス1304は、ブリッジ1305を介して、PCI(Peripheral Component Interconnect/Interfaceの略)バス等の外部バス1306に接続されている。
【0053】
キーボード1308、マウス等のポインティングデバイス1309は、操作者により操作されるデバイスである。ディスプレイ1310は、液晶表示装置又はCRT(Cathode Ray Tubeの略)等があり、各種情報をテキストやイメージ情報として表示する。また、ポインティングデバイス1309とディスプレイ1310の両方の機能を備えているタッチスクリーン等であってもよい。その場合、キーボードの機能の実現について、キーボード1308のように物理的に接続しなくても、画面(例えば、タッチスクリーン)上にソフトウェアでキーボード(いわゆるソフトウェアキーボード、スクリーンキーボード等ともいわれる)を描画して、キーボードの機能を実現するようにしてもよい。
【0054】
HDD(Hard Disk Driveの略)1311は、ハードディスク(ハードディスク以外に、フラッシュ・メモリ等であってもよい)を内蔵し、ハードディスクを駆動し、CPU1301によって実行するプログラムや情報を記録又は再生させる。HDD1311は、取得した画像データ、パンチ穴検出モジュール110、周辺情報分類モジュール115、ユーザーインタフェースモジュール120、パンチ穴修正モジュール125等による処理の結果データ等を記憶する。さらに、その他の各種データ、各種コンピュータ・プログラム等が格納される。
【0055】
ドライブ1312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1307、外部バス1306、ブリッジ1305、及びホストバス1304を介して接続されているRAM1303に供給する。なお、リムーバブル記録媒体1313も、データ記録領域として利用可能である。
【0056】
接続ポート1314は、外部接続機器1315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1314は、インタフェース1307、及び外部バス1306、ブリッジ1305、ホストバス1304等を介してCPU1301等に接続されている。通信部1316は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0057】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、
図13に示す画像処理装置100のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、
図13に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、プロセッサとして、GPU(Graphics Processing Unitの略、GPGPU(General-Purpose computing on Graphics Processing Unitsの略)を含む)を用いてもよいし、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(具体例として、ASIC(Application Specific Integrated Circuitの略)等がある)や再構成可能な集積回路(具体例として、FPGA(Field-Programmable Gate Arrayの略)等がある)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに
図13に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯情報通信機器として、携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット、複写機、ファックス、スキャナ、プリンタ、複合機(複合機とは、スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)等に組み込まれていてもよい。
【0058】
なお、上記実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU等)や、専用のプロセッサ(例えばGPU、ASIC、FPGA、プログラマブル論理デバイス、等)を含むものである。
また、上記実施形態におけるプロセッサの動作は、1つのプロセッサによって行われてもよいし、また、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は、上記実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0059】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD-R、DVD-RW、DVD-RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD-ROM)、CDレコーダブル(CD-R)、CDリライタブル(CD-RW)等、ブルーレイ・ディスク(Blu-ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digitalの略)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0060】
100…画像処理装置
105…画像データ取得モジュール
110…パンチ穴検出モジュール
115…周辺情報分類モジュール
120…ユーザーインタフェースモジュール
125…パンチ穴修正モジュール
130…画像データ出力モジュール
200…画像形成装置
205…スキャンモジュール
220…印刷モジュール
230…情報処理装置
240…画像形成装置
250…情報処理装置
290…通信回線