JP7457283B2 - コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法 - Google Patents

コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法 Download PDF

Info

Publication number
JP7457283B2
JP7457283B2 JP2020035571A JP2020035571A JP7457283B2 JP 7457283 B2 JP7457283 B2 JP 7457283B2 JP 2020035571 A JP2020035571 A JP 2020035571A JP 2020035571 A JP2020035571 A JP 2020035571A JP 7457283 B2 JP7457283 B2 JP 7457283B2
Authority
JP
Japan
Prior art keywords
outer edge
image
area
pixels
region
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.)
Active
Application number
JP2020035571A
Other languages
English (en)
Other versions
JP2021141383A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2020035571A priority Critical patent/JP7457283B2/ja
Publication of JP2021141383A publication Critical patent/JP2021141383A/ja
Application granted granted Critical
Publication of JP7457283B2 publication Critical patent/JP7457283B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本明細書は、画像内の余白領域を削除するための技術に関する。
画像データによって示される画像に余白が含まれる場合には、例えば、該画像から余白が削除された画像が出力されることが好ましい場合がある。例えば、液晶ディスプレイなどの表示装置に文書を示す画像を表示する際には、余白が削除された画像が表示されることが読みやすさの観点から好ましい場合がある。
特許文献1に開示された画像生成装置は、画像内の複数個の画素の値の分布を示すヒストグラムを用いて二値化処理の閾値を決定し、該閾値を用いて画像をオブジェクト画素と背景画素とに二値化する。該画像生成装置は、画像の端部のオブジェクト画素を含まない領域を余白領域として特定し、特定された余白領域を画像から削除している。
特開2017-183766号公報 特開2012-257189号公報 特開2001-16424号公報
しかしながら、模様付きの余白等の様々な態様の余白があるために、上記技術では、削除すべき余白領域を精度良く特定できない場合があった。この場合には、画像から適切に余分な領域を削除できない場合があった。
本明細書は、対象画像から余分な領域が適切に削除された処理済画像を出力できる技術を開示する。
本明細書は、例えば、以下の適用例を開示する。
[適用例1]コンピュータプログラムであって、表示対象とすべき対象オブジェクトを含む対象画像を示す対象画像データを取得する画像取得機能と、前記対象画像の外縁に沿う外縁領域であって前記対象オブジェクトを含まない前記外縁領域を特定する第1外縁特定機能であって、前記対象画像の複数個の画素から第1範囲の値を有する複数個の第1画素を特定し、前記複数個の第1画素に基づいて特定される第1領域を前記外縁領域として特定する前記第1外縁特定機能と、前記対象画像の複数個の画素から前記第1範囲と異なる第2範囲の値を有する複数個の第2画素を特定し、前記複数個の第2画素に基づいて特定される第2領域を前記外縁領域として特定する第2外縁特定機能と、前記外縁領域が削除された処理済画像であって前記対象オブジェクトを含む前記処理済画像を出力する画像出力機能と、をコンピュータに実現させ、前記画像出力機能は、前記第1領域のサイズが基準以上である場合に、前記第1領域が前記外縁領域として削除された第1の前記処理済画像を出力し、前記第1領域のサイズが基準未満である場合に、前記第1領域と前記第2領域とが前記外縁領域として削除された第2の前記処理済画像を出力する、コンピュータプログラム。
上記構成によれば、第1範囲の色値を有する複数個の第1画素に基づいて特定される第1領域のサイズが基準未満である場合には、該第1領域に加えて、第2範囲の値を有する複数個の第2画素に基づいて特定される第2領域が外縁領域として削除された処理済画像が出力される。この結果、第1範囲の値を有する複数個の第1画素に基づいて精度良く外縁領域を特定できない場合であっても、対象画像から余分な外縁領域が適切に削除された処理済画像を出力できる。
[適用例2]コンピュータプログラムであって、表示対象とすべき対象オブジェクトを含む対象画像を示す対象画像データを取得する画像取得機能であって、前記対象オブジェクトは、第1種のオブジェクトと、前記第1種のオブジェクトの周囲にある第2種のオブジェクトを含む、前記画像取得機能と、前記対象画像の外縁に沿う外縁領域であって前記対象オブジェクトを含まない前記外縁領域を特定する外縁特定機能と、前記第1種のオブジェクトの領域と前記第2種のオブジェクトの領域とを特定する領域特定機能と、前記外縁領域と、前記第1種のオブジェクトの領域と前記第2種のオブジェクトの領域との間の隙間領域と、が削除された処理済画像であって、前記対象オブジェクトを含む、前記処理済画像を出力する画像出力機能と、
をコンピュータに実現させ、前記隙間領域が削除されていることによって、前記処理済画像における前記第1種のオブジェクトと前記第2種のオブジェクトとの間の間隔は、前記対象画像における前記間隔よりも短い、コンピュータプログラム。
対象画像から、対象画像の外縁に沿う外縁領域と、第1種のオブジェクトの領域と第2種のオブジェクトの領域との間の隙間領域と、が削除された処理済画像が出力される。この結果、対象画像から余分な領域が適切に削除された処理済画像を出力できる。
なお、本明細書に開示の技術は、種々の態様で実現することが可能であり、例えば、画像処理装置、画像表示装置、画像表示システム、画像を表示するための表示方法、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体(例えば、一時的ではない記録媒体)、等の形態で実現することができる。
実施例における画像処理装置としての端末装置200の構成を示すブロック図。 表示処理のフローチャート。 対象ファイルPFによって示される複数個のページ画像PIの概念図。 表示装置270に表示される画像の一例を示す図。 表示更新処理のフローチャート。 外縁削除処理のフローチャート。 外縁削除処理の説明図。 外縁削除処理の説明図。 ヒストグラムの一例を示す図。 追加削除処理のフローチャート。 追加削除処理の説明図。
A.実施例:
A-1.画像処理装置の構成
次に、実施の形態を実施例に基づき説明する。図1は、実施例における画像処理装置としての端末装置200の構成を示すブロック図である。
端末装置200は、例えば、スマートフォンなどの携帯型の端末装置、または、パーソナルコンピュータなどの据え置き型の端末装置である。端末装置200は、端末装置200のコントローラとしてのプロセッサであるCPU210と、ハードディスクドライブなどの不揮発性記憶装置220と、RAMなどの揮発性記憶装置230と、ユーザの操作を受け取るタッチパネルなどの操作部260と、タッチパネルと重畳された液晶ディスプレイなどの表示装置270と、外部機器と通信を行うための有線または無線の通信インタフェース280と、を備えている。
揮発性記憶装置230は、CPU210が処理を行う際に生成される種々の中間データを一時的に格納するバッファ領域231を提供する。不揮発性記憶装置220には、コンピュータプログラムCPが格納されている。コンピュータプログラムCPは、本実施例では、アプリケーションとしての機能をCPU210に実現させるためのアプリケーションプログラムであり、サーバからダウンロードされる形態で提供される。これに代えて、コンピュータプログラムCPは、DVD-ROMなどに格納される形態で提供されてもよい。CPU210は、コンピュータプログラムCPを実行することにより、後述する表示処理を実行する。
A-2.表示処理
図2は、表示処理のフローチャートである。この表示処理は、例えば、端末装置200において、コンピュータプログラムCPが実行されて、文書ファイルを表示するためのアプリケーションが起動されているときに、ユーザの開始指示に基づいて開始される。
S10では、CPU210は、表示対象の文書ファイル(以下、対象ファイルとも呼ぶ)を不揮発性記憶装置220または揮発性記憶装置230から取得する。図3は、対象ファイルPFによって示される複数個のページ画像PIの概念図である。対象ファイルPFは、複数ページ分の文書を示すファイルである。本実施例では、対象ファイルPFは、PDF(Portable Document Formatの略)と呼ばれるファイルフォーマットを有する、いわゆるPDFファイルである。
対象ファイルPFは、それぞれがページ画像PIを示す複数個のページデータを含んでいる。図3の例では、対象ファイルPFは、第1グループの複数個のページ画像PI11~PI13と第2グループの複数個のページ画像PI21~PI23とを示す複数個のページデータを含んでいる。ページデータは、PDFフォーマットに従う描画命令を用いて、1個のページ画像PIを記述する画像データである。
第1グループのページ画像と第2グループのページ画像は、例えば、一つの本の第1章の文書と第2章の文書をそれぞれ示す。あるいは、第1グループのページ画像と第2グループのページ画像は、例えば、一つの文書にまとめられた2個の書類を示してもよい。
ページ画像PI11~PI13、PI21~PI23は、それぞれ、背景と、オブジェクトと、を含んでいる。背景は、白色に限らず、薄いグレーや赤などの色を有している場合や、これらの色の模様を有している場合がある。図3の例では、第1グループのページ画像PI11~PI13の背景Bg1は、白などの薄い色を有するである。第2グループのページ画像PI21~PI23の背景Bg2は、所定の色(例えば、青)の模様を含んでいる。
各グループの最初のページ画像PI11、PI12は、オブジェクトとして、タイトルTT1、TT2を含む。各グループの2ページ目以降のページ画像PI12、PI13、PI22、PI23は、主要オブジェクトとして、文字TXや図表FGを含む。ページ画像PI11~PI13、PI21~PI23は、それぞれ、文字TXや図表FGなどのオブジェクトよりも下側に、ページ数PNと、欄外文字FTと、を含む。
図2のS20では、CPU210は、対象ファイルの最初のページ画像、例えば、図3のページ画像PI11を表示装置270の画面に表示する。具体的には、CPU210は、対象ファイルPFから、ページ画像PI11を示すページデータを取得する。CPU210は、該ページデータに対してラスタライズ処理を実行して、ページ画像PI11を示すビットマップデータを生成する。CPU210は、ビットマップデータを用いて、ページ画像PI11を表示装置270の画面に表示する。本実施例のピットマップデータは、RGB表色系の色値(RGB値とも呼ぶ)で画素ごとの色を表すRGB画像データである。RGB値は、例えば、赤色(R)と緑色(G)と青色(B)との3個の色成分の値(以下、R値、G値、B値とも呼ぶ)を含む。本実施例では、各成分値の階調数は、256階調である。
図4は、表示装置270に表示される画像の一例を示す図である。図4(A)では、端末装置200の表示装置270の画面に、ページ画像PI11が表示されている。表示装置270には、さらに、ページ画像PI11の下側に、ユーザの操作を受け取るユーザインタフェース要素(UI要素)として、余白削除ボタンBTaと、ページ切替ボタンBTbと、が表示されている。
余白削除ボタンBTaが押下されると、図4(B)の選択ウインドウSWが表示装置270の画面に表示される。選択ウインドウSWは、表示装置270の画面に表示されるページ画像の余白の削除に関する指示を入力するためユーザインタフェースである。本明細書では、余白は、表示すべきオブジェクト(例えば、文字TX、図表FG、ページ数PN、欄外文字FT)を含まない領域を意味する。このために、余白は、白色の領域に限らず、他の色を有する場合や模様を含む場合がある。余白削除ボタンBTa余白の削除に関する設定指示をユーザが入力するためのボタンBT1~BT3およびチェックボックスCBを含んでいる。
ボタンBT1は、現在、表示装置270に表示中のページ画像PIのみを対象として余白の削除を行うことの指示(現ページ余白削除指示とも呼ぶ)を入力するためのボタンである。ボタンBT2は、対象ファイルPFの複数個のページデータによって示される全てのページ画像PIを対象として余白の削除を行うことの指示(全ページ余白削除指示)を入力するためのボタンである。ボタンBT3は、余白削除を行わないことの指示(余白維持指示とも呼ぶ)するためのボタンである。チェックボックスCBは、後述するテンプレート情報の利用を有効とするか否かを指示するためのチェックボックスである。
なお、現ページ余白削除指示が入力された場合には、現在、表示中のページ画像PIとは異なるページ画像については、余白維持指示が有効となる。なお、余白維持指示が入力された場合には、全てのページ画像PIについて余白維持指示が有効となる。
ページ切替ボタンBTbは、表示装置270に表示されるページ画像の切替指示を入力するためのボタンである。
S30では、CPU210は、ユーザから表示更新指示を取得したか否かを判断する。表示更新指示は、本実施例では、ページ切替ボタンBTbを介して入力されるページ画像の切替指示と、選択ウインドウSWを介して入力される余白の削除に関する指示と、のいずれかである。
表示更新指示が取得された場合には(S30:YES)、S40にて、CPU210は、取得された指示に応じて、表示装置270に表示される画像を更新する表示更新処理を実行する。表示更新指示が取得されない場合には(S30:NO)、CPU210は、S40をスキップして、S50に処理を進める。
S50では、CPU210は、ユーザから表示終了指示を取得したか否かを判断する。表示終了指示は、例えば、端末装置200の所定のボタン(図示省略)などを介して、コンピュータプログラムCPの実行の終了指示として入力される。表示終了指示が取得された場合には(S50:YES)、CPU210は、表示処理を終了する。表示終了指示が取得されない場合には(S50:NO)、CPU210は、S30に戻る。
A-3.表示更新処理
図3のS40の表示更新処理について説明する。図5は、表示更新処理のフローチャートである。
S100では、CPU210は、対象ファイルに含まれる複数個のページデータから注目ページデータを選択する。
例えば、図3のS30にて取得された指示が、ページ切替指示である場合には、注目ページデータは、現在、表示中のページ画像PIに代えて表示すべきページ画像PI(次ページや前ページのページ画像)を示すページデータである。
図3のS30にて取得された指示が、現ページ余白削除指示である場合には、注目ページデータは、現在、表示中のページ画像PIを示すページデータである。
図3のS30にて取得された指示が、全ページ余白削除指示である場合には、全てのページデータから注目ページデータが1個ずつ順次に選択される。
図3のS30にて取得された指示が、余白維持指示である場合には、注目ページデータは、現在、表示中のページ画像PIを示すページデータである。
S110では、CPU210は、注目ページデータに対して、余白の削除処理を実行する必要があるか否かを判断する。
図3のS30にて取得された指示が、ページ切替指示である場合には、余白の削除処理を実行する必要はないと判断される。この時点で全ページ余白削除指示が有効であったとしても、その場合には全てのページ画像について余白削除処理済みのページデータが既に作成済みであるので、この時点で余白の削除処理を実行する必要はない。
図3のS30にて取得された指示が、現ページ削除指示である場合、または、全ページ削除指示である場合には、余白の削除処理を実行する必要があると判断される。
図3のS30にて取得された指示が、余白維持指示である場合には、余白の削除処理を実行する必要はないと判断される。
余白の削除処理を実行する必要があると判断される場合には(S110:YES)、余白の削除処理を実行するために、CPU210は、S120に処理を進める。余白の削除処理を実行する必要がないと判断される場合には(S110:NO)、CPU210は、S120~S170の処理をスキップして、S180に処理を進める。
S120では、CPU210は、注目ページデータに対して、第1外縁削除処理を実行する。外縁削除処理(S120の第1外縁削除処理および後述するS140の第2外縁削除処理)は、注目ページデータによって示されるページ画像PI(注目ページ画像とも呼ぶ)から外縁領域ORを削除する処理である。外縁領域ORは、注目ページ画像の外縁に沿う領域であって、表示対象とすべき対象オブジェクト(例えば、図3の文字TX、図表FG、欄外文字FT、ページ数PN)を含まない領域である。外縁領域ORは、背景Bg1、Bg2の一部分である。
図6は、外縁削除処理のフローチャートである。図7、図8は、外縁削除処理の説明図である。図7には、注目ページ画像がページ画像PI12(図3)である場合の例が示されている。図8には、注目ページ画像がページ画像PI22(図3)である場合の例が示されている。
図6(A)の第1外縁削除処理が開始されると、S200では、CPU210は、注目ページ画像の複数個の画素の値の分布を示すヒストグラム(色分布データ)を生成する。具体的には、CPU210は、ラスタライズ後の注目ページデータ(RGB画像データ)を取得する。CPU210は、注目ページデータの各画素のRGB値を輝度値に変換して輝度データを生成する。CPU210は、注目ページ画像の複数個の画素を、輝度値に応じた複数個のクラスに分類することによって輝度値のヒストグラムを生成する。
図9は、ヒストグラムの一例を示す図である。図9のヒストグラムは、横軸に輝度値を取り、縦軸に輝度値の各クラスに分類された画素の数を取ったグラフとして示されている。
図9(A)には、ページ画像PI12の輝度値のヒストグラムHG1が示されている。ページ画像PI12の背景Bg1は、白などの薄い色を有する無地の背景であり、ページ画像PI12のオブジェクトTX、FT、PNは、黒などの濃い色を有するものとする。この場合には、図9(A)に示すように、ヒストグラムHG1は、背景Bg1に対応するピークBP1と、オブジェクトTX、FT、PN対応するピークOP1と、を含んでいる。
図9(B)には、ページ画像PI22の輝度値のヒストグラムHG2が示されている。ページ画像PI12の背景Bg2は、白などの薄い地色上に青などの模様が付された背景であり、ページ画像PI22のオブジェクトTX、FT、PNは、黒などの濃い色を有するものとする。この場合には、図9(A)に示すように、ヒストグラムHG1は、背景Bg2に対応する2個のピークBP2a、BP2bと、オブジェクトTX、FT、PNに対応するピークOP2と、を含んでいる。背景Bg2に対応する2個のピークBP2a、BP2bのうち、第1ピークBP2aは、白などの薄い地色に対応するピークであり、第2ピークBP2bは、青などの模様に対応するピークである。
S210では、CPU210は、ヒストグラムに基づいて第1背景色範囲を決定する。ヒストグラムにおいて最も高いピークは、背景に対応するピークであると推定できる。一般的な文書では、背景が占める面積(画素数)が、文字などのオブジェクトが占める面積よりも大きいためである。このために、例えば、CPU210は、最も高いピークと、他のピークと、を分離できるように、最も高いピークと他のピークとの間に、第1背景色範囲を定めるための閾値を決定する。CPU210は、輝度値のヒストグラムに基づいて、閾値THを決定する。
例えば、注目ページ画像がページ画像PI12である場合には、図9(A)のヒストグラムHG1に基づいて、ピークBP1とピークOP1との間に輝度値の閾値TH1が決定される。
例えば、注目ページ画像がページ画像PI22である場合には、図9(B)のヒストグラムHG2に基づいて、ピークBP2aと、ピークOP2、BP2bと、の間に輝度値の閾値TH2が決定される。
第1背景色範囲は、閾値THに基づいて、例えば、輝度値Vが、TH<Vを満たす範囲に決定される。
S220では、CPU210は、第1背景色範囲に基づいて、注目ページデータに対して二値化処理を実行して、第1背景画素を特定する。具体的には、CPU210は、注目ページ画像の複数個の画素のうち、第1背景色範囲内の輝度値を有する画素を、第1背景画素として特定する。CPU210は、注目ページ画像の複数個の画素のうち、第1背景色範囲外の輝度値を有する画素を、オブジェクト画素として特定する。ヒストグラムを用いる第1外縁削除処理の手法によれば、例えば、注目ページ画像の背景が、単色の背景(ベタ塗りの背景)である場合に、適切に背景画素とオブジェクト画素とを分離できる。
図9(A)に示すように、注目ページ画像がページ画像PI12である場合には、背景に対応するピークBP1とオブジェクトに対応するピークOP1とが適切に分離されるように、閾値TH1が決定される。このために、この場合には、背景Bg1を構成する複数個の画素が、適切に第1背景画素として特定され、オブジェクトTX、FT、PNを構成する複数個の画素が、適切にオブジェクト画素として特定される。
図9(B)に示すように、注目ページ画像がページ画像PI22である場合には、背景に対応するピークBP2a、BP2bとオブジェクトに対応するピークOP2とを適切に分離できるように、閾値TH2が決定されない。例えば、図9(B)に示すように、背景Bg2のうち、地色に対応する第1ピークBP2aは、第1背景色範囲内となるが、模様に対応する第2ピークBP2bは、第2背景色範囲外となる。このために、この場合には、背景Bg2を構成する複数個の画素のうち、地色の部分を構成する画素は、第1背景画素として特定されるが、模様を構成する画素は、第1背景画素として特定されず、オブジェクト画素として特定される。なお、オブジェクトTX、FT、PNを構成する複数個の画素は、オブジェクト画素として特定される。
S230では、CPU210は、特定された複数個の第1背景画素に基づいて、注目ページ画像の第1外縁領域OR1を特定する。具体的には、CPU210は、ページ画像PI11の右端(+X側の端)に位置し、上下方向(Y方向)に延びる1列分のラスタラインを注目ラインとする。CPU210は、注目ラインが背景ラインであるか否かを判断する。例えば、注目ラインを構成する複数個の画素のうち、所定割合(例えば、99%や100%)以上の画素が第1背景画素である場合には、注目ラインは背景ラインであると判断される。CPU210は、注目ラインが背景ラインであると判断される場合には、注目ラインの左側(-X側)に隣接する1列分のラスタラインを次の注目ラインとする。CPU210は、注目ラインが背景ラインでないと判断されるまで、注目ラインを変更しながら、当該判断を繰り返す。CPU210は、注目ラインが背景ラインでないと判断された場合には、その時点の注目ラインの直前の注目ラインから右端までの領域を、右端に沿う第1外縁領域として特定する。CPU210は、同様の方法によって、上端(-Y側の端)、下端(+Y側の端)、左端(-X側の端)に沿う第1外縁領域を特定する。
図7(A)に示すように、注目ページ画像がページ画像PI12である場合には、オブジェクトTX、FT、PNに外接する外接矩形OSaよりも外側の領域が第1外縁領域OR1a(斜めのハッチングが付された領域)として特定される。
図8(A)に示すように、注目ページ画像がページ画像PI22である場合には、背景Bg2の模様に外接する外接矩形OSbよりも外側の領域が第1外縁領域OR1b(斜めのハッチングが付された領域)として特定される。
S240では、CPU210は、注目ページ画像から第1外縁領域を削除して、注目ページ画像から第1外縁領域が削除された画像を示す第1削除済ページデータを生成する。第1削除済ページデータによって示される画像を第1削除済ページ画像とも呼とも呼ぶ。図7(B)には、ページ画像PI12から第1外縁領域OR1aが削除された第1削除済ページ画像CI12が図示されている。図8(B)には、ページ画像PI22から第1外縁領域OR1bが削除された第1削除済ページ画像CI22aが図示されている。
第1外縁削除処理が終了されると、S130にて、CPU210は、第1外縁削除処理による削除幅DW1は、閾値THd以上であるか否かを判断する。削除幅DW1は、例えば、第1外縁削除処理によって削除された第1外縁領域の左右方向(X方向)の幅と上下方向(Y方向)の幅とのうちの大きな方の値である。例えば、注目ページ画像が図7(A)のページ画像PI12である場合には、削除幅DW1は、第1外縁領域OR1aの左右方向の幅(ΔR1+ΔL1)と、上下方向の幅(ΔU1+ΔB1)と、のうちの大きな方の値である。例えば、注目ページ画像が図8(A)のページ画像PI22である場合には、削除幅DW1は、第1外縁領域OR1bの左右方向の幅(ΔR2+ΔL2)と、上下方向の幅(ΔU2+ΔB2)と、のうちの大きな方の値である。
例えば、注目ページ画像が図7(A)のページ画像PI12である場合には、上述したたように背景Bg1を構成する複数個の画素が、適切に第1背景画素として特定されるので、削除幅DW1は十分に大きな値となる。したがって、この場合には、削除幅DW1は閾値THd以上であると判断される。
例えば、注目ページ画像が図8(A)のページ画像PI22である場合には、上述したたように背景Bg2を構成する複数個の画素のうち、模様を示す画素が、第1背景画素として特定されないので、削除幅DW1は十分に大きな値とはならない。したがって、この場合には、削除幅DW1は、閾値THd未満であると判断される。
削除幅DW2が閾値THd未満である場合には(S130:NO)、S140にて、CPU210は、第1削除済ページデータに対して、第2外縁削除処理を実行する。削除幅DW1が閾値THd以上である場合には(S130:YES)、CPU210は、S140をスキップして、S150に処理を進める。
図6(B)の第2外縁削除処理が開始されると、S300では、CPU210は、注目ページ画像に対応する第1削除済ページ画像の外縁に沿う所定領域SAを解析する。所定領域SAは、例えば、図8(B)の第1削除済ページ画像CI22a内に示すように、注目ページ画像の一端(図8(B)では左端)の近傍の領域である。所定領域SAは、想定される注目ページ画像の種類(例えば、文書)に基づいて、注目ページ画像のオブジェクトを含まないと考えられる範囲内に設定される。解析によって、例えば、所定領域SA内に含まれる画素のRGB値の範囲が特定される。例えば、図8(B)の第1削除済ページ画像CI22aの所定領域SAが解析される場合には、背景Bg2を構成する地色の部分の色(例えば、白)と模様の色(例えば、青)と示すRGB値の範囲が特定される。
S310では、CPU210は、S300での解析結果に基づいて第2背景色範囲を決定する。例えば、解析によって特定されたRGB値の範囲よりも僅かに広い範囲が第2背景色範囲として決定される。例えば、図8(B)の第1削除済ページ画像CI22aの所定領域SAが解析される場合に第2背景色範囲は、図8(B)の背景Bg2の地色の部分の色に対応する範囲と、背景Bg2の模様の色に対応する範囲と、に決定される。
S320では、CPU210は、第2背景色範囲に基づいて、第1削除済ページデータに対して二値化処理を実行して、第2背景画素を特定する。具体的には、CPU210は、第1削除済ページ画像の複数個の画素のうち、第2背景色範囲内のRGB値を有する画素を、第2背景画素として特定する。CPU210は、第1削除済ページ画像の複数個の画素のうち、第2背景色範囲外のRGB値を有する画素を、オブジェクト画素として特定する。所定領域SAを解析する第2外縁削除処理の手法によれば、例えば、注目ページ画像の背景が、複数色で示される場合に、適切に背景画素とオブジェクト画素とを分離できる。
図8(B)の第1削除済ページ画像CI22aが処理される場合には、背景Bg2のうち、地色の部分を構成する画素と模様を構成する画素との両方が適切に第2背景画素として特定される。
S330では、CPU210は、特定された複数個の第2背景画素に基づいて、第1削除済ページ画像の第2外縁領域OR2を特定する。具体的な第2外縁領域OR2の特定手法は、例えば、図6(A)のS230の第1外縁領域OR1の特定手法と同じである。
図8(B)に示すように、第1削除済ページ画像CI22aが処理される場合には、オブジェクトTX、FT、PNに外接する外接矩形OSよりも外側の領域が第2外縁領域OR2として特定される。
S340では、CPU210は、第1削除済ページ画像から第2外縁領域OR2を削除して、第1削除済ページ画像から第2外縁領域OR2が削除された画像示す第2削除済ページデータを生成する。第2削除済ページデータによって示される画像を第2削除済ページ画像とも呼ぶ。図8(C)には、第1削除済ページ画像CI12から第2外縁領域OR2が削除された第2削除済ページ画像CI22bが図示されている。
S150に処理が進められた時点で、第1外縁削除処理のみが実行されている場合と、第1外縁削除処理と第2外縁削除処理との両方が実行されている場合と、がある。第1外縁削除処理のみが実行されている場合には、第1削除済ページデータがS150~S170の処理対象のデータである。第1外縁削除処理と第2外縁削除処理との両方が実行されている場合には、第2削除済ページデータがS150~S170の処理対象のデータである。S150~S170の処理対象のデータを外縁削除済ページデータと呼び、外縁削除済ページデータによって示される画像を外縁削除済ページ画像と呼ぶ。
S150では、CPU210は、外縁削除済ページデータが生成される際の削除幅DW2は、閾値THe以上であるか否かを判断する。外縁削除済ページデータが生成される際に、第1外縁削除処理のみが実行されている場合には、削除幅DW2は、S130にて用いられる上述したDW1と同じである。外縁削除済ページデータが生成される際に、第1外縁削除処理と第2外縁削除処理との両方が実行されている場合には、削除幅DW2は、第1外縁削除処理と第2外縁削除処理とで削除された合計の削除幅である。
例えば、外縁削除済ページ画像が図8(C)の第2削除済ページ画像CI22bであるである場合には、削除幅DW2は、2回の削除処理にて削除された外縁領域の左右方向の幅(ΔR+ΔL)と、上下方向の幅(ΔU+ΔB)と、のうちの大きな方の値である(図8(A)参照)。
ここで、本ステップにて、削除幅DW2が閾値THe以上であるか否かを判断するのは、注目ページ画像が、章や書類の最初のページ画像であるか否かを判断するためである。図3に示すように、章や書類の最初のページ画像PI11、PI21は、タイトルTT1、TT2などの少量の文章だけを含むことが多いので、余白が多くなる可能性が高い。このために、削除幅DW2が通常の余白と比較して過度に大きい場合には、注目ページ画像が、章や書類の最初のページ画像であると判断される。このために、例えば、本ステップにて用いられる閾値THeは、例えば、S130にて用いられる閾値THdよりも大きな値である。
削除幅DW2が閾値THe以上である場合には(S150:YES)、S160にて、CPU210は、追加削除用のテンプレート情報を削除する。テンプレート情報は、詳細は後述するが、本実施例では、ページ画像におけるページ数PNの位置を示す情報である。削除幅DW2が閾値THe以上である場合には、章や書類が切り替わるために、ページ数PNなどのレイアウトが変わる可能性がある。このために、この場合には、テンプレート情報が削除される。
削除幅DW2が閾値THe未満である場合には(S150:NO)、CPU210は、S160をスキップして、S170に処理を進める。
S170では、CPU210は、外縁削除済ページデータに対して、追加削除処理を実行する。追加削除処理は、外縁削除済ページデータによって示される外縁削除済ページ画像内の余白をさらに削除する処理である。以下では、図10は、追加削除処理のフローチャートである。図11は、追加削除処理の説明図である。
S405では、CPU210は、外縁削除済ページ画像の周囲に所定幅(例えば、10画素分)の余白AAを付加する。図11(A)には、図8(C)の第2削除済ページ画像CI22bに余白AAが付加されたページ画像CIが図示されている。余白AAを付加するのは、S410のラベリング処理において、オブジェクト画素が画像の端に接していると、ラベリング処理が適切に実行できない場合があるためである。以下では、図11(A)のページ画像CIが処理対象のページ画像であるとして説明を行う。
S410では、CPU210は、ページ画像CIのオブジェクト領域OAを特定する。具体的には、CPU210は、ページ画像CI内の複数個のオブジェクト画素に対してラベリング処理を実行する。オブジェクト画素には、例えば、図6のS210にて二値化処理を実行した際に特定されたオブジェクト画素が用いられる。例えば、CPU210は、連続する一つながりの複数個のオブジェクト画素で構成される画素群に、1個の識別子を割り当て、互いに離れた複数個のオブジェクト画素で構成される複数個の画素群に、互いに異なる識別子を割り当てる。CPU210は、さらに、複数個の画素群のうち、互いの距離が所定の基準長より短い2以上の画素群をグループ化して、グループごとに同じ識別子を割り当てる。CPU210は、同じ識別子が割り当てられた1グループの画素群に外接する外接矩形を特定し、その外接矩形の領域を1個のオブジェクト領域OAとして特定する。
例えば、図11(A)のページ画像CIが処理対象である場合には、文字TXを含むオブジェクト領域OA1、OA2と、ページ数PNを含むオブジェクト領域OA3と、欄外文字FTを含むオブジェクト領域OA4と、が特定される。
S415では、CPU210は、特定されたオブジェクト領域の中から、最も面積が大きな領域を主要オブジェクト領域として特定する。例えば、図11(A)の例では、オブジェクト領域OA1が主要オブジェクト領域として特定される。
S420では、CPU210は、テンプレート情報の使用設定は有効であるか否かを判断する。図2のS30にて、取得される指示には、図4(B)の選択ウインドウSWのチェックボックスCBを介して入力されるテンプレート情報の使用設定の指示が含まれている。CPU210は、当該使用設定の指示に基づいて、テンプレート情報の使用設定は有効であるか否かを判断する。
テンプレート情報の使用設定が有効である場合には(S420:YES)、CPU210は、S425に処理を進める。テンプレート情報の使用設定が無効である場合には(S420:NO)、CPU210は、S440に処理を進める。
S425では、CPU210は、ページ画像CIは、偶数ページの画像であるか、奇数ページの画像であるかを判断する。対象ファイルPF(例えば、PDFファイル)には、各ページデータにページ数を示す情報が関連付けられている。CPU210は、ページ画像CIの元となった注目ページデータに関連付けられた情報に基づいてページ数を特定し、ページ画像CIが、偶数ページの画像であるか、奇数ページの画像であるかを判断する。
ページ画像CIが偶数ページの画像である場合には(S425:YES)、S430にて、CPU210は、偶数ページ用のテンプレート情報が保存されているか否かを判断する。別のページ画像を処理する際に、偶数ページ用のテンプレート情報が不揮発性記憶装置220や揮発性記憶装置230に保存されている場合がある(後述するS445)。
偶数ページ用のテンプレート情報が保存されている場合には(S430:YES)、CPU210は、S450に処理を進める。偶数ページ用のテンプレート情報が保存されていない場合には(S430:NO)、CPU210は、S441に処理を進める。
ページ画像CIが奇数ページの画像である場合には(S425:NO)、S435にて、CPU210は、奇数ページ用のテンプレート情報が保存されているか否かを判断する。別のページ画像を処理する際に、奇数ページ用のテンプレート情報が不揮発性記憶装置220や揮発性記憶装置230に保存されている場合がある(後述するS446)。
奇数ページ用のテンプレート情報が保存されている場合には(S435:YES)、CPU210は、S455に処理を進める。奇数ページ用のテンプレート情報が保存されていない場合には(S435:NO)、CPU210は、S442に処理を進める。
S440、S441、S442では、CPU210は、テンプレート情報を用いずに、ページ数領域を特定する。ページ数領域は、特定済みの複数個のオブジェクト領域のうち、主要オブジェクト領域を除いた領域の中から特定される。図11の例では、CPU210は、オブジェクト領域OA1を除いたオブジェクト領域OA2~OA4のそれぞれに対して文字認識処理を実行して、各オブジェクト領域内の1以上の文字を特定する。文字認識処理には、公知のOCR(Optical Character Reader)技術にて利用されるアルゴリズムが用いられる。CPU210は、各オブジェクト領域内の文字が、特定のパターンに合致するか否かを判断する(パターンマッチング)。特定のパターンは、例えば、ページ数PNとして想定される1~4桁の整数をnとすると、「n」、「P.n」、「No.n」である。図11の例では、ページ数PNを示すオブジェクト領域OA3がページ数領域として特定される。
S445、S446では、CPU210は、偶数ページまたは奇数ページ用のテンプレート情報を生成する。処理対象のページ画像CIが偶数ページの画像である場合には、偶数ページ用のテンプレート情報が生成され、処理対象のページ画像CIが奇数ページの画像である場合には、奇数ページ用のテンプレート情報が生成される。テンプレート情報は、例えば、ページ画像CIにて特定されたページ数PNの位置を示す座標情報である。同じ章や書類に属するページ画像では、ページ数PNはほぼ同じ位置に存在するので、テンプレート情報が生成された後は、テンプレート情報を用いることで、ページ数領域の特定を高速化することができる。偶数ページと奇数ページとでは、ページ数PNの位置が異なる場合があるので、本実施例では、偶数ページ用のテンプレート情報と、奇数ページ用のテンプレート情報と、がそれぞれ生成される。
S450では、CPU210は、偶数ページ用のテンプレート情報を用いてページ領域を特定する。S455では、CPU210は、偶数ページ用のテンプレート情報を用いてページ領域を特定する。例えば、テンプレート情報によって示されるページ画像CI上の位置にあるオブジェクト領域がページ数領域として特定される。この場合には、S440のパターンマッチングを行う必要がないので、上述したように高速にページ数領域が特定される。
S460では、CPU210は、ページ数領域と他のオブジェクト領域とのオブジェクトの間の隙間領域GAを特定する。例えば、ページ数領域は、ページ画像CIの上端、または、下端の近傍に特定される場合が多い。図11の例では、特定されるページ数領域は、下端の近傍のオブジェクト領域OA3である。この場合には、例えば、CPU210は、オブジェクト領域OA3と、オブジェクト領域OA3より上方のオブジェクト領域OA2と、の間に位置する左右方向(X方向)に延びる1行分のラスタラインを注目ラインとする。CPU210は、注目ラインにオブジェクト画素が含まれるか否かを1行ずつ確認する。CPU210は、オブジェクト領域OA3とオブジェクト領域OA2との間に位置し、オブジェクト画素が含まれないラスタラインで構成される領域を隙間領域GAとして特定する(図11(A))。
S460では、CPU210は、S405にて付加された余白AAと、S460にて特定された隙間領域GAと、をページ画像CIから削除する。図11(B)には、余白AAと隙間領域GAとが削除された後のページ画像CIaが示されている。このページ画像CIaでは、隙間領域GAが削除される前のページ画像CI(図11(A))における隙間領域GAよりも上側の部分と隙間領域GAよりも下側の部分とが隣接するように、上側の部分と下側の部分とが接続されている。これによって、ページ画像CIaにおけるオブジェクト領域OA3とオブジェクト領域OA2との間の距離は、隙間領域GAが削除される前のページ画像CIにおけるオブジェクト領域OA3とオブジェクト領域OA2との間の距離よりも短くされる。また、ページ画像CIaの上下方向の長さは、ページ画像CIの上下方向の長さよりも短くなる。
S180では、CPU210は、隙間領域GAが削除された後のページ画像CIaにおいて、ページ数PNを含む帯状領域SDに他のオブジェクトがあるか否かを判断する。帯状領域SDの上下方向の長さは、ページ画像CIaの上下方向の長さと等しい。ページ数PNがページ画像CIaの左端の近傍に位置する場合には、帯状領域SDは、ページ画像CIaの左端に沿って上下方向(Y方向)に延びる領域である。この場合には、帯状領域SDの左右方向の幅は、ページ画像CIaの左端からページ数PNの右端までの長さである。ページ数PNがページ画像CIaの右端の近傍に位置する場合には、帯状領域SDは、ページ画像CIaの右端に沿って上下方向に延びる領域である。この場合には、帯状領域SDの左右方向の幅は、ページ画像CIaの右端からページ数PNの左端までの長さである。
図11(B)の例では、ページ画像CIaの左端に沿う帯状領域SDにページ数PNとは異なるオブジェクトはないので、帯状領域SDに他のオブジェクトはないと判断される。画像によっては、帯状領域SDに、例えば、見出しを示すオブジェクトがある場合がある。この場合には、帯状領域SDに他のオブジェクトがあると判断される。
帯状領域SDに他のオブジェクトがない場合には(S470:NO)、S475にて、CPU210は、ページ数PNを帯状領域SDよりも画像の中央側に移動可能であるか否かを判断する。例えば、図11(B)に示すように、ページ数PNの右側に隣接する領域VAに他のオブジェクトがない場合には、ページ数PNは移動可能であると判断される。領域VAに、欄外文字FTが位置している場合には、ページ数PNは移動可能でないと判断される。
ページ数PNは移動可能であると判断される場合には(S475:YES)、S480にて、CPU210は、ページ画像CIaにおいてページ数PNを帯状領域SDよりも画像の中央側に移動させる。図11(B)の例では、CPU210は、ページ画像CIaにおいて、ページ数PNのX方向の位置を帯状領域SD内の位置から領域VA内の位置に変更する。図11(C)には、ページ数PNが移動された後のページ画像CIbが図示されている。
S485では、CPU210は、ページ数PNが移動された後のページ画像CIbから帯状領域SDを削除する。図11(D)には、帯状領域SDが削除された後のページ画像CIcが図示されている。ページ画像CIcは、余白の削除処理が実行される場合に、最終的に表示装置270に表示される画像である。
図5のS180では、CPU210は、処理対象のページデータを全て処理したか否かを判断する。処理対象のページデータが全て処理された場合には(S180:YES)、CPU210は、S190に処理を進める。未処理の処理対象のページデータがある場合には(S180:NO)、CPU210は、S100に戻る。
S190では、CPU210は、表示装置270の画面に表示される画像を更新する。例えば、CPU210は、図2のS30にて取得された表示更新指示に基づいて、表示すべきページ画像が、余白の削除処理が実行されていないページ画像(元ページ画像とも呼ぶ。例えば、図3のページ画像PI22)であるか、余白の削除処理が実行された後のページ画像(処理済ページ画像とも呼ぶ。例えば,図11(D)のページ画像CIc)であるか、を判断する。処理済ページ画像を示すデータを処理済ページデータとも呼ぶ。処理済ページ画像を表示すべき場合には、この時点までに処理済ページデータが生成されている。CPU210は、元ページ画像と処理済ページ画像とのうち、表示すべきページ画像を表示装置270の画面に表示する。
以上説明した本実施例では、図2のS10にて対象ファイルPFを取得するCPU210の機能は、画像取得機能の例である。図6(A)のS200~S230にて、第1外縁領域OR1a、ORbを特定するCPU210の機能は、第1外縁特定機能の例である。図6(B)のS300~S330にて、第2外縁領域OR2を特定するCPU210の機能は、第2外縁特定機能の例である。図5の190にて、外縁領域が削除された処理済ページ画像(例えば、図11(D)のページ画像CIc)を表示装置270に表示するCPU210の機能は、画像出力機能の例である。そして、図5のS120にて、第1外縁削除処理が実行された後に、削除幅DW1が閾値THd以上である場合に、S140にて第2外縁削除処理は実行されず、削除幅DW1が閾値THd未満である場合に、S140にて第2外縁削除処理は実行される。換言すれば、第1外縁削除処理にて特定された第1外縁領域(例えば、OR1a、OR1b)のサイズが基準以上である場合に、第1外縁領域OR1aが削除された第1の処理済画像が表示装置270に表示され、第1外縁領域OR1bのサイズが基準未満である場合に、第1外縁領域と第2外縁領域との両方が削除された第2の処理済画像が表示装置270に表示される。この結果、第1背景色範囲のRGB値を有する複数個の第1背景画素に基づいて精度良く外縁領域を特定できない場合であっても(例えば、図8(B))、対象ページ画像から外縁領域が適切に削除された処理済画像を表示装置270に表示できる(例えば、図8(C)、図11)。また、第1外縁領域が適切に特定できる場合には、図2のS140の第2外縁削除処理は実行されないので、外縁を削除するための処理負荷を低減できる。
また、本実施例では、図6(A)のS200~S230にて、第1外縁領域OR1a、ORbを特定するCPU210の機能と、図6(B)のS300~S330にて、第2外縁領域OR2を特定するCPU210の機能との全体は、外縁特定機能の例である。図10のS410にて、オブジェクト領域OA1~OA4を特定する機能は、領域特定機能の例である。そして、CPU210の画像出力機能は、外縁領域(例えば、図11のOR1bとOR2)と、オブジェクト領域OA3とオブジェクト領域OA2との間の隙間領域(例えば、図11のGA)と、が削除された処理済画像(例えば、図11のCIc)を出力する(図6(A)のS240、図6(B)のS340、図10のS465)。この結果、対象画像から余分な領域が適切に削除された処理済画像を出力できる。
例えば、端末装置200が携帯型である場合には、表示装置270の画面のサイズは比較的小さい場合がある。このような場合には、仮に外縁領域OR1a、OR1b、OR2が削除されていないページ画像が表示されると、ページ画像がユーザにとって見難い態様で表示されてしまう。例えば、ページ画像内のオブジェクト(例えば、文字TX)が過度に小さく表示され得る。本実施例によれば、このような不都合を抑制して、ページ画像を見やすい態様で表示装置270に表示することができる。
さらに、上記実施例では、図6(A)のS240、図6(B)のS340、図5のS170にて、外縁領域が削除された画像(例えば、図11(D)のページ画像CIc)を示す処理済画像データを生成するCPU210は、生成機能の例である。この結果、例えば、対象画像データよりもデータサイズが小さな処理済画像データを生成、出力できる。このために、例えば、生成された処理済画像データを不揮発性記憶装置220などに保存しておく場合には、必要な不揮発性記憶装置220の容量を低減できる。
さらに、上記実施例では、図5のS170の追加削除処理を実行するCPU210の機能は、加工処理の例である。追加削除処理が行われることによって、外縁領域に加えて、例えば、隙間領域GAや帯状領域SDがさらに削除された処理済画像を出力できる。
さらに、本実施例の追加削除処理(図10)は、隙間領域GAを削除することによって、処理済ページ画像CIcにおけるページ数PN(オブジェクト領域OA3)と文字TX(オブジェクト領域OA2)との間の間隔を、元のページ画像PI22における当該間隔よりも短くする処理(図10のS460、S465)を含む。この結果、隙間領域GAがさらに削除された処理済ページ画像CIcを出力できる。この結果、例えば、ページ画像を表示装置270にさらに見やすい態様で表示できる。
ここで、ページ数PNは、オブジェクトTXの領域OA1、OA2の周囲の特定の位置にあり、かつ、特定条件を満たすオブジェクトである、と言うことができる。本実施例では、特定条件は、上述したように、オブジェクトを構成する文字が、特定の文字のパターンに合致することである。
さらに、本実施例の追加削除処理は、ページ数PNのX方向の位置を変更することによって、ページ数PNを帯状領域SDとは異なる位置に配置する第1処理(図10のS480)と、帯状領域SDを削除する第2処理(図10のS485)と、を含む。この結果、文字TXの周囲に位置する帯状領域SDがさらに削除され、かつ、ページ数PNを含む処理済ページ画像CIcを出力できる。この結果、例えば、ページ画像を表示装置270にさらに見やすい態様で表示できる。
さらに、本実施例の追加削除処理では、第1のページデータが処理対象である場合に、テンプレート情報の生成と保存が行われた(図10のS445、S446)後、第2のページデータが処理対象である場合に、保存されたテンプレート情報を用いて、ページ数PNが特定される(図10のS450、S455)。すなわち、第2のページデータに対して実行される追加削除処理は、第1のページデータに対して実行される追加削除処理にて生成されるテンプレート情報を用いて実行される。この結果、第2のページデータに対して実行される追加削除処理の負荷を軽減できるので、例えば、処理を高速化できる。
さらに、本実施例では、図2のS30にてユーザから選択ウインドウSW(図4(B))を介して余白の削除に関する指示を取得するCPU210の機能は、指示取得機能の例である。CPU210は、取得される指示に応じて異なる出力処理を実行する(図5のS110等)。すなわち、余白の削除を実行する指示が取得される場合には、第1の出力処理(例えば、処理済ページ画像CIcを出力処理)が実行され、余白を維持する指示が取得される場合に、第1の出力処理とは異なる第2の出力処理(例えば、元のページ画像CI22bを出力する処理)が実行される。この結果、ユーザの指示に応じて、対象ファイルによって示されるページ画像を適切に出力することができる。
以上の説明から解るように、本実施例のオブジェクトTX、FGは、第1種のオブジェクトの例であり、ページ数PNは、第2種のオブジェクトの例である。また、本実施例のページ画像CI(図11(A))の隙間領域GAとオブジェクト領域OA3との全体、および、ページ画像CI(図11(B))のページ画像CIaのページ数PNを含む帯状領域SDは、特定領域の例である。本実施例の追加削除処理(図10)は、加工処理の例である。
B.変形例:
(1)上記実施例では、処理済ページ画像CIcは、表示装置270に表示される形態で出力されるが、これに限られない。例えば、処理済ページ画像を示すデータが、例えば、USBメモリなどのストレージに保存される形態で出力されても良い。また、処理済ページ画像を示すデータが、外部機器、例えば、他の端末にネットワークを介して送信される形態で出力されても良い。
(2)上記実施例では、処理済ページ画像CIcを示すビットマップデータが、元のページデータとは別に生成されている。これに代えて、例えば、元のページ画像のうち、処理済ページ画像として表示すべき領域を規定する情報(例えば、座標情報)のみが生成されても良い。この場合には、当該座標情報に基づいて、表示装置270に処理済ページ画像を表示する際に、元のページデータのうち、表示すべき領域のデータだけが表示装置270に表示される。これによって、表示装置270は、処理済ページ画像CIcを適切に表示することができる。これらの座標情報は、例えば、PDF形式の対象ファイルPFに保存されても良い。
(3)上記実施例の第1外縁削除処理および第2外縁削除処理の手法は、一例であって、様々な変形が可能である。例えば、第1外縁削除処理では、例えば、ページ画像の3個の成分値(R値、G値、B値)のそれぞれについて、ページ画像の複数個の画素を成分値に応じて分類したヒストグラムが生成され、該ヒストグラムの最も高い2個のピークが特定されても良い。この場合には、例えば、該2個のピークの中間の値が、背景色範囲を規定するための閾値に決定される。また、第1外縁削除処理および第2外縁削除処理では、例えば、ページ画像の外縁部分と中央部分とがそれぞれ解析され、外縁部分に存在せず、中央部分にのみ存在する色の範囲がオブジェクトの色の範囲として決定され、オブジェクトの色の範囲を除いた範囲が背景色範囲として決定されても良い。
(4)上記実施例の追加削除処理は適宜に変更され得る。例えば、上記実施例の追加削除処理では、ページ数PNの領域と、他のオブジェクトの領域との間の隙間領域が削除されている。これに限らず、例えば、書類の本文を示す領域と、ヘッダを示す領域と、の間の隙間領域が削除されても良い。あるいは、書類の本文を示す領域と、左右の端に沿って配置された見出しの領域と、の間の隙間領域が削除されても良い。
上記実施例の追加削除処理では、隙間領域GAを削除する処理(図10のS460、S465)と、ページ数PNを含む帯状領域SDを削除する処理(図10のS470~S485)と、との両方が実行されている。これに代えて、これらの処理のうちの一方だけが実行されても良い。
ページ数領域は、例えば、ページ数領域の位置や文字のパターンを学習させた機械学習モデルを用いて、特定されても良い。
テンプレート情報を用いてページ数領域を特定する処理(図10のS450、S455)は省略されても良い。この場合には、常に、テンプレート情報を用いずにページ数領域が特定される(図10のS440)。
上記実施例の図5のS120の第1外縁削除処理とS140の第2外縁削除処理とS170の追加削除処理とのうち、第1外縁削除処理と第2外縁削除処理だけが実行され、追加削除処理が省略されても良い。あるいは、第1外縁削除処理と第2外縁削除処理のうちの一方と、追加削除処理と、が実行され、第1外縁削除処理と第2外縁削除処理のうちの他方が省略されても良い。また、例えば、図4(B)の選択ウインドウSWにおいて、ボタンBT2が選択された場合には、第1外縁削除処理、第2外縁削除処理、追加削除処理のうち1又は2の処理が実行される。全ページにおいて余白削除が行われた対象ファイルに対し、さらに、余白削除指示があった場合に、例えば、ボタンBT1が選択された場合に、第1外縁削除処理、第2外縁削除処理、追加削除処理のすべての処理が実行されてもよい。
(5)上記実施例では、対象ファイルPFは、PDFフォーマットに従う文書ファイルである。これに代えて、対象ファイルは、XPSファイル形式、各種のワープロ・アプリケーション用のファイル形式が採用可能である。また、対象ファイルPFは、例えば、1個の画像を示すファイル、例えば、スキャンデータのファイルや、JPEG形式の画像ファイルであっても良い。
(6)上記実施例の表示更新処理では、ページ画像から余白の削除が行われているが、これに加えて、例えば、見やすさのために少量の余白を外周に付加する処理や、ページ数が存在しない場合には、ページ数を付加する処理が行われても良い。
(7)上記各実施例では、図5の表示変更処理における余白の削除を実行する画像処理装置は、スマートフォンなどの端末装置200である。これに代えて、画像処理装置は、例えば、デジタルカメラ、スキャナであってもよい。この場合には、例えば、デジタルカメラ、スキャナが、原稿の撮影あるいは読取を実行して、原稿を示すPDFファイルを生成する際に、余白を削除する処理を実行しても良い。
また、余白を削除する処理は、端末装置から対象ファイルPFを受信したサーバによって実行されても良い。この場合には、例えば、サーバは、処理済ページ画像を示す処理済ページデータを生成し、端末装置に送信する。端末装置は、処理済ページデータを用いて、処理済ページ画像を表示装置に表示する。このようなサーバは、ネットワークを介して互いに通信可能な複数個の計算機が、画像処理装置としての機能を一部ずつ分担して、全体として、一の画像処理の機能を実現してもよい。この場合には、ネットワークを介して互いに通信可能な複数個の計算機の全体が、画像処理装置に対応する。
(8)上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図1の端末装置200のCPU210が実行している処理の一部は、専用のハードウェア回路によって実現されてもよい。
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
200…端末装置,210…CPU,220…不揮発性記憶装置,230…揮発性記憶装置,231…バッファ領域,260…操作部,270…表示装置,280…通信インタフェース,CP…コンピュータプログラム,PI…ページ画像,FG…図表,FT…欄外文字,GA…隙間領域,HG1,HG2…ヒストグラム,OA1~OA4…オブジェクト領域,OR1,OR1a,OR1b…第1外縁領域,OR2…第2外縁領域,PF…対象ファイル,PI…ページ画像,PN…ページ数,SA…所定領域,SD…帯状領域,SW…選択ウインドウ,TT1,TT2…タイトル,TX…文字

Claims (13)

  1. コンピュータプログラムであって、
    表示対象とすべき対象オブジェクトを含む対象画像を示す対象画像データを取得する画像取得機能と、
    前記対象画像の外縁に沿う外縁領域であって前記対象オブジェクトを含まない前記外縁領域を特定する第1外縁特定機能であって、前記対象画像の複数個の画素から第1範囲の値を有する複数個の第1画素を特定し、前記複数個の第1画素に基づいて特定される第1領域を前記外縁領域として特定する前記第1外縁特定機能と、
    前記対象画像の複数個の画素から前記第1範囲と異なる第2範囲の値を有する複数個の第2画素を特定し、前記複数個の第2画素に基づいて特定される第2領域を前記外縁領域として特定する第2外縁特定機能と、
    前記外縁領域が削除された処理済画像であって前記対象オブジェクトを含む前記処理済画像を出力する画像出力機能と、
    をコンピュータに実現させ、
    前記画像出力機能は、
    前記第1領域のサイズが基準以上である場合に、前記第1領域が前記外縁領域として削除された第1の前記処理済画像を出力し、
    前記第1領域のサイズが基準未満である場合に、前記第1領域と前記第2領域とが前記外縁領域として削除された第2の前記処理済画像を出力する、コンピュータプログラム。
  2. 請求項1に記載のコンピュータプログラムであって、さらに、
    前記外縁領域が削除された前記処理済画像を示す処理済画像データを生成する生成機能をコンピュータに実現させ、
    前記画像出力機能は、前記処理済画像データを出力する、コンピュータプログラム。
  3. 請求項1または2に記載のコンピュータプログラムであって、
    前記画像出力機能は、前記処理済画像を表示装置の画面に表示する、コンピュータプログラム。
  4. 請求項1~3のいずれかに記載のコンピュータプログラムであって、
    前記対象オブジェクトは、第1種のオブジェクトと、前記第1種のオブジェクトの周囲にある第2種のオブジェクトを含み、
    前記コンピュータプログラムは、さらに、
    前記第2種のオブジェクトを含み、前記第1種のオブジェクトを含まない特定領域に対して、前記特定領域の少なくとも一部を削除する処理を含む加工処理を実行する加工機能をコンピュータに実現させ、
    前記画像出力機能は、前記外縁領域が削除され、かつ、前記加工処理を実行された前記処理済画像を出力する、コンピュータプログラム。
  5. 請求項4に記載のコンピュータプログラムであって、
    前記特定領域は、前記第1種のオブジェクトと前記第2種のオブジェクトとの間に位置する隙間領域を含み、
    前記加工処理は、前記隙間領域を削除することによって、前記処理済画像における前記第1種のオブジェクトと前記第2種のオブジェクトとの間の間隔を、前記対象画像における前記間隔よりも短くする処理である、コンピュータプログラム。
  6. 請求項4または5に記載のコンピュータプログラムであって、
    前記第2種のオブジェクトは、前記第1種のオブジェクトの周囲の特定の位置にあり、かつ、特定条件を満たすオブジェクトである、コンピュータプログラム。
  7. 請求項4~6のいずれかに記載のコンピュータプログラムであって、
    前記特定領域は、前記第2種のオブジェクトを含み、前記第2種のオブジェクトとは異なるオブジェクトを含まない帯状の領域であって、前記第1種のオブジェクトの周囲に位置し、第1方向に延びる、前記帯状の領域を含み、
    前記加工処理は、前記第2種のオブジェクトの前記第1方向と交差する第2方向の位置を変更することによって前記第2種のオブジェクトを前記帯状の領域とは異なる位置に配置する第1処理と、前記帯状の領域を削除する第2処理と、を含む、コンピュータプログラム。
  8. 請求項4~7のいずれかに記載のコンピュータプログラムであって、
    前記対象画像データは、対象ファイルに含まれる第1のページデータと第2のページデータとを含み、
    前記加工処理は、第1の加工処理と、前記第1の加工処理にて生成される領域情報であって前記第1の加工処理にて削除すべき領域を特定するための前記領域情報を用いて実行される第2の加工処理と、を含み、
    前記加工機能は、前記第1のページデータによって示される画像の第1の前記特定領域に対して前記第1の加工処理を実行し、前記第2のページデータによって示される画像の第2の前記特定領域に対して前記第2の加工処理を実行する、コンピュータプログラム。
  9. 請求項1~8のいずれかに記載のコンピュータプログラムであって、さらに、
    ユーザから前記外縁領域の削除に関する指示を取得する指示取得機能をコンピュータに実現させ、
    前記画像出力機能は、第1の指示が取得される場合に第1の出力処理を実行して前記処理済画像を出力し、第2の指示が取得される場合に前記第1の出力処理とは異なる第2の出力処理を実行して前記対象画像データに基づく出力画像であって前記対象オブジェクトを含む前記出力画像を出力する、コンピュータプログラム。
  10. 請求項1~9のいずれかに記載のコンピュータプログラムであって、
    前記第1外縁特定機能は、
    前記対象画像の複数個の画素の値の分布を示すヒストグラムを生成し、
    前記ヒストグラムを用いて前記第1範囲を決定し、
    決定された前記第1範囲を用いて前記複数個の第1画素を特定する、コンピュータプログラム。
  11. 請求項1~10のいずれかに記載のコンピュータプログラムであって、
    前記第2外縁特定機能は、
    前記対象画像の外縁に沿う所定領域内の複数個の画素の値に基づいて前記第2範囲を決定し、
    決定された前記第2範囲を用いて前記複数個の第2画素を特定する、コンピュータプログラム。
  12. 画像処理装置であって、
    表示対象とすべき対象オブジェクトを含む対象画像を示す対象画像データを取得する画像取得部と、
    前記対象画像の外縁に沿う外縁領域であって前記対象オブジェクトを含まない前記外縁領域を特定する第1外縁特定部であって、前記対象画像の複数個の画素から第1範囲の値を有する複数個の第1画素を特定し、前記複数個の第1画素に基づいて特定される第1領域を前記外縁領域として特定する前記第1外縁特定部と、
    前記対象画像の複数個の画素から前記第1範囲と異なる第2範囲の値を有する複数個の第2画素を特定し、前記複数個の第2画素に基づいて特定される第2領域を前記外縁領域として特定する第2外縁特定部と、
    前記外縁領域が削除された処理済画像であって前記対象オブジェクトを含む前記処理済画像を出力する画像出力部と、
    を備え、
    前記画像出力部は、
    前記第1領域のサイズが基準以上である場合に、前記第1領域が前記外縁領域として削除された第1の前記処理済画像を出力し、
    前記第1領域のサイズが基準未満である場合に、前記第1領域と前記第2領域とが前記外縁領域として削除された第2の前記処理済画像を出力する、画像処理装置。
  13. 画像を表示するための表示方法であって、
    表示対象とすべき対象オブジェクトを含む対象画像を示す対象画像データを取得する画像取得工程と、
    前記対象画像の外縁に沿う外縁領域であって前記対象オブジェクトを含まない前記外縁領域を特定する第1外縁特定工程であって、前記対象画像の複数個の画素から第1範囲の値を有する複数個の第1画素を特定し、前記複数個の第1画素に基づいて特定される第1領域を前記外縁領域として特定する前記第1外縁特定工程と、
    前記対象画像の複数個の画素から前記第1範囲と異なる第2範囲の値を有する複数個の第2画素を特定し、前記複数個の第2画素に基づいて特定される第2領域を前記外縁領域として特定する第2外縁特定工程と、
    前記外縁領域が削除された処理済画像であって前記対象オブジェクトを含む前記処理済画像を表示装置の画面に表示する画像表示工程と、
    を備え、
    前記画像表示工程では、
    前記第1領域のサイズが基準以上である場合に、前記第1領域が前記外縁領域として削除された第1の前記処理済画像を表示し、
    前記第1領域のサイズが基準未満である場合に、前記第1領域と前記第2領域とが前記外縁領域として削除された第2の前記処理済画像を表示する、表示方法。

JP2020035571A 2020-03-03 2020-03-03 コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法 Active JP7457283B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020035571A JP7457283B2 (ja) 2020-03-03 2020-03-03 コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020035571A JP7457283B2 (ja) 2020-03-03 2020-03-03 コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法

Publications (2)

Publication Number Publication Date
JP2021141383A JP2021141383A (ja) 2021-09-16
JP7457283B2 true JP7457283B2 (ja) 2024-03-28

Family

ID=77669085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020035571A Active JP7457283B2 (ja) 2020-03-03 2020-03-03 コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法

Country Status (1)

Country Link
JP (1) JP7457283B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2023032783A1 (ja) 2021-08-31 2023-03-09

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016424A (ja) 1999-07-01 2001-01-19 Sharp Corp 枠消し装置、枠消し方法、およびオーサリング装置
JP2002113919A (ja) 2000-10-11 2002-04-16 Seiko Epson Corp 印刷装置及びコンピュータ可読媒体
JP2009152901A (ja) 2007-12-20 2009-07-09 Konica Minolta Business Technologies Inc 画像処理装置および画像処理方法
JP2011035582A (ja) 2009-07-31 2011-02-17 Kyocera Mita Corp 画像処理装置及びこれを備えた画像形成装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001016424A (ja) 1999-07-01 2001-01-19 Sharp Corp 枠消し装置、枠消し方法、およびオーサリング装置
JP2002113919A (ja) 2000-10-11 2002-04-16 Seiko Epson Corp 印刷装置及びコンピュータ可読媒体
JP2009152901A (ja) 2007-12-20 2009-07-09 Konica Minolta Business Technologies Inc 画像処理装置および画像処理方法
JP2011035582A (ja) 2009-07-31 2011-02-17 Kyocera Mita Corp 画像処理装置及びこれを備えた画像形成装置

Also Published As

Publication number Publication date
JP2021141383A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
JP4375322B2 (ja) 画像処理装置、画像処理方法、そのプログラム、およびそのプログラムを記録したコンピュータ読取り可能な記録媒体
JP6098298B2 (ja) 画像処理装置およびコンピュータプログラム
US10592766B2 (en) Image processing apparatus and medium storing program executable by image processing apparatus
US9253368B2 (en) Image processing device setting binary value without using dither matrix when prescribed condition is satisfied
JP5842441B2 (ja) 画像処理装置およびプログラム
KR20180127913A (ko) 화상 처리 장치, 화상 처리 방법, 및 프로그램
JP2011013898A (ja) 画像処理装置、画像処理方法、及び、プログラム
JP5920293B2 (ja) 画像処理装置及びプログラム
JP7457283B2 (ja) コンピュータプログラム、画像処理装置、および、画像を表示するための表示方法
US9277074B2 (en) Image processing apparatus, method, and medium determining whether image data of a page to be processed is blank and contains a foreground object and transmitting the foreground object obtained by removing a background object
JP7067262B2 (ja) 情報処理装置及びプログラム
EP2166741A1 (en) Image processing apparatus, image forming apparatus and program
JP6892625B2 (ja) データ処理装置、および、コンピュータプログラム
JP2019046225A (ja) 認識装置、認識プログラム、及び認識方法
US11924390B2 (en) Apparatus, method, and storage medium for performing color reduction processing
JP7205689B2 (ja) 画像処理装置、および、コンピュータプログラム
JP2006031245A (ja) ディジタル画像の輪郭追跡による画像処理方法並びに画像処理装置
JP2003046746A (ja) 画像処理方法及び画像処理装置
JP6350362B2 (ja) コンピュータプログラム、および、画像処理装置
US11405525B2 (en) Image processing apparatus, control method, and product capable of improving compression efficiency by converting close color to background color in a low light reading mode
JP4228905B2 (ja) 画像処理装置及びプログラム
US9098768B2 (en) Character detection apparatus, character detection method, and computer-readable storage medium
JP2022183662A (ja) コンピュータプログラム、記録媒体、および、画像処理装置
JP2011044919A (ja) 画像処理装置及び画像処理プログラム
JP2010044517A (ja) 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240131

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: 20240214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240227

R150 Certificate of patent or registration of utility model

Ref document number: 7457283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150