JP6311360B2 - 画像処理装置 - Google Patents

画像処理装置 Download PDF

Info

Publication number
JP6311360B2
JP6311360B2 JP2014044339A JP2014044339A JP6311360B2 JP 6311360 B2 JP6311360 B2 JP 6311360B2 JP 2014044339 A JP2014044339 A JP 2014044339A JP 2014044339 A JP2014044339 A JP 2014044339A JP 6311360 B2 JP6311360 B2 JP 6311360B2
Authority
JP
Japan
Prior art keywords
type
characters
processed image
image
executed
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
JP2014044339A
Other languages
English (en)
Other versions
JP2015170982A (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 JP2014044339A priority Critical patent/JP6311360B2/ja
Priority to US14/640,483 priority patent/US9600917B2/en
Publication of JP2015170982A publication Critical patent/JP2015170982A/ja
Priority to US15/420,401 priority patent/US10009507B2/en
Application granted granted Critical
Publication of JP6311360B2 publication Critical patent/JP6311360B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1815Receiving print data in mixed format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/148Segmentation of character regions
    • G06V30/153Segmentation of character regions using recognition of characters or words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00326Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus
    • H04N1/00328Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information
    • H04N1/00331Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information with an apparatus performing optical character recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00344Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a management, maintenance, service or repair apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/04Scanning arrangements, i.e. arrangements for the displacement of active reading or reproducing elements relative to the original or reproducing medium, or vice versa
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32128Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title attached to the image data, e.g. file header, transmitted message header, information on the same page or in the same computer file as the image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/393Enlarging or reducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits
    • H04N1/407Control or modification of tonal gradation or of extreme levels, e.g. background level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3261Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal
    • H04N2201/3266Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of multimedia information, e.g. a sound signal of text or character information, e.g. text accompanying an image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3271Printing or stamping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3273Display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Record Information Processing For Printing (AREA)
  • Image Processing (AREA)

Description

本明細書では、複数個の文字を含む原画像を表わす原画像データに対して画像処理を実行して、当該複数個の文字を含む処理済み画像を表わす処理済み画像データを生成する画像処理装置を開示する。
特許文献1には、DFE(Digital Front End Processorの略)装置と、BEP(Back End Processorの略)装置と、画像形成装置と、を備える画像形成システムが開示されている。BEP装置は、DFE装置からイメージデータが入力されると、イメージデータに含まれる文字領域内の文字を拡大し、当該拡大した文字を含む文字領域のイメージデータを生成する。
特開2005−223824号公報 特開2012−108750号公報 特開2011−242987号公報 特開2012−230623号公報 特開2010−183484号公報 特開平5−94511号公報 特開2000−137801号公報 特開平11−25283号公報 特開2012−216038号公報
"画面サイズに合わせ自動的に改行!文書ファイルをスマートフォン上で読みやすく表示 レイアウト再構築技術「GT-Layout」 オンラインストレージ「Dropbox」向けのサービスをスタート 新開発"、[online]、2012年5月30日、富士フィルム株式会社、[2014年1月24日検索]、インターネット<http://www.fujifilm.co.jp/corporate/news/articleffnr_0647.html>
ところで、従来では、文字領域内の文字は、常に、1つの手法によって拡大されており、他の手法によって拡大することについて、何ら考慮されていなかった。
本明細書では、画像データに含まれる複数個の文字を適切に拡大する技術を提供する。
本明細書によって開示される画像処理装置は、取得部と、画像処理実行部と、を備える。取得部は、原画像を表わす原画像データを取得する原画像は、複数個の文字によって構成されるM行(Mは1以上の整数)の文字列を含む。画像処理実行部は、原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する。処理済み画像では、原画像と比べて、複数個の文字が拡大されて表現されている。画像処理実行部は、判断部と、第1の生成部と、第2の生成部と、を含む。判断部は、原画像内のM行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する。第1の生成部は、第1種の拡大処理を実行すべきと判断される場合に、第1種の拡大処理を実行して、第1種の処理済み画像を表わす第1種の前記処理済み画像データを生成する。第1種の処理済み画像内の複数個の文字のレイアウトは、原画像内の複数個の文字のレイアウトと同じである。第1種の処理済み画像は、複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる。第2の生成部は、第2種の拡大処理を実行すべきと判断される場合に、第2種の拡大処理を実行して、第2種の処理済み画像を表わす第2種の前記処理済み画像データを生成する。第2種の処理済み画像内の複数個の文字のレイアウトは、原画像内の複数個の文字のレイアウトと異なる。第2種の処理済み画像は、複数個の文字が拡大されて表現されているN行(Nは1以上の整数)の拡大文字列を含んでいる。
この構成によると、画像処理装置は、M行の文字列に基づく、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、の判断結果に応じて、原画像に含まれる複数個の文字のレイアウトを変更しない第1種の拡大処理と、レイアウトを変更する第2種の拡大処理と、を実行することができる。このため、原画像データに含まれる複数個の文字に基づいて、複数個の文字を適切に拡大することができる。
判断部は、Mが1であるのか、Mが2以上であるのか、を判断してもよい。判断部は、Mが1であると判断される場合に、第1種の拡大処理を実行すべきと判断してもよい。判断部は、Mが2以上であると判断される場合に、第2種の拡大処理を実行すべきと判断してもよい。文字列が1行で構成されている場合、文書の作成者が意図的に1行で記述している場合が多い。この場合、第2種の拡大処理が実行されて、1行で記述されている文字列のレイアウトが変更されると、文書の作成者の意図に反した変更となり得る。上記の構成によると、文字列が1行で構成されている場合、複数個の文字のレイアウトを変更しない第1種の拡大処理が実行される。この結果、文書の作成者の意図に反して、文字列のレイアウトが変更される事態を回避することができる。
画像処理実行部は、さらに、M行の文字列を含むテキスト領域を包含するスペース領域を決定するスペース領域決定部を備えていてもよい。M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並んでいてもよい。判断部は、記テキスト領域の第1方向に沿った長さに1より大きな目標値を乗算することによって得られる第1の長さが、スペース領域の第1方向に沿った長さ以下であり、かつ、テキスト領域の第1方向に直交する第2方向に沿った長さに目標値を乗算することによって得られる第2の長さが、スペース領域の第2方向に沿った長さ以下であるという特定の条件が満たされるのか否かを判断してもよい。判断部は、特定の条件が満たされる場合に、第1種の拡大処理を実行すべきと判断し、特定の条件が満たされない場合に、第2種の拡大処理を実行すべきと判断してもよい。この構成によると、特定の条件が満たされる場合に、複数個の文字のレイアウトを変更しない第1種の拡大処理が実行される。この結果、文書の作成者の意図に反して、文字列のレイアウトが変更される事態を回避することができる。
Mは、2以上の整数であってもよい。判断部は、M行の文字列が箇条書きによって表現されているのか否かを判断してもよい。判断部は、M行の文字列が箇条書きによって表現されていると判断される場合に、第1種の拡大処理を実行すべきと判断し、M行の文字列が箇条書きによって表現されていないと判断される場合に、第2種の拡大処理を実行すべきと判断してもよい。複数個の文字が、箇条書きで表現されている場合、複数個の文字のレイアウトを変更すると、箇条書きが不明確になり得る。この構成によると、M行の文字列が箇条書きによって表現されていると判断される場合に、複数個の文字のレイアウトを変更しない第1種の拡大処理が実行される。この結果、文書の作成者の意図に反して、文字列のレイアウトが変更される事態を回避することができる。
判断部は、M行の文字列に特定文字が含まれるのか否かを判断してもよい。判断部は、M行の文字列に特定文字が含まれると判断される場合に、第1種の拡大処理を実行すべきと判断し、M行の文字列に前記特定文字が含まれないと判断される場合に、第2種の拡大処理を実行すべきと判断してもよい。特定文字は、複数個の文字の文字サイズに応じて設定された閾値よりも大きいサイズを有する文字であってもよい。この構成によると、M行の文字列に特定文字が含まれると判断される場合に、複数個の文字のレイアウトを変更しない第1種の拡大処理が実行される。この結果、文書の作成者の意図に反して、文字列のレイアウトが変更される事態を回避することができる。
Mは、2以上の整数であってもよい。M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並んでいてもよい。判断部は、M行の文字列のそれぞれについて、当該1行の文字列の一端とM行の文字列を含むテキスト領域の境界との間の第1方向に沿った余白の長さを算出してもよい。判断部は、M行の文字列について算出されるM個の余白の長さのばらつきが、所定のばらつきよりも大きいのか否かを判断してもよい。判断部は、M個の余白の長さのばらつきが、所定のばらつきよりも大きいと判断される場合に、第1種の拡大処理を実行すべきと判断し、M個の余白の長さのばらつきが、所定のばらつき以下であると判断される場合に、第2種の拡大処理を実行すべきと判断してもよい。各行の余白の長さにばらつきが大きい場合、文書の作成者が意図的に余白を設けている場合が多い。この場合、第2種の拡大処理が実行されて、文字列のレイアウトが変更されると、文書の作成者の意図に反した変更となり得る。上記の構成によると、余白の長さにばらつきが大きい場合、複数個の文字のレイアウトを変更しない第1種の拡大処理が実行される。この結果、文書の作成者の意図に反して、文字列のレイアウトが変更される事態を回避することができる。
M行の文字列を含むテキスト領域は、背景色を有していてもよい。判断部は、テキスト領域の背景色が、原画像内の背景色と異なるのか否かを判断してもよい。判断部は、テキスト領域の背景色が、原画像内の背景色と異なると判断される場合に、第1種の拡大処理を実行すべきと判断し、テキスト領域の背景色が、原画像内の前記背景色と同じであると判断される場合に、第2種の拡大処理を実行すべきと判断してもよい。例えば、プレゼンテーション資料の見出しを目立たせるために、テキスト領域の背景色を、原画像内の背景色から変更する場合がある。この場合、M行の文字列のレイアウトを変更すると、文書の作成者の意図に反してレイアウトを変更することになり得る。上記の構成によると、テキスト領域の背景色が、原画像の背景色と異なる場合、複数個の文字のレイアウトを変更しない第1種の拡大処理が実行される。この結果、文書の作成者の意図に反して、文字列のレイアウトが変更される事態を回避することができる。
上記の画像処理装置のためのコンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も新規で有用である。
さらに、上記の画像処理装置が実行する画像処理方法も新規で有用である。画像処理方法、以下の通りである。
画像処理方法であって、
原画像を表わす原画像データを取得する取得工程であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得工程と、
前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行工程であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行工程と、を備え、
前記画像処理実行工程は、
前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理と第2種の拡大処理とを含む複数種類の拡大処理の中から1種類の拡大処理を選択する処理選択工程と、
前記選択された1種類の拡大処理を実行する拡大処理実行工程と、を備え、
前記第1種の拡大処理が選択される場合には、前記複数個の文字を含む第1種の前記処理済み画像を表わす第1種の前記処理済み画像データが生成され、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含み、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、
前記第2種の拡大処理が選択される場合には、前記複数個の文字を含む第2種の前記処理済み画像を表わす第2種の前記処理済み画像データが生成され、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含み、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なる、画像処理方法。
通信システムの構成を示す。 画像処理サーバの処理のフローチャートを示す。 図2に続く画像処理サーバの処理のフローチャートを示す。 文字列解析処理のフローチャートを示す。 第1実施例の単純拡大条件を満たすケースを説明するための説明図を示す。 結合処理のフローチャートを示す。 目標領域決定処理のフローチャートを示す。 領域拡大処理を説明するための説明図を示す。 再配置処理のフローチャートを示す。 行数決定処理のフローチャートを示す。 各文字が再配置されて拡大されるケースAを説明するための説明図を示す。 各文字が再配置されて拡大されるケースBを説明するための説明図を示す。 第2実施例の単純拡大条件を満たすケースを説明するための説明図を示す。 第3実施例の単純拡大条件を満たすケースを説明するための説明図を示す。 第4実施例の単純拡大条件を満たすケースを説明するための説明図を示す。 第5実施例の単純拡大条件を満たすケースを説明するための説明図を示す。 第6実施例の単純拡大条件を満たすケースを説明するための説明図を示す。 変形例1の単純拡大条件を満たすケースを説明するための説明図を示す。 第4実施例の単純拡大条件を満たすケースを説明するための説明図を示す。
(第1実施例)
(通信システム2の構成)
図1に示されるように、通信システム2は、多機能機10と画像処理サーバ50とを備える。多機能機10と画像処理サーバ50とは、インターネット4を介して、相互に通信可能である。多機能機10は、印刷機能、スキャン機能、コピー機能、FAX機能等を含む多機能を実行可能な周辺機器(即ち図示省略のPC(Personal Computerの略)等の周辺機器)である。画像処理サーバ50は、多機能機10のベンダによってインターネット4上に設けられるサーバである。
(多機能機10によって実行される各処理の概要)
多機能機10が実行可能なコピー機能は、モノクロコピー機能とカラーコピー機能とに分類されるが、本実施例では、カラーコピー機能に着目して説明する。カラーコピー機能は、通常カラーコピー機能と文字拡大カラーコピー機能とに分類される。多機能機10は、どちらのカラーコピー機能の実行指示がユーザから与えられる場合でも、まず、スキャン対象の画像を表わすシート(以下では「スキャン対象シート」と呼ぶ)をカラースキャンして、スキャン画像データSIDを生成する。スキャン画像データSIDは、多階調(例えば256階調)のRGBビットマップデータである。
スキャン画像データSIDによって表わされるスキャン画像SI(即ちスキャン対象シートに表現されている画像)は、白色の背景を有すると共に、1個のテキストオブジェクトTOBと2個の写真オブジェクトOB1,OB2とを含む。テキストオブジェクトTOBは、黒色の複数個の文字「A〜M」によって構成される3行の文字列を含む。なお、文字の色は、黒色とは異なる色(例えば赤色)でもよい。写真オブジェクトOB1,OB2は、文字を含まず、複数色によって構成される写真を含む。
なお、以下では、テキストオブジェクトTOBに含まれる文字列が異なるスキャン画像SI1〜6(図5,図13〜17参照)が登場する。スキャン画像SI1〜6は、スキャン画像SIと同様に、多階調(例えば256階調)のRGBビットマップデータであるスキャン画像データによって表される。
また、本実施例の各図では、便宜上、各テキストオブジェクトTOBを構成する各文字列が、規則的な順序で並ぶアルファベット「A〜M」によって表現されているが、実際には、各文字列は、センテンスを構成している。各文字列(即ち1行の文字列)では、スキャン画像SI内の横方向の左側から右側に向かってセンテンスが進む。また、3行の文字列「A〜M」では、スキャン画像SI内の縦方向の上側から下側に向かってセンテンスが進む。なお、以下のいずれの画像(例えば処理済み画像PI)においても、1行の文字列を構成する複数個の文字が並ぶ方向、当該方向に直交する方向を、それぞれ、「横方向」、「縦方向」と呼ぶ。また、左側から右側に向かってセンテンスが進むことから、横方向の左端、横方向の右端のことを、それぞれ、「先端」、「後端」と呼ぶ。
多機能機10は、ユーザから通常カラーコピー機能の実行指示が与えられる場合には、スキャン画像データSIDを利用して、ユーザによって設定されるコピー倍率に応じて、画像をシート(以下では「印刷対象シート」と呼ぶ)に印刷する。例えば、コピー倍率が等倍である場合には、多機能機10は、スキャン対象シートに表現されている画像と同じサイズを有する画像を印刷対象シートに印刷する。また、例えば、コピー倍率が画像の拡大を示す倍率である場合には、多機能機10は、スキャン対象シートに表現されている画像よりも大きいサイズを有する画像を印刷対象シートに印刷する。この場合、例えば、A4サイズのスキャン対象シートに表現されている画像が拡大されて、A3サイズの印刷対象シートに印刷される。この結果、3個のオブジェクトTOB,OB1,OB2の全てが拡大されて表現されている画像が印刷対象シートに印刷される。
一方、多機能機10は、ユーザから文字拡大カラーコピー機能の実行指示が与えられる場合には、インターネット4を介して、スキャン画像データSIDを画像処理サーバ50に送信する。これにより、多機能機10は、インターネット4を介して、画像処理サーバ50から処理済み画像データPIDを受信し、処理済み画像データPIDによって表わされる処理済み画像PIを印刷対象シートに印刷する。特に、多機能機10は、スキャン対象シートと同じサイズ(例えばA4サイズ)を有する印刷対象シートに処理済み画像PIを印刷する。
図1のように、処理済み画像PIでは、スキャン画像SIと比べて、写真オブジェクトOB1、OB2が拡大されずに、テキストオブジェクトTOBが拡大されて表現されている。従って、スキャン画像SI内の各文字のサイズが小さい場合でも、処理済み画像PIでは、各文字のサイズが大きくなるので、ユーザは、処理済み画像PI内の各文字を容易に認識することができる。即ち、文字拡大カラーコピー機能において、通常カラーコピー機能のようにスキャン画像と異なるサイズの画像に対応する処理済み画像データを生成するのではなく、同じサイズの画像を得ることを前提として、文字のみ拡大する。
(画像処理サーバ50の構成)
画像処理サーバ50は、多機能機10から受信されるスキャン画像データSIDに対して画像処理を実行して、処理済み画像データPIDを生成し、当該処理済み画像データPIDを多機能機10に送信する。画像処理サーバ50は、ネットワークインターフェース52と、制御部60と、を備える。ネットワークインターフェース52は、インターネット4に接続される。制御部60は、CPU62とメモリ64とを備える。CPU62は、メモリ64に格納されているプログラム66に従って、様々な処理(即ち図2等の処理)を実行するプロセッサである。
(画像処理サーバ50によって実行される各処理;図2)
続いて、図2を参照して、画像処理サーバ50のCPU62によって実行される各処理の内容を説明する。CPU62は、インターネット4を介して、多機能機10からスキャン画像データSIDを受信する場合に、図2の処理を開始する。
S100では、CPU62は、文字列解析処理(後述の図4参照)を実行して、スキャン画像SI内の3行の文字列「A〜M」を含むテキストオブジェクト領域(以下では単に「テキスト領域」と呼ぶ)TOAを決定する。そして、CPU62は、テキスト領域TOA内の3行の文字列を含む3個の帯状領域LA1〜LA3を決定する。
S200では、CPU62は、余白領域決定処理を実行して、スキャン画像SIの中から余白領域BAを決定する。余白領域BAは、テキスト領域TOAを包含し、テキスト領域TOAのサイズ(即ち面積)よりも大きいサイズを有する。CPU62は、テキスト領域TOAの周囲の余白の大きさに応じて、他のオブジェクト(例えば写真オブジェクトOA1、OA2)に重複しない余白領域BAを決定する。例えば、スキャン画像SIでは、テキスト領域TOAの右側及び下側に大きな余白が存在するので、テキスト領域TOAから、下方及び右方に伸びた矩形形状を有する余白領域BAが決定される。余白領域BAのアスペクト比は、通常、テキスト領域TOAのアスペクト比とは異なる。なお、スキャン画像SI内の余白領域BAは、処理済み画像PI内の目標領域TA(S800の処理済み画像PI参照)を含む。S200の処理は、処理済み画像PIにおいて、テキスト領域TOAの拡大を許容する最大の範囲を決定する処理に等しい。なお、後述の処理済み画像PI内の目標領域TAは、拡大されて表現される文字列「A〜M」が配置されるべき領域である。
S300では、CPU62は、スキャン画像SIに含まれるテキストオブジェクトTOBが単純拡大条件を満たすのか否かを判断する。具体的には、CPU62は、テキストオブジェクトTOBが1行の文字列のみを含むと判断する場合に、単純拡大条件を満たすと判断し、テキストオブジェクトTOBが2行以上の文字列を含むと判断する場合に、単純拡大条件を満たさないと判断する。なお、図2には、第1実施例に用いられる単純拡大条件(即ち「文字列=1行?」)の他に、第2〜第6実施例で用いられる単純拡大条件の内容も記載されている。
S300において、単純拡大条件を満たすと判断される場合(S300でYES)、CPU62は、S400において、単純拡大処理(後述の図5参照)を実行して、処理済み画像データPIDを生成する。一方、単純拡大条件を満たさないと判断される場合(S300でNO)、CPU62は、図3のS500に進む。
S500では、CPU62は、結合処理(後述の図6参照)を実行して、1個の結合画像CIを表わす結合画像データを生成する。結合画像CIは、3個の帯状領域LA1〜LA3に含まれる3行の文字列が横方向に沿って直線状に結合(即ち連結)された1行の結合文字列「A〜M」を含む。
S600では、CPU62は、目標領域決定処理(後述の図7参照)を実行して、スキャン画像SI内において目標領域TA(S700の再配置画像RI参照)を決定する。スキャン画像SI内の目標領域TAは、処理済み画像PI内の目標領域TA(S800の処理済み画像PI参照)に一致する。従って、S600の処理は、処理済み画像PI内の目標領域TAを決定する処理に等しい。
S700では、CPU62は、再配置処理(後述の図9参照)を実行する。CPU62は、再配置領域RAを決定し、結合画像CIを表わす結合画像データを利用して、複数個の文字「A〜M」を再配置領域RA内に再配置することによって、再配置画像RIを表わす再配置画像データを生成する。
S800では、CPU62は、拡大処理(後述の図11、図12参照)を実行する。再配置画像RIを表わす再配置画像データを目標領域TAまで拡大して、拡大画像データを生成する。そして、CPU62は、拡大画像データを利用して、処理済み画像PIを表わす処理済み画像データPIDを生成する。処理済み画像PIでは各文字が拡大されて表現されるが、処理済み画像データPIDは、スキャン画像データSIDと同じ画素数を有する。
S900では、CPU62は、インターネット4を介して、処理済み画像データPIDを多機能機10に送信する。これにより、処理済み画像データPIDによって表わされる処理済み画像PIが対象印刷シートに印刷される。
(文字列解析処理;図4)
続いて、図4を参照して、図2のS100で実行される文字列解析処理の内容を説明する。S110では、CPU62は、スキャン画像データSIDに対して二値化処理を実行して、スキャン画像データSIDと同じ画素数を有する二値データBD(図4では一部のみが示されている)を生成する。具体的に、CPU62は、まず、スキャン画像データSIDを利用して、スキャン画像SIの背景色(本実施例では白色)を決定する。具体的には、CPU62は、スキャン画像データSID内の複数個の画素の画素値の頻度の分布を示すヒストグラムを生成する。そして、CPU62は、当該ヒストグラムを利用して、最高の頻度を有する画素値(以下では「最高頻度画素値」と呼ぶ)を特定することによって、背景色を決定する。次いで、CPU62は、スキャン画像データSID内の複数個の画素のそれぞれについて、当該画素の画素値が最高頻度画素値に一致する場合には、当該画素に対応する位置に存在するスキャン画像データSID内の画素の画素値として「0」を割り当て、当該画素の画素値が最高頻度画素値に一致しない場合には、当該画素に対応する位置に存在するスキャン画像データSID内の画素の画素値として「1」を割り当てる。この結果、スキャン画像データSIDに対応する「0」と「1」の画素値を有する画素によって構成される二値データBDが生成される。二値データBDでは、テキストオブジェクトTOBに含まれる各文字(例えば「A」,「B」)を表わす各画素が画素値「1」を示し、各写真オブジェクトOB1,OB2を表わす各画素が画素値「1」を示し、それ以外の各画素(即ち背景を表わす画素)が画素値「0」を示す。なお、以下では、二値データBD内の画素値「1」を示す画素、画素値「0」を示す画素のことを、それぞれ、「ON画素」、「OFF画素」と呼ぶ。
S120では、CPU62は、S110で生成された二値データBDに対してラべリング処理を実行して、二値データBDと同じ画素数を有するラベルデータLD(図4では一部のみが示されている)を生成する。具体的には、CPU62は、二値データBD内の複数個のON画素を1個以上のON画素群に分けて、当該1個以上のON画素群のそれぞれに異なる画素値(例えば「1」、「2」等)を割り当てる。1個のON画素群は、互いに隣接する1個以上のON画素によって構成される。即ち、CPU62は、ラべリング処理の対象の1個のON画素に隣接する8個の隣接画素の中に1個以上のON画素が含まれる場合には、当該対象の1個のON画素と、8個の隣接画素のうちの1個以上のON画素と、を同じON画素群として区分する(即ちグループ化する)。CPU62は、ラべリング処理の対象のON画素を変えながら各ON画素のグループ化を順次実行することによって、1個以上のON画素群を決定する。例えば、図4のラベルデータLDでは、文字「A」を表わす各ON画素(即ち1個のON画素群)に画素値「1」が割り当てられており、文字「B」を表わす各ON画素(即ち他の1個のON画素群)に画素値「2」が割り当てられている。
S130では、CPU62は、S120で生成されたラベルデータLDを利用して、上記の各ON画素群に対応する各単位領域を決定する。各単位領域は、対応する1個のON画素群に外接する矩形の領域である。CPU62は、例えば、図4のラベルデータLDを利用する場合には、画素値「1」が割り当てられているON画素群に外接する単位領域RE1(即ち文字「A」に対応する単位領域)と、画素値「2」が割り当てられているON画素群に外接する単位領域RE2(即ち文字「B」に対応する単位領域)と、を決定する。より具体的には、CPU62は、スキャン画像SIの中から、13個の文字「A」〜「M」に対応する13個の単位領域と、2個の写真オブジェクトOB1,OB2に対応する2個の単位領域と、の15個の単位領域を決定する。上記の単位領域の決定は、当該単位領域の各頂点を構成する各画素の位置をメモリ64に記憶することによって実行される。ただし、以下では、「領域(又は位置)の決定」に関する説明において、画素の位置をメモリ64に記憶することに関する説明を省略する。
S140では、CPU62は、S130で決定された15個の単位領域を利用して、スキャン画像SI内の複数個のオブジェクト領域を決定する。具体的には、CPU62は、15個の単位領域を複数個の単位領域群に区分し、各単位領域群に対応する各オブジェクト領域を決定する。1個の単位領域群は、近傍に存在する1個以上の単位領域によって構成される。CPU62は、2個の単位領域の間の距離(即ち画素数)が所定の距離未満である場合に、当該2個の単位領域を同じ単位領域群に区分する。上記の所定の距離は、スキャン画像データSIDの解像度に応じて予め決められている。例えば、本実施例では、スキャン画像データSIDが300dpiの解像度を有しており、300dpiの解像度に対応する上記の所定の距離は、10画素である。そして、図4のラベルデータLDでは、文字「A」に対応する単位領域RE1と、文字「B」に対応する単位領域RE2と、の間の距離は、3画素である。従って、CPU62は、単位領域RE1と単位領域RE2とを同じ単位領域群に区分する。これにより、CPU62は、近傍に存在する各文字、即ち、同じセンテンスを構成している各文字をグループ化することができる。より具体的には、CPU62は、スキャン画像SIについて、テキストオブジェクトTOB内の13個の文字「A」〜「M」に対応する13個の単位領域を含む単位領域群と、写真オブジェクトOB1に対応する単位領域を含む単位領域群と、写真オブジェクトOB2に対応する単位領域を含む単位領域群と、の3個の単位領域群を決定する。そして、CPU62は、3個の単位領域群のそれぞれについて、当該単位領域群に外接する矩形の領域をオブジェクト領域として決定する。即ち、CPU62は、スキャン画像データSIDの中から、ラベルデータLDを用いて決定された各オブジェクト領域に含まれる画像と同じ位置に配置されている画素を含む領域を、それぞれ、テキストオブジェクトTOB内の13個の文字「A」〜「M」を含むオブジェクト領域TOAと、写真オブジェクトOB1を含むオブジェクト領域OA1と、写真オブジェクトOB2を含むオブジェクト領域OA2と、の3つのオブジェクト領域として決定する。
S150では、CPU62は、S140で決定された3個のオブジェクト領域TOA,OA1,OA2のそれぞれについて、当該オブジェクト領域の種類を決定する。具体的には、CPU62は、各オブジェクト領域TOA,OA1,OA2が、文字を含むテキスト領域であるのか否かを判断する。CPU62は、まず、スキャン画像データSIDのうち、オブジェクト領域TOAを表わす部分画像データを構成する複数個の画素の画素値の頻度の分布を示すヒストグラムを生成する。そして、CPU62は、当該ヒストグラムを利用して、頻度がゼロより大きい画素値の数(即ち、オブジェクト領域TOAで利用されている色の数)を算出する。CPU62は、算出済みの数が所定数(例えば「10」)未満である場合には、オブジェクト領域OA1がテキスト領域であると判断し、算出済みの数が上記の所定数以上である場合には、オブジェクト領域TOAがテキスト領域でないと判断する。本実施例のオブジェクト領域TOAは、黒色の文字「A」〜「M」と、白色の背景と、を含む。従って、オブジェクト領域TOAに対応するヒストグラムでは、通常、黒色を示す画素値と白色を示す画素値とを含む2個の画素値のみの頻度がゼロより大きい。従って、CPU62は、オブジェクト領域TOAがテキスト領域であると判断する。一方、例えば、写真オブジェクトOB1では、通常、10色以上の色が利用されている。従って、オブジェクト領域OA1に対応するヒストグラムでは、通常、頻度がゼロより大きい画素値の数が上記の所定数以上になる。従って、CPU62は、オブジェクト領域OA2がテキスト領域でなく、写真オブジェクト領域であると判断する。同様に、CPU62は、オブジェクト領域OA2に対応するヒストグラムを利用して、オブジェクト領域OA2が写真オブジェクト領域であると判断する。
S160では、CPU62は、S150で決定された1個のテキスト領域TOAに対して帯状領域決定処理を実行する。ただし、CPU62は、写真オブジェクト領域OA1,OA2に対して帯状領域決定処理を実行しない。具体的には、CPU62は、まず、テキスト領域TOAに対応する射影ヒストグラムを生成する。当該射影ヒストグラムは、二値データBD(S110参照)を構成する複数個の画素のうち、テキスト領域TOAを表わす各画素を横方向に射影する場合におけるON画素(即ち「1」を示す画素)の頻度の分布を示す。換言すると、当該射影ヒストグラムは、スキャン画像データSIDのテキスト領域TOAを表わす各画素を横方向に射影する場合における文字の画素の頻度の分布を示す。射影ヒストグラムでは、1行の文字列が、頻度がゼロより大きい範囲(以下では「高頻度範囲」と呼ぶ)で表わされ、2行の文字列の間の行間が、頻度がゼロである範囲で表わされる。そして、CPU62は、射影ヒストグラムを利用して、1個以上の高頻度範囲に対応する1個以上の帯状領域を決定する。1個の帯状領域の縦方向の長さ(即ち縦方向の画素数)は、当該帯状領域に対応する高頻度範囲の縦方向の長さに等しい。また、1個の帯状領域の横方向の長さ(即ち横方向の画素数)は、オブジェクト領域OA1の横方向の長さに等しい。これにより、テキスト領域TOAの中から、文字列「A〜E」を含む帯状領域LA1と、文字列「F〜J」を含む帯状領域LA2と、文字列「K〜M」を含む帯状領域LA3と、の3個の帯状領域が決定される。S160が終了すると、図4の処理が終了する。
(単純拡大処理;図5)
続いて、図5を参照して、図2のS300で実行される単純拡大条件を満たすスキャン画像SI1の一例と、図2のS400で実行される単純拡大処理の内容を説明する。上述の文字列解析処理(図4参照)のS160では、帯状領域が決定される。図2に示すスキャン画像SIでは、1個のテキスト領域TOAの中から、3個の帯状領域LA1〜LA3が決定される。CPU62は、1個のテキスト領域の中から2個以上の帯状領域が決定される場合、テキスト領域に含まれる文字列が2行以上であると判断して(図2のS300でNO)、S500に進む。
一方、CPU62は、図5に示すように、1個のテキスト領域TOAの中から1個の帯状領域のみ(即ち帯状領域LA1のみ)が決定される場合、テキスト領域TOAに含まれる文字列が1行であると判断して(図2のS300でNO)、S400に進む。
S400の単純拡大処理では、CPU62は、テキスト領域TOAの面積を、予め画像処理サーバ50に設定されている目標倍率(例えば「1.4」)に拡大可能であるか否かを判断する。実験よって、元の文字が小さいサイズであっても、当該文字のサイズが1.4倍になれば、ヒトは、通常、拡大後の文字を認識し易いことが明らかとなった。このように、ヒトが認識し易い拡大率が上記の目標倍率として設定される。
CPU62は、スキャン画像SI内のテキスト領域TOAのアスペクト比を変更せずに、テキスト領域TOAの面積を、目標倍率で拡大された領域(以下では「単純拡大領域」と呼ぶ)が、余白領域BAに収まるのか否かを判断する。具体的には、CPU62は、テキスト領域TOAの縦方向の長さと横方向の長さとのそれぞれに、目標倍率の平方根(例えば√1.4)を乗算して、単純拡大領域の縦方向の長さと横方向の長さとして決定する。CPU62は、単純拡大領域の縦方向の長さが、余白領域BAの縦方向の長さよりも小さく、かつ、単純拡大領域の横方向の長さが、余白領域BAの横方向の長さよりも小さい場合に、単純拡大領域が、余白領域BAに収まると判断する。一方、CPU62は、単純拡大領域の縦方向の長さが、余白領域BAの縦方向の長さよりも大きい、または、単純拡大領域の横方向の長さが、余白領域BAの横方向の長さよりも大きい場合に、単純拡大領域が、余白領域BAに収まらないと判断する。
CPU62は、単純拡大領域が、余白領域BAに収まると判断される場合、目標倍率に拡大可能であると判断し、該単純拡大領域をテキスト領域TOAの目標領域TAとする。
一方、CPU62は、単純拡大領域が、余白領域BAに収まらないと判断される場合、目標倍率(例えば「1.4」)に拡大不可能であると判断する。この場合、CPU62は、テキスト領域TOA内のアスペクト比を変更せずに、余白領域BAに収まる最大になるような単純拡大領域をテキスト領域TOAの目標領域TAとして決定する。具体的には、CPU62は、テキスト領域TOAを、テキスト領域TOAの対角線に沿って右下方向に向かって徐々に拡大する。CPU62は、単純拡大領域の右辺又は下辺のどちらかが余白領域BAの右辺又は下辺と重なる位置まで、テキスト領域TOAを拡大することによって生成された単純拡大領域を、目標領域TAとして決定する。
次いで、CPU62は、決定された目標領域TAを用いてテキストオブジェクトTOBを表すテキストオブジェクトデータを拡大して、拡大画像を表わす拡大画像データを生成する。具体的には、テキストオブジェクトTOBを表すテキストオブジェクトデータに画素が補充されて、テキスト領域TOAの対角線が伸びる方向に決定された目標領域TAの右辺と下辺とそれぞれに重なるようにテキストオブジェクトTOBが拡大され、その結果、拡大画像を表わす拡大画像データが生成される。続いて、CPU62は、拡大画像データを、スキャン画像データSIDの余白領域BA内に上書きする。具体的には、CPU62は、目標領域TAの左辺と上辺とのそれぞれが、余白領域BAの左辺と上辺とのそれぞれに重なるように、拡大画像データを上書きする。この結果、処理済み画像PIを表わす処理済み画像データPIDが完成する。
以上の単純拡大処理によって、テキスト領域TOAのアスペクト比を維持しながら目標領域TAまで拡大できる。また、テキスト領域TOAに含まれる複数個の文字「A〜E」のレイアウトは、目標領域TAに含まれる拡大後の複数個の文字「A〜E」のレイアウトと等しい。「レイアウトが同じ」とは、テキスト領域TOAに含まれるM行(Mは1以上の整数)の文字列を構成する複数個の文字と、目標領域TAに含まれる拡大後のM行の文字列を構成する複数個の文字とを比較すると、文字数が等しく、かつ、各文字の倍率、文字間の隙間の倍率、行間の隙間の倍率が等しい。さらに言うと、「レイアウトが同じ」とは、スキャン画像SI1内のテキストオブジェクトTOBの外接矩形(即ちテキスト領域TOA)内の部分画像を拡大すると、処理済み画像データ内の拡大画像内のテキストオブジェクトを含む目標領域TA内の部分画像と一致するということもできる。
(結合処理;図6)
続いて、図6を参照して、図3のS500で実行される結合処理の内容を説明する。S510では、CPU62は、スキャン画像SI内の1個以上のテキスト領域のうちの1個のテキスト領域(以下では「対象テキスト領域」と呼ぶ)を処理対象として決定する。以下では、テキスト領域TOAが対象テキスト領域として決定される場合を例として説明する。
S520では、CPU62は、テキスト領域TOAに含まれる3行の文字列「A〜M」が結合されている結合画像CIを表わす結合画像データを生成する。具体的には、CPU62は、スキャン画像データSIDの中から、テキスト領域TOAについて決定された3個の帯状領域LA1〜LA3(図4のS160参照)を表わす3個の部分画像データを取得する。そして、CPU62は、3個の帯状領域LA1〜LA3内の3行の文字列「A〜M」が横方向に沿って直線状に結合されるように、取得済みの3個の部分画像データを結合して、結合画像CIを表わす結合画像データを生成する。この際に、CPU62は、結合される2行の文字列の間に横方向の所定の長さの余白(即ち、「E」と「F」の間の余白、及び、「J」と「K」の間の余白)が形成されるように、当該余白を表わす画素、即ち、スキャン画像SIの背景色を有する画素を補充して、結合画像データを生成する。即ち、CPU62は、補充される画素を介して、3個の部分画像データを結合して、結合画像CIを表わす結合画像データを生成する。なお、CPU62は、帯状領域LA3内の後端側の余白(即ち文字列「K〜M」よりも右側に存在する余白)が削除されるように、帯状領域LA3を表わす部分画像データのうちの当該余白を表わすデータを削除する。これにより、文字列「A〜M」よりも後端側に余白が存在しない結合画像CIを表わす結合画像データが生成される。
S530では、CPU62は、S520で生成された結合画像データに対して二値化処理を実行する。当該二値化処理の内容は、図4のS110と同様である。
S540では、CPU62は、S530で生成された二値データを利用して、S520で生成された結合画像データ内の複数個の分断候補位置を決定する。分断候補位置は、再配置処理(図3のS700、後述の図9参照)において、結合画像データを分断するための分断位置の候補である。CPU62は、まず、二値データを利用して、射影ヒストグラムを生成する。当該射影ヒストグラムは、二値データを構成する各画素を縦方向に射影する場合におけるON画素(即ち文字構成画素)の頻度の分布を示す。当該射影ヒストグラムでは、1個の文字(例えば「A」)が、頻度がゼロより大きい範囲で表わされ、2個の文字の間の余白部分(例えば「A」と「B」の間の余白部分)が、頻度がゼロである範囲(以下では「ゼロ頻度範囲」と呼ぶ)で表わされる。そして、CPU62は、射影ヒストグラムを利用して、各ゼロ頻度範囲の右端を分断候補位置として決定する。このように、2個の文字の間の余白部分が分断候補位置として決定されるので、1個の文字(例えば「A」)の中間で分断されてしまうことを抑制することができる。なお、変形例では、CPU62は、各ゼロ頻度範囲の左端を分断候補位置として決定してもよいし、各ゼロ頻度範囲の中間位置を分断候補位置として決定してもよい。
S550では、CPU62は、全てのテキスト領域について、S510〜S540の処理が終了したのか否かを判断する。CPU62は、処理が終了していないと判断する場合(S550でNO)には、S510において、未処理のテキスト領域を処理対象として決定する。CPU62は、処理が終了したと判断する場合(S550でYES)には、図6の処理を終了する。
(目標領域決定処理;図7)
続いて、図7を参照して、図3のS600で実行される目標領域決定処理の内容を説明する。S630では、CPU62は、拡大率ERとして初期値「1.0」を設定すると共に、回数ポインタTPとして初期値「1」を設定する。拡大率ERは、後述のS650の領域拡大処理でテキスト領域を拡大するための面積拡大率である。回数ポインタTPは、後述のS650の領域拡大処理が実行された回数を示すポインタである。従って、以下では、「TP回目の領域拡大処理」又は「(TP−1)回目の領域拡大処理」という用語を使用することがある。
S640では、CPU62は、拡大率ERの現在値(例えば「1.0」)に予め決められている固定値α(例えば「0.05」)を加えて、拡大率ERの新たな値(例えば「1.05」)を算出する。
S650では、CPU62は、領域拡大処理(後述の図8参照)を実行する。即ち、CPU62は、S640で算出された拡大率ERの現在値(例えば「1.05」)に従って、テキスト領域TOAを拡大して、各拡大領域を決定する。
S670では、CPU62は、S650で決定された拡大領域(例えば図8の拡大領域EA)が所定の条件を満たすのか否かを判断する。本実施例では、上記の所定の条件は、以下のとおりである。例えば、余白領域のサイズが比較的に小さい場合には、拡大率ERに従ってテキスト領域を拡大すると、拡大領域が余白領域BAに収まらない可能性がある。この場合、CPU62は、後述の図8の数式に従って、拡大領域を適切に決定することができないので、拡大領域が所定の条件を満たさないと判断する(S670でNO)。また、例えば、S650で複数個の拡大領域が決定される場合には、当該複数個の拡大領域のうちの2個の拡大領域が互いに重複する可能性がある。この場合、CPU62は、拡大領域が所定の条件を満たさないと判断する(S670でNO)。一方、CPU62は、拡大領域が余白領域BAに収まり、かつ、2個の拡大領域が互いに重複しない場合には、拡大領域が所定の条件を満たすと判断する(S670でYES)。
CPU62は、拡大領域が所定の条件を満たさないと判断する場合(S670でNO)には、S672において、(TP−1)回目の領域拡大処理で決定された拡大領域を目標領域TA(図3のS600参照)として決定する。なお、回数ポインタTPの現在値が「1」である場合には、S672では、CPU62は、テキスト領域TOAをそのまま目標領域TAとして決定する。S672が終了すると、図7の処理が終了する。
一方、CPU62は、拡大領域が所定の条件を満たすと判断する場合(S670でYES)には、S680において、拡大率ERの現在値が所定値(例えば「1.4」)に一致するのか否かを判断する。上記の所定値は、目標領域TAを決定するための最大の拡大率を意味し、換言すると、スキャン画像SI内の各文字のサイズを拡大するための目標の拡大率を意味する。
CPU62は、拡大率ERの現在値が上記の所定値に一致すると判断する場合(S680でYES)には、S682において、TP回目の領域拡大処理で決定された拡大領域を目標領域TA(例えば図3のS600の目標領域TA参照)として決定する。S682が終了すると、図5の処理が終了する。
一方、CPU62は、拡大率ERの現在値が上記の所定値に一致しないと判断する場合(S680でNO)には、S690において、回数ポインタTPの現在値に「1」を加算して、回数ポインタTPの新たな値を算出する。そして、CPU62は、S640以降の各処理を再び実行する。
(領域拡大処理;図8)
続いて、図8を参照して、図7のS650で実行される領域拡大処理の内容を説明する。領域拡大処理では、CPU62は、拡大率ERに従ってテキスト領域TOAを拡大して、拡大領域を決定する。
図8内の各矩形は、テキスト領域TOAと余白領域BAと拡大領域EAとを示す。テキスト領域TOAの横方向の長さ(即ち横方向の画素数)、縦方向の長さ(即ち縦方向の画素数)は、それぞれ、OPx、OPyである。余白領域BAの横方向の長さ(即ち横方向の画素数)、縦方向の長さ(即ち縦方向の画素数)は、それぞれ、BPx、BPyである。また、テキスト領域OAと余白領域BAとの間には、横方向の2個の余白(長さPx1,Px2)が存在すると共に、縦方向の2個の余白(長さPy1,Py2)が存在する。
CPU62は、図7内の数式(1)〜(8)を利用して、4個の対象長さdx1,dx2,dy1,dy2を算出することによって、拡大領域EAの位置、アスペクト比、及び、サイズを決定する。数式(1)は、テキスト領域TOAの面積SOと拡大率ERの現在値とを乗算することによって得られる値が、拡大領域EAの面積SCに一致することを示す。数式(2)は、テキスト領域TOAの面積SOが、テキスト領域TOAの横方向の長さOPxと縦方向の長さOPyとを乗算することによって得られることを示す。数式(3)は、拡大領域EAの面積SCが、テキスト領域TOAの横方向の長さOPxと2個の対象長さdx1,dx2との和と、テキスト領域TOAの縦方向の長さOPyと2個の対象長さdy1,dy2との和と、を乗算することによって得られることを示す。数式(4)は、数式(2)の面積SOと数式(3)の面積SCとを数式(1)に代入することによって得られる数式を示す。数式(5)は、4個の対象長さdx1,dx2,dy1,dy2のそれぞれが、4個の余白の長さPx1,Px2,Py1,Py2のそれぞれと係数Kとを乗算することによって得られることを示す。数式(6)は、数式(5)の各対象長さdx1,dx2,dy1,dy2を数式(4)に代入することによって得られる数式を示す。数式(7)は、数式(6)を展開することによって得られる数式を示す。数式(8)は、数式(7)の係数a,b,cを利用して、係数Kを算出するための数式を示す。係数Kを数式(5)に代入すれば、4個の対象長さdx1,dx2,dy1,dy2を算出することができる。
図8内の数式(1)〜(8)によると、以下の拡大領域EAが得られる。数式(5)によると、「dx1+dx2=K×(Px1+Px2)」という関係と、「dy1+dy2=K×(Py1+Py2)」という関係と、が得られる。従って、横方向の2個の余白の長さの和(即ちPx1+Px2)が、縦方向の2個の余白の長さの和(即ちPy1+Py2)よりも大きい場合に、横方向の差分長さ(即ちdx1+dx2)が縦方向の差分長さ(即ちdy1+dy2)よりも大きくなり、横方向の2個の余白の長さの和(即ちPx1+Px2)が、縦方向の2個の余白の長さの和(即ちPy1+Py2)よりも小さい場合に、横方向の差分長さ(即ちdx1+dx2)が縦方向の差分長さ(即ちdy1+dy2)よりも小さくなる。このように、横方向の2個の余白の長さPx1,Px2と、縦方向の2個の余白の長さPy1,Py2と、に基づいて、テキスト領域TOAのアスペクト比とは異なる拡大領域EAのアスペクト比と、拡大領域EAのサイズと、拡大領域EAの位置と、が決定される。そして、拡大領域EAが目標領域TAとして決定され得る(図7のS672,S682参照)。
(再配置処理;図9)
続いて、図9を参照して、図3のS700で実行される再配置処理の内容を説明する。S710では、CPU62は、スキャン画像SIに含まれる1個以上のテキスト領域のうちの1個のテキスト領域TOAを処理対象として決定する。以下では、S710で処理対象として決定されるテキスト領域のことを「対象テキスト領域」と呼ぶ。また、対象テキスト領域について決定された目標領域のことを「対象目標領域」と呼び、対象テキスト領域に含まれる各文字列が結合された結合画像(例えば図2のCI)を表わす結合画像データのことを「対象結合画像データ」と呼ぶ。
S720では、CPU62は、決定されるべき再配置領域(図3のRA参照)の候補である候補再配置領域の横方向の長さW(即ち横方向の画素数W)として、初期値OPx(即ち対象テキスト領域の横方向の長さ)を設定すると共に、候補再配置領域の縦方向の長さH(即ち縦方向の画素数H)として、初期値OPy(即ち対象テキスト領域の縦方向の長さ)を設定する。
S730では、CPU62は、候補再配置領域の縦方向の長さHに対する横方向の長さWの比W/Hが、対象目標領域の縦方向の長さTHに対する横方向の長さTWの比TW/TH未満であるのか否かを判断する。
CPU62は、比W/Hが比TW/TH未満であると判断する場合(S730でYES)には、S732において、候補再配置領域の横方向の現在の長さWに予め決められている固定値β(例えば1画素)を加算して、候補再配置領域の横方向の新たな長さWを決定する。S732が終了すると、S740に進む。
一方、CPU62は、比W/Hが比TW/TH以上であると判断する場合(S730でNO)には、S734において、候補再配置領域の横方向の現在の長さWから予め決められている固定値β(例えば1画素)を減算して、候補再配置領域の横方向の新たな長さWを決定する。S734が終了すると、S740に進む。なお、本実施例では、S732及びS734において、同じ固定値βが利用されるが、変形例では、S732の固定値とS734の固定値とは異なる値であってもよい。
S740では、CPU62は、スキャン画像データSIDの解像度に応じて、縦方向に沿った行間の長さm(即ち行間の画素数m)を決定する。例えば、CPU62は、スキャン画像データSIDの解像度が300dpiである場合には、行間の長さmとして1画素を決定し、スキャン画像データSIDの解像度が600dpiである場合には、行間の長さmとして2画素を決定する。即ち、CPU62は、スキャン画像データSIDの解像度が高くなる程、大きい行間の長さmを決定する。この構成によると、CPU62は、スキャン画像データSIDの解像度に応じた適切な大きさを有する行間の長さmを決定することができる。なお、変形例では、スキャン画像データSIDの解像度に関わらず、行間の長さmとして同じ値が採用されてもよい。
S750では、CPU62は、対象結合画像データと、S732又はS734で決定された候補再配置領域の横方向の新たな長さWと、に基づいて、行数決定処理を実行する(後述の図10参照)。行数決定処理では、CPU62は、対象結合画像(例えば図2のCI1)に含まれる複数個の文字(例えば「A〜M」)を候補再配置領域の中に再配置する場合における行数を決定する。
(行数決定処理;図10)
図10に示されるように、S751では、CPU62は、対象結合画像(例えば図11内のCI)の横方向の長さIWが、候補再配置領域の横方向の長さW以下であるのか否かを判断する。CPU62は、長さIWが長さW以下であると判断する場合(S751でYES)には、S752において、「1」を行数として決定する。対象結合画像CIに含まれる全ての文字「A〜M」が横方向に沿って直線状に並んだ状態で、全ての文字「A〜M」が候補再配置領域内に収まるからである。S752が終了すると、図10の処理が終了する。
一方、CPU62は、長さIWが長さWより大きいと判断する場合(S751でNO)には、対象結合画像CIに含まれる複数個の文字「A〜M」を複数行に分断して配置する必要がある。このために、CPU62は、S753及び754を実行して、図6のS540で決定された複数個の分断候補位置(例えば図10内の対象結合画像CIに付された複数個の矢印参照)の中から、1個以上の分断候補位置を選択する。
S753では、CPU62は、選択長さSWが候補再配置領域の横方向の長さW以下の最大の長さになるように、複数個の分断候補位置の中から1個の分断候補位置を選択する。1個の分断候補位置も未だに選択されていない状態では、選択長さSWは、対象結合画像CI1の先端と、選択されるべき分断候補位置と、の間の横方向の長さである。また、1個以上の分断候補位置が既に選択されている状態では、選択長さSWは、直近に選択された分断候補位置と、当該分断候補位置よりも後端に存在する新たに選択されるべき分断候補位置と、の間の横方向の長さである。図10の例では、文字「F」と文字「G」との間の分断候補位置が選択される。
S754では、CPU62は、残存長さRWが候補再配置領域の横方向の長さW以下であるのか否かを判断する。残存長さRWは、直近に選択された分断候補位置と、対象結合画像の後端と、の間の横方向の長さである。CPU62は、残存長さRWが長さWよりも大きいと判断する場合(S754でNO)には、S753に戻り、複数個の分断候補位置の中から。直近に選択された分断候補位置よりも後端側に存在する分断候補位置を新たに決定する。
一方、CPU62は、残存長さRWが長さW以下であると判断する場合(S754でYES)には、S455において、選択済みの分断候補位置の数に「1」を加算することによって得られる数を行数として決定する。S755が終了すると、図10の処理が終了する。
(再配置処理の続き;図9)
図9のS760では、CPU62は、S760内の数式に従って、候補再配置領域の縦方向の新たな長さHを決定する。S760内の数式において、「m」はS740で決定された行間の長さであり、「n」はS750で決定された行数であり、「h」は対象結合画像データの縦方向の長さである(図10内の結合画像CIのh参照)。
S770では、CPU62は、候補再配置領域のアスペクト比W/Hが対象目標領域のアスペクト比TW/THに近似するのか否かを判断する。具体的には、CPU62は、候補再配置領域のアスペクト比W/Hが、対象目標領域のアスペクト比TW/THに基づいて設定される所定範囲内に含まれるのか否かを判断する。上記の所定範囲は、対象目標領域のアスペクト比TW/THから値γを減算することによって得られる値と、対象目標領域のアスペクト比TW/THに値γを加算することによって得られる値と、の間の範囲である。なお、値γは、予め決められている固定値であってもよいし、TW/THに所定の係数(例えば0.05)を乗算することによって得られる値であってもよい。
CPU62は、候補再配置領域のアスペクト比W/Hが対象目標領域のアスペクト比TW/THに近似しないと判断する場合(S770でNO)には、S730〜S760の各処理を再び実行する。これにより、CPU62は、候補再配置領域の横方向の新たな長さWと縦方向の新たな長さHとを決定して、S770の判断を再び実行する。
一方、CPU62は、候補再配置領域のアスペクト比W/Hが対象目標領域のアスペクト比TW/THに近似すると判断する場合(S770でYES)には、S780において、まず、横方向の長さWと縦方向の長さHとを有する候補再配置領域を再配置領域(例えば図3のRA)として決定する。そして、CPU62は、図10のS753で1個以上の分断候補位置を選択済みである場合には、当該1個以上の分断候補位置で対象結合画像データを分断して、2個以上の分断画像を表わす2個以上の分断画像データを生成する。次いで、CPU62は、2個以上の分断画像が縦方向に沿って並ぶように、2個以上の分断画像データを再配置領域内に配置する。この際に、CPU62は、縦方向に沿って隣接する2個の分断画像の間にS740で決定された行間が形成されるように、2個の分断画像データを配置する。この結果、例えば、図3のS700に示されるように、複数個の文字「A」〜「M」が再配置領域RA内に再配置されている再配置画像RIを表わす再配置画像データが生成される。再配置画像RI1内の複数個の文字「A」〜「M」のサイズは、スキャン画像SI内の複数個の文字「A」〜「M」のサイズに等しい。
S790では、CPU62は、スキャン画像SIに含まれる全てのテキスト領域について、S710〜S780の処理が終了したのか否かを判断する。CPU62は、処理が終了していないと判断する場合(S790でNO)には、S710において、未処理のテキスト領域を処理対象として決定して、S712以降の各処理を再び実行する。そして、CPU62は、処理が終了したと判断する場合(S790でYES)には、図9の処理を終了する。
(ケースA;図11)
続いて、図11を参照して、図3のS700の再配置処理(図9参照)とS800の拡大処理について、具体的なケースAを説明する。(A1)に示されるように、候補再配置領域の横方向の長さWの初期値、縦方向の長さHの初期値として、それぞれ、対象テキスト領域TOAの横方向の長さOPx、縦方向の長さOPyが設定される(図9のS720)。本ケースでは、W/HがTW/TH未満である。即ち、対象目標領域TAは、対象テキスト領域TOAと比べると、横長の形状を有する。この場合、候補再配置領域を横長の形状にしていけば、候補再配置領域のアスペクト比が対象目標領域TAのアスペクト比に近づくことになる。従って、(A2)に示されるように、候補再配置領域の横方向の現在の長さWに固定値βが加算されて、候補再配置領域の横方向の新たな長さWが決定される(S732)。この場合、行数として、文字列「A〜E」と文字列「F〜J」と文字列「K〜M」とを含む3行が決定される(S750)。そして、候補再配置領域の縦方向の新たな長さHが決定される(S760)。
(A2)の状態では、候補再配置領域のアスペクト比W/Hが対象目標領域TAのアスペクト比TW/THに近似しないので(S770でNO)、候補再配置領域の横方向の現在の長さWに固定値βが再び加算されて、候補再配置領域の横方向の新たな長さWが再び決定される(S732)。この場合、行数として、文字列「A〜F」と文字列「G〜L」と文字列「M」とを含む3行が決定される(S750)。即ち、候補再配置領域の横方向の長さWが大きくなったことに起因して、候補再配置領域内の1行の文字列を構成することが可能な最大の文字数が増える。そして、候補再配置領域の縦方向の新たな長さHが決定される(S760)。以降、候補再配置領域のアスペクト比W/Hが対象目標領域TAのアスペクト比TW/THに近似する(S770でYES)と判断されるまで、S730〜S770の処理を繰り返し実行する。
(A3)に示されるように、候補再配置領域のアスペクト比W/Hが対象目標領域TAのアスペクト比TW/THに近似する(S770でYES)。なお、この場合、行数として、文字列「A〜G」と文字列「H〜M」とを含む2行が決定される(S750)。従って、(A4)に示されるように、(A3)の候補再配置領域が再配置領域RAとして決定される(S780)。この場合、再配置領域RAのアスペクト比W/Hは、通常、対象テキスト領域TOAのアスペクト比よりも対象目標領域TAのアスペクト比TW/THに近い。次いで、対象結合画像CIを表わす対象結合画像データが分断されて、2個の分断画像DI1、DI2を表わす2個の分断画像データが生成される(S780)。そして、2個の分断画像DI1、DI2が縦方向に沿って並び、かつ、隣接する2個の分断画像の間に長さmを有する行間が形成されるように、2個の分断画像データが再配置領域RI内に配置される。この結果、再配置画像RIを表わす再配置画像データが生成される(S780)。
次いで、再配置画像データが拡大されて、拡大画像を表わす拡大画像データが生成される(図3のS800)。具体的には、再配置画像RIの対角線が伸びる方向に再配置画像RIが拡大され、その結果、拡大画像を表わす拡大画像データが生成される。例えば、再配置領域RAのアスペクト比W/Hが対象目標領域TAのアスペクト比TW/THに等しい場合には、拡大画像の4個の辺の全てが、対象目標領域TAの4個の辺に一致する。即ち、この場合、拡大画像のサイズが目標領域TAのサイズに一致する。ただし、例えば、再配置領域RAのアスペクト比W/Hが対象目標領域TAのアスペクト比TW/THに等しくない場合には、再配置画像RIを徐々に拡大していく過程において、拡大画像のいずれかの辺が対象目標領域TAのいずれかの辺に一致した段階で、再配置画像RIの拡大が終了する。即ち、この場合、拡大画像のサイズが目標領域TAのサイズよりも小さくなる。
続いて、(A5)に示されるように、再配置画像RIを表わす再配置画像データが拡大された拡大画像データが、スキャン画像データSIDの目標領域TA内に上書きされる(図3のS800)。この結果、処理済み画像PIを表わす処理済み画像データPIDが完成する。処理済み画像PIでは、テキスト領域TOAに含まれる複数個の文字「A〜M」のレイアウトは、目標領域TAに含まれる拡大後の複数個の文字「A〜M」のレイアウトと異なる。なお、「レイアウトが異なる」とは、テキスト領域TOAに含まれるM行の文字列を構成する複数個の文字と、目標領域TAに含まれる拡大後のM行の文字列を構成する複数個の文字とを比較すると、文字数が異なっていることと、各文字の倍率、文字間の隙間の倍率、行間の隙間の倍率のうちの少なくともいずれかの倍率が異なっていることと、の少なくとも1個を満たす。さらに言うと、「レイアウトが異なる」とは、スキャン画像SI1内のテキストオブジェクトTOBの外接矩形(即ちテキスト領域TOA)内の部分画像を拡大すると、処理済み画像データ内の拡大画像内のテキストオブジェクトを含む目標領域TA内の部分画像と一致しないということもできる。
上述したように、本実施例では、図9のS740において、比較的に小さい行間の長さm(例えば1画素、2画素等)が決定され、当該行間の長さmが再配置画像RIで採用される。従って、再配置画像RI内の行間の長さmは、通常、スキャン画像SI内の行間の長さよりも小さい。この結果、再配置画像RI1が拡大されて得られる処理済み画像PI内の複数個の文字の縦方向の長さ(例えば文字「A」の縦方向の長さ)に対する行間の長さの比は、スキャン画像SI内の複数個の文字の縦方向の長さに対する行間の長さの比よりも小さくなる。このように、本実施例では、処理済み画像PI内の行間の長さを相対的に小さくすることができ、その分、処理済み画像PI内において、各文字を適切に拡大することができる。
(ケースB;図12)
続いて、図12を参照して、ケースBを説明する。(B1)に示されるように、本ケースでは、比W/Hが比TW/THよりも大きい。即ち、対象目標領域TAは、対象テキスト領域TOAと比べると、縦長の形状を有する。この場合、候補再配置領域を縦長の形状にしていけば、候補再配置領域のアスペクト比が対象目標領域TAのアスペクト比に近づくことになる。従って、(B2)に示されるように、候補再配置領域の横方向の現在の長さWから固定値βが減算されて、候補再配置領域の横方向の新たな長さWが決定される(S734)。この場合、行数として、文字列「A〜D」と文字列「E〜H」と文字列「I〜L」と文字列「M」とを含む4行と決定される(S750)。即ち、この場合、候補再配置領域の横方向の長さWが小さくなったことに起因して、候補再配置領域内の1行の文字列を構成することが可能な最大の文字数が減る。そして、候補再配置領域の縦方向の新たな長さHが決定される(S760)。
(B2)の状態では、候補再配置領域のアスペクト比W/Hが対象目標領域TAのアスペクト比TW/THに近似する(S770でYES)。従って、(B3)に示されるように、(B2)の候補再配置領域が再配置領域RAとして決定される(S780)。次いで、対象結合画像CIを表わす対象結合画像データが分断されて、4個の分断画像DI4〜DI7を表わす4個の分断画像データが生成される(S780)。そして、図11のケースAと同様に、再配置画像RIを表わす再配置画像データが生成され(S780)、(B4)に示されるように、再配置画像データが拡大された拡大画像データが生成され、当該拡大画像データがスキャン画像データSIDの目標領域TA内に上書きされる(図3のS800)。この結果、処理済み画像PIを表わす処理済み画像データPIDが完成する。処理済み画像PIでは、テキスト領域TOAに含まれる複数個の文字「A〜M」のレイアウトは、目標領域TAに含まれる拡大後の複数個の文字「A〜M」のレイアウトと異なる。
(第1実施例の効果)
本実施例によると、画像処理サーバ50は、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、の判断結果に応じて、テキストオブジェクトに含まれる複数個の文字のレイアウトを変更しない単純拡大処理(図2のS400)と、レイアウトが変更され得る拡大処理(図3のS500〜S800)と、のいずれかの拡大処理を実行することができる。このため、単純拡大処理を実行すべきと判断される場合に、処理済み画像データを生成する際に、テキストオブジェクトTOBに含まれる複数個の文字のレイアウトを替えずに済む。
また、本実施例によれば、図3に示すS500〜S800の処理を実行する前に、単純拡大条件を満たすのか否かを判断する。この結果、単純拡大条件を満たす場合に、画像処理サーバ50は、図3に示すS500〜S800の処理を実行せずに、拡大画像データを生成することができる。画像処理サーバ50の処理負荷を低減することができる。
また、テキストオブジェクトTOBに含まれる文字列が、1行のみで構成されている場合、文書の作成者が意図的に1行で記述している場合が多い。例えば、スキャン画像SIが、プレゼンテーションのスライドを表す画像である場合、スライドの表題が1行で記述されている場合がある。この場合、1行で記述されている文字列のレイアウトを、複数行の文字列に変更すると、文書の作成者の意図に反した変更となり得る。本実施例では、テキストオブジェクトTOBに含まれる文字列が、1行のみで構成されている場合テキストオブジェクトTOBに含まれる文字列のレイアウトを変更せずに、単純拡大処理が実行される。この結果、作成者の意図に反してレイアウトが変更されることを回避することができる。
(対応関係)
画像処理サーバ50が、「画像処理装置」の一例である。スキャン画像SI,SI1が、それぞれ、「原画像」の一例である。余白領域BAが、「スペース領域」の一例である。横方向、縦方向が、それぞれ、「第1方向」、「第2方向」の一例である。横方向の2個の余白の長さPx1,Px2、縦方向の2個の余白の長さPy1,Py2が、それぞれ、「第1方向に沿った2個の余白の長さ」、「第2方向に沿った2個の余白の長さ」の一例である。
図2のS400の単純拡大処理が「第1種の拡大処理」の一例であり、図3のS500〜S800までの処理が「第2種の拡大処理」の一例である。
図2のS300におけるテキスト領域TOAに含まれる文字列が1行であるのか否かを判断する構成が、「M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」構成の一例であり、「Mが1であるのか、Mが2以上であるのかを判断」する構成の一例である。また、図2のS300におけるテキスト領域TOAに含まれる文字列が1行であるのか否かを判断する構成は、「M行の文字列の特徴(あるいは、テキストオブジェクトの特徴)(本実施例ではテキストオブジェクトTOBの文字列の行数)に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」ということができる。
以下では、第2〜第6実施例について、第1実施例と異なる点を説明する。第2〜第6実施例では、図2のS300の処理の内容が第1実施例とは異なる。
(第2実施例;図13)
図13に示すように、画像処理サーバ50のCPU62は、S300において、スキャン画像データSI2のテキスト領域TOAを目標倍率(例えば1.4)に拡大した単純拡大領域が、図2のS200で決定された余白領域BAに収まるのか否かを判断する。具体的には、CPU62は、テキスト領域TOAの縦方向の長さと横方向の長さとのそれぞれに、目標倍率の平方根(例えば√1.4)を乗算し、単純拡大領域の縦方向の長さと横方向の長さとして決定する。CPU62は、単純拡大領域の縦方向の長さが、余白領域BAの縦方向の長さ以下であり、かつ、単純拡大領域の横方向の長さが、余白領域BAの横方向の長さ以下である場合に、単純拡大領域が余白領域BAに収まると判断する。一方、CPU62は、単純拡大領域の縦方向の長さが、余白領域BAの縦方向の長さよりも大きい場合、及び、単純拡大領域の横方向の長さが、余白領域BAの横方向の長さよりも大きい場合、の少なくとも一方の場合に、単純拡大領域が、余白領域BAに収まらないと判断する。
CPU62は、単純拡大領域が余白領域BAに収まると判断すると判断される場合(S300でYES)、該単純拡大領域を目標領域TAとして決定し、S400に進み、単純拡大領域が余白領域BAに収まらないと判断すると判断される場合(S300でNO)、図3のS500に進む。
S400では、CPU62は、第1実施例のS400と同様に、単純拡大処理を実行する。なお、本実施例では、S300において、テキスト領域TOAのアスペクト比を変更せずに、テキスト領域TOAの面積を、目標倍率に拡大することが可能であると判断されている。このため、CPU62は、S400において、テキスト領域TOAを、決定された目標領域TAまで目標倍率に拡大して、拡大画像を表わす拡大画像データを生成する。
本実施例によれば、図3に示すS500〜S800の処理を実行する前に、テキスト領域TOAを目標倍率に拡大可能であるのか否かを判断する。この結果、拡大可能である場合に、画像処理サーバ50は、図3に示すS500〜S800の処理を実行せずに、拡大画像データを生成することができる。画像処理サーバ50の処理負荷を低減することができる。
また、本実施例によれば、テキスト領域TOAに含まれる文字列のレイアウトを変更せずに、単純拡大処理が実行される。この結果、作成者の意図に反してレイアウトが変更されることを回避することができる。
(対応関係)
目標倍率の平方根が「目標値」の一例であり、目標領域TAの横方向の長さ、縦方向の長さが、それぞれ、「第1の長さ」、「第2の長さ」の一例である。余白領域BAの横方向の長さ、縦方向の長さが、それぞれ、「スペース領域の第1方向に沿った長さ」、「スペース領域の前記第2方向に沿った長さ」の一例である。目標領域TAの縦方向の長さが、余白領域BAの縦方向の長さよりも小さく、かつ、目標領域TAの横方向の長さが、余白領域BAの横方向の長さよりも小さいことが、「特定の条件」の一例である。
(第3実施例;図14)
図14に示すように、画像処理サーバ50のCPU62は、S300において、テキスト領域TOAに含まれるテキストオブジェクトTOBが、箇条書きで表現されているのか否かを判断する。
具体的には、CPU62は、まず、スキャン画像SI3に含まれるテキスト領域TOAに対応する射影ヒストグラムを生成する。なお当該射影ヒストグラムは、スキャン画像SI3から生成された二値データBD(S110参照)を構成する複数個の画素のうち、テキスト領域TOAに含まれる複数個の帯状領域LA1〜LA4(S160参照)のそれぞれについて、当該帯状領域LA1〜LA4を表わす各画素を縦方向に射影する場合におけるON画素の頻度の分布を示す。換言すると、当該射影ヒストグラムは、テキスト領域TOAを表わす各画素を縦方向に射影する場合における文字の画素の頻度の分布を示す。射影ヒストグラムでは、各行の文字列に含まれる1個以上の文字のそれぞれが、高頻度範囲で表わされ、2個の文字の間が、頻度がゼロである範囲で表わされる。また、各行の文字列の最終文字の後端から、当該行の帯状領域の後端までは、頻度がゼロである範囲で表わされる。
本実施例の射影ヒストグラムは、詳細には、帯状領域LA1〜LA4において、横方向に並ぶ各画素について、縦方向に射影する場合におけるON画素の頻度が示される(図14の(1)、(2)参照)。CPU62は、帯状領域LA1〜LA4のそれぞれについて生成されたヒストグラムから、先端に位置する高頻度範囲である先端高頻度範囲FH1〜FH4を抽出する。次いで、図14の(1)、(2)に示すように、CPU62は、先端高頻度範囲FH1内の各位置のON画素の頻度と先端高頻度範囲FH4の同じ位置のON画素の頻度とのそれぞれについて、各位置のON画素の頻度の差を算出し、それらの差の総和Dを決定する。
CPU62は、先端高頻度範囲FH1と先端高頻度範囲FH2、先端高頻度範囲FH1と先端高頻度範囲FH3のそれぞれについても、同様に総和Dを決定する。次いで、決定された3個の総和の全てが予め決められた閾値(例えば「5」)以下である場合に、テキストオブジェクトTOBが、箇条書きで表現されていると判断して(S300でYES)、CPU62は、単純拡大処理を実行する。一方、決定された3個の総和の全てが予め決められた閾値より大きい場合に、テキストオブジェクトTOBが、箇条書きで表現されていないと判断して(S300でNO)、CPU62は、S500以降の処理を実行する。単純拡大処理では、CPU62は、第1実施例と同様の処理を実行することによって、拡大画像データを生成する。
本実施例によれば、図3に示すS500〜S800の処理を実行する前に、テキストオブジェクトTOBが箇条書きで表現されているのか否かを判断する。この結果、拡大可能である場合に、画像処理サーバ50は、図3に示すS500〜S800の処理を実行せずに、拡大画像データを生成することができる。画像処理サーバ50の処理負荷を低減することができる。
テキストオブジェクトTOBが箇条書きで表現されている場合、テキストオブジェクトTOBに含まれる複数個の文字のレイアウトを変更すると、箇条書きが不明確になり得る。本実施例では、テキストオブジェクトTOBが箇条書きで表現されていると判断される場合、テキストオブジェクトTOBに含まれる複数個の文字のレイアウトを変更せずに、単純拡大処理が実行される。この結果、箇条書きで表現されている複数個の文字のレイアウトが変更されることを回避することができる。
本実施例では、先端高頻度範囲FH1〜FH4に基づいて、単純拡大処理を実行すべきか、S500以降の処理を実行すべきか、を判断する構成が、「M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」の一例である。また、この構成は、「M行の文字列の特徴(あるいは、テキストオブジェクトの特徴)(即ちテキストオブジェクトの射影ヒストグラム)に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」ということができる。
(第4実施例;図15)
図15に示すように、画像処理サーバ50のCPU62は、S300において、テキスト領域TOAに含まれる各行の文字列の後端の余白のばらつきが大きいのか否かを判断する。
具体的には、CPU62は、第3実施例と同様に、まず、帯状領域LA1〜LA4のそれぞれについて、射影ヒストグラムを生成する。次いで、CPU62は、帯状領域LA1の射影ヒストグラムのうち、最も後ろ側に位置する高頻度範囲の後端から、帯状領域LA1の右端までの距離BL1を特定する。これにより、1行目の文字列の余白の長さを特定する。なお、距離BL1は、画素数で特定される。
次いで、CPU62は、他の帯状領域LA2〜LA4のそれぞれについて、同様に、距離BL2〜BL4を特定する。次いで、CPU62は、距離BL1〜BL4の平均値と距離BL1〜BL4のそれぞれの差の絶対値の合計が、閾値(例えば100)以上である場合、テキスト領域TOAに含まれる各行の文字列の後端の余白のばらつきが大きいと判断して(S300でYES)、単純拡大処理を実行する。一方、CPU62は、距離BL1〜BL4の平均値と距離BL1〜BL4のそれぞれの差の絶対値の合計が、閾値未満である場合、テキスト領域TOAに含まれる各行の文字列の後端の余白のばらつきが小さいと判断して(S300でNO)、CPU62は、S500以降の処理を実行する。単純拡大処理では、CPU62は、第1実施例と同様に処理を実行することによって、拡大画像データを生成する。
各行の後端に位置する余白のばらつきが大きい場合、文書の作成者が意図的に改行されている場合が多い。例えば、図15に示すように、箇条書きの場合には、各行に記述される項目の長さに応じて、各行の余白の長さはばらつく。また、例えば、図19に示すように、テキスト領域TOA内には、レターの宛て先が記述されている。このような場合、テキストオブジェクトTOBに含まれる複数個の文字のレイアウトを変更すると、文書の作成者の意図に反してレイアウトを変更することになり得る。本実施例では、各行の後端に位置する余白のばらつきが大きい場合、テキストオブジェクトTOBに含まれる文字列のレイアウトを変更せずに、単純拡大処理が実行される。この結果、作成者の意図に反してレイアウトが変更されることを回避することができる。
(対応関係)
各帯状領域LA1〜LA4の射影ヒストグラムのうち、最も後ろ側に位置する高頻度範囲の後端が「1行の文字列の一端」の一例であり、各帯状領域LA1〜LA4の右端が「テキスト領域の境界」の一例である。距離BL1〜BL4が「余白の長さ」の一例である。距離BL1〜BL4の平均値と距離BL1〜BL4のそれぞれの差の絶対値の合計が、M行の文字列について算出されるM個の余白の長さのばらつきの一例であり、閾値が「所定のばらつき」の一例である。
本実施例では、距離BL1〜BL4に基づいて、単純拡大処理を実行すべきか、S500以降の処理を実行すべきか、を判断する構成が、「M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」の一例である。また、この構成は、「M行の文字列の特徴(あるいは、テキストオブジェクトの特徴)(即ち余白の長さ)に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」ということができる。
本実施例のテキスト領域TOAに含まれる各行の文字列の後端の余白の長さのばらつきを用いることに代えて、各行の文字列の先端の余白の長さのばらつきを用いて、単純拡大処理を実行すべきか、S500以降の処理を実行すべきか、を判断してもよい。この場合、CPU62は、帯状領域LA1〜LA4のそれぞれについて、当該帯状領域の射影ヒストグラムのうち、最も前側に位置する高頻度範囲の先端から、当該帯状領域の左端までの距離(即ち余白の長さ)を特定してもよい。この構成によると、例えば、各行の文字列が、中央揃えに配置されている場合(例えばレストランのコースメニュー)に、作成者の意図に反してレイアウトが変更されることを回避することができる。テキストオブジェクトTOBに含まれる複数個の文字のレイアウトの先端の余白の長さが、「1行の文字列の一端とテキスト領域の境界との間の第1方向に沿った余白の長さ」の一例である。
(第5実施例;図16)
図16に示すように、画像処理サーバ50のCPU62は、S300において、テキスト領域TOAに含まれる文字列の行の中に、行の幅(即ち縦方向の長さ)が、他の行の幅と比較して、極端に大きい行が存在するのか否かを判断する。
具体的には、CPU62は、まず、テキスト領域TOAに含まれる複数個の帯状領域LA1〜LA4(S160参照)のそれぞれについて、当該帯状領域LA1〜LA4の幅LH1〜LH4を特定する。なお、幅LH1〜LH4は、画素数で表される。図16に示すように、先頭の「A」の文字が、他の文字で構成される2行、即ち「B〜E」の行と、「F〜I」の行と、に亘って記述されている。この場合、S160では、文字「A」と、「B〜E」の行と、「F〜I」の行と、を含む1個の帯状領域LA1が決定される。
次いで、CPU62は、幅LH1〜LH4のうち、幅LH1〜LH4の平均のK倍(例えばK=1.5)以上のものが含まれている場合、行の幅が極端に大きい行が存在すると判断して(S300でYES)、単純拡大処理を実行する。一方、CPU62は、幅LH1〜LH4のうち、幅LH1〜LH4の平均のK倍以上のものが含まれていない場合、行の幅が極端に大きい行が存在しないと判断して(S300でNO)、S500以降の処理を実行する。単純拡大処理では、CPU62は、第1実施例と同様に処理を実行することによって、拡大画像データを生成する。
この構成によると、テキスト領域TOAに含まれる複数個の文字に、他の文字と比較して極端に大きい特定文字(例えば「A」)が含まれているのか否かを判断することができる。例えば、新聞や雑誌の記事では、センテンスの先頭の文字のみを、他の文字より大きく表記する場合がある。この場合、例えば、S500以降の処理が実行されて拡大処理が実行されると、帯状領域LA1と帯状領域LA2とが結合されるケースがある。このケースでは、2行で表記されている文字列が、文字「J」以降、突然に1行で表記され、読みづらい。本実施例では、上記の状況を回避することができる。また、本実施例によれば、テキスト領域TOAに含まれる文字列のレイアウトを変更せずに、単純拡大処理が実行される。この結果、作成者の意図に反してレイアウトが変更されることを回避することができる。
本実施例では、他の行の幅と比較して極端に大きい幅の行が含まれているのか否かに基づいて、単純拡大処理を実行すべきか、S500以降の処理を実行すべきか、を判断する構成が、「M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」の一例である。また、この構成は、「M行の文字列の特徴(あるいは、テキストオブジェクトの特徴)(即ちテキストオブジェクトTOBに含まれる文字列の行の幅)に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」ということができる。
(第6実施例;図17)
図17に示すように、画像処理サーバ50のCPU62は、S300において、テキスト領域TOAの背景色が、スキャン画像SI6の背景色と異なるのか否かを判断する。
本実施例の文字列解析処理では、CPU62は、第1実施例の文字列解析処理と同様に、S110〜S150の処理を実行する。S110の二値化処理では、背景色として、白色を示す最高頻度画素値が決定されている。この結果、二値データBDでは、テキスト領域TOA内の各画素は、各写真オブジェクトOB1,OB2の各画素と同様に、画素値「1」を示す。このため、S120のラベリング処理及びS130の矩形領域決定処理では、テキストオブジェクトTOBに対応する1個の単位領域が決定される。
次いで、S150の種類決定処理において、スキャン画像SI6のオブジェクト領域TOAに対応するヒストグラムでは、通常、黒色を示す画素値と黄色を示す画素値とを含む2個の画素値(例えば輝度値)のみの頻度がゼロより大きい。従って、CPU62は、オブジェクト領域TOAがテキスト領域であると判断する。しかし、テキスト領域TOAの各画素が画素値「1」であるため、S160によって、帯状領域は決定されない。
S200において、CPU62は、S110で生成された二値データBDのうち、S150において、テキスト領域TOAの全ての画素が画素値「1」である場合、テキスト領域TOAの背景色が、スキャン画像SIの背景色と異なると判断して(S300でYES)、単純拡大処理を実行する。一方、CPU62は、S110で生成された二値データBDのうち、テキスト領域TOA内に、画素値「0」の画素を含む場合、テキスト領域TOAの背景色が、スキャン画像SIの背景色と同じであると判断して(S300でNO)、S500以降の処理を実行する。単純拡大処理では、CPU62は、第1実施例と同様に処理を実行することによって、拡大画像データを生成する。
例えば、プレゼンテーション資料の見出しを目立たせるために、テキスト領域TOAの背景色を変更する場合がある。この場合、テキストオブジェクトTOBに含まれる複数個の文字のレイアウトを変更すると、文書の作成者の意図に反してレイアウトを変更することになり得る。本実施例では、テキスト領域TOAの背景色が、スキャン画像SIの背景色と異なる場合に、テキストオブジェクトTOBに含まれる文字列のレイアウトを変更せずに、単純拡大処理が実行される。この結果、作成者の意図に反してレイアウトが変更されることを回避することができる。
本実施例では、テキスト領域TOAの背景色が、スキャン画像SIの背景色と異なるのか否かに基づいて、単純拡大処理を実行すべきか、S500以降の処理を実行すべきか、を判断する構成が、「M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」の一例である。また、この構成は、「M行の文字列の特徴(テキストオブジェクトの特徴)(本実施例では、テキスト領域TOAの背景色)に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」ということができる。
本実施例では、背景色を判断する画素値として、輝度値が例示されている。しかしながら、背景色を判断する画素値は、輝度値でなくてもよい。例えば、背景色を判断する画素値は、RGBのうちの少なくとも1色の値であってもよい。例えば、S200において、CPU62は、スキャン画像データSID内の複数個の画素のR値の頻度の分布を示すヒストグラムを生成し、最高の頻度を有するR値を特定してもよい。また、CPU62は、テキスト領域TOAに含まれる複数個の画素のR値の頻度の分布を示すヒストグラムを生成し、最高の頻度を有するR値を特定してもよい。そして、特定された2個のR値が閾値(例えば100)以上である場合、テキスト領域TOAの背景色が、スキャン画像SIの背景色と異なると判断し(S300でYES)、特定された2個のR値が閾値未満である場合、テキスト領域TOAの背景色が、スキャン画像SIの背景色と等しいと判断してもよい(S300でNO)。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の第3実施例では、画像処理サーバ50は、センテンスの進行方向の先端に位置する先端高頻度範囲FH1〜FH4を用いて、箇条書きで表現されているのか否かを判断する。しかしながら、例えば、図18に示すように、テキストオブジェクトTOBが、各行の1文字目が数字であり、2文字目が「.」を用いた箇条書きで表現されている場合に、画像処理サーバ50は、帯状領域LA1〜LA4のそれぞれについて生成されたヒストグラムから、センテンスの進行方向(即ち左から右)の先端から2つめの高頻度範囲を用いて、第3実施例と同様にして、箇条書きであるのか否かを判断してもよい。本変形例の構成は、「M個の射影ヒストグラムを用いて、M行の文字列が箇条書きによって表現されているのか否か」の一例である。
(変形例2)上記の各実施例では、多機能機10は、カラーコピー機能の実行指示がユーザから与えられる場合に、スキャン対象の画像を表わすシート(以下では「スキャン対象シート」と呼ぶ)をカラースキャンして、スキャン画像データSIDを生成するとともに、OCR(Optical Character Recognitionの略)を実行することによって、テキストオブジェクトTOBに含まれる文字を表す文字データを生成してもよい。多機能機10は、生成済みのスキャン画像データSIDと、文字データと、を画像処理サーバ50に送信してもよい。この場合、例えば、第3実施例において、画像処理サーバ50は、文字データを用いて、各行の先頭に「・」が配置されている場合に、テキストオブジェクトTOBが、箇条書きで表現されていると判断してもよい。本変形例の構成は、「M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する」構成の一例である。
(変形例3)上記の第2実施例では、画像処理サーバ50が、スキャン画像データSIDに対して画像処理(即ち図2,3のS100〜S800の各処理)を実行して処理済み画像データPIDを生成し、当該処理済み画像データPIDを多機能機10に送信する(S900)。これに代えて、多機能機10が、スキャン画像データSIDに対して画像処理を実行して処理済み画像データPIDを生成してもよい(即ち画像処理サーバ50が存在しなくてもよい)。本変形例では、多機能機10が、「画像処理装置」の一例である。
(変形例4)画像処理サーバ50によって実行される画像処理の対象は、スキャン画像データSIDでなくてもよく、文書作成ソフト、表編集ソフト、描画作成ソフト等によって生成されるデータであってもよい。即ち、「原画像データ」は、スキャン対象シートのスキャンによって得られるデータに限られず、他の種類のデータであってもよい。
(変形例5)処理済み画像データPIDは、多機能機10での印刷に利用されるデータでなくてもよく、例えば、ディスプレイでの表示に利用されるデータであってもよい。一般的に言うと、処理済み画像データPIDによって表わされる処理済み画像PIは、出力(印刷、表示等)のための画像であればよい。
(変形例6)上記の実施例では、スキャン画像SIは、横方向の左側から右側に向かってセンテンスが進むと共に、縦方向の上側から下側に向かってセンテンスが進む文字列(即ち横書きの文字列)を含む。これに代えて、スキャン画像SIは、縦方向の上側から下側に向かってセンテンスが進むと共に、横方向の右側から左側に向かってセンテンスが進む文字列(即ち縦書きの文字列)を含んでいてもよい。この場合、画像処理サーバ50は、図4のS160において、横方向の射影ヒストグラムに基づいて、通常、帯状領域を決定することができない。このために、画像処理サーバ50は、さらに、縦方向の射影ヒストグラムを生成して、帯状領域を決定する。その後、画像処理サーバ50は、横方向の代わりに縦方向を利用し、縦方向の代わりに横方向を利用して、上記の実施例と同様の処理を実行すればよい。本変形例では、縦方向、横方向が、それぞれ、「第1方向」、「第2方向」の一例である。
(変形例7)上記の実施例では、画像処理サーバ50のCPU62がプログラム66(即ちソフトウェア)を実行することによって、図2〜図17の各処理が実現される。これに代えて、図2〜図17の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、4:インターネット、10:多機能機、50:画像処理サーバ、52:ネットワークインターフェース、60:制御部、62:CPU、64:メモリ、66:プログラム、SI:スキャン画像、PI:処理済み画像、TOB:テキストオブジェクト、OB1,OB2:写真オブジェクト、TOA:テキストオブジェクト領域(テキスト領域)、OA1,OA2:写真オブジェクト領域、LA1〜LA14:帯状領域、BA:余白領域、EA:拡大領域、TA:目標領域、RA:再配置領域、SID:スキャン画像データ、CI:結合画像、PID:処理済み画像データ

Claims (21)

  1. 画像処理装置であって、
    原画像を表わす原画像データを取得する取得部であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得部と、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行部であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行部と、を備え、
    前記画像処理実行部は、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断部と、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成部であって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成部と、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成部であって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる前記第2の生成部と、を備え、
    前記判断部は、
    前記Mが1であるのか、前記Mが2以上であるのか、を判断し、
    前記Mが1であると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記Mが2以上であると判断される場合に、前記第2種の拡大処理を実行すべきと判断する、画像処理装置。
  2. 画像処理装置であって、
    原画像を表わす原画像データを取得する取得部であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得部と、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行部であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行部と、を備え、
    前記画像処理実行部は、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断部と、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成部であって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成部と、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成部であって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる前記第2の生成部と、を備え、
    前記Mは、2以上の整数であり、
    前記判断部は、
    前記M行の文字列が箇条書きによって表現されているのか否かを判断し、
    前記M行の文字列が前記箇条書きによって表現されていると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記M行の文字列が前記箇条書きによって表現されていないと判断される場合に、前記第2種の拡大処理を実行すべきと判断する、画像処理装置。
  3. 前記M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並び、
    前記原画像データを構成する複数個の原画素は、前記M行の文字列を表わす複数個の文字列画素と、前記M行の文字列の背景を表わす複数個の背景画素と、を含み、
    前記判断部は、
    前記原画像データを利用して、前記M行の文字列を含むM個の文字列領域に対応するM個の射影ヒストグラムを生成し、前記M個の射影ヒストグラムを用いて、前記M行の文字列が箇条書きによって表現されているのか否かを判断し、
    前記M個の射影ヒストグラムのそれぞれは、対応する文字列領域を構成する各原画素を前記第1方向に直交する第2の方向に沿って射影する場合における前記文字列画素の頻度の分布に相当するヒストグラムである、請求項2に記載の画像処理装置。
  4. 画像処理装置であって、
    原画像を表わす原画像データを取得する取得部であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得部と、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行部であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行部と、を備え、
    前記画像処理実行部は、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断部と、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成部であって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成部と、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成部であって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる前記第2の生成部と、を備え、
    前記Mは、2以上の整数であり、
    前記M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並び、
    前記判断部は、
    前記M行の文字列のそれぞれについて、当該1行の文字列の一端と前記M行の文字列を含むテキスト領域の境界との間の前記第1方向に沿った余白の長さを算出し、
    前記M行の文字列について算出されるM個の余白の長さのばらつきが、所定のばらつきよりも大きいのか否かを判断し、
    前記M個の余白の長さのばらつきが、前記所定のばらつきよりも大きいと判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記M個の余白の長さのばらつきが、前記所定のばらつき以下であると判断される場合に、前記第2種の拡大処理を実行すべきと判断する、画像処理装置。
  5. 画像処理装置であって、
    原画像を表わす原画像データを取得する取得部であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得部と、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行部であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行部と、を備え、
    前記画像処理実行部は、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断部と、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成部であって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成部と、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成部であって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる前記第2の生成部と、を備え、
    前記M行の文字列を含むテキスト領域は、背景色を有し、
    前記判断部は、
    前記テキスト領域の前記背景色が、前記原画像内の背景色と異なるのか否かを判断し、
    前記テキスト領域の前記背景色が、前記原画像内の前記背景色と異なると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記テキスト領域の前記背景色が、前記原画像内の前記背景色と同じであると判断される場合に、前記第2種の拡大処理を実行すべきと判断する、画像処理装置。
  6. 画像処理装置であって、
    原画像を表わす原画像データを取得する取得部であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得部と、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行部であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行部と、を備え、
    前記画像処理実行部は、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断部と、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成部であって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成部と、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成部であって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる前記第2の生成部と、
    前記原画像に含まれる複数個のオブジェクトを含む複数のオブジェクト領域を決定するオブジェクト領域決定部であって、前記複数のオブジェクト領域は、前記M行の文字列を含むテキスト領域を含む、前記オブジェクト領域決定部と、
    前記テキスト領域を包含し、かつ、前記複数個のオブジェクト領域のうちの他のオブジェクト領域に重複しないスペース領域を決定するスペース領域決定部と、を備え、
    前記第2の生成部は、
    前記スペース領域に基づいて、前記テキスト領域のアスペクト比とは異なるアスペクト比を有する目標領域を決定し、
    前記N行の拡大文字列が前記目標領域内に配置されている前記第2種の処理済み画像を表わす前記第2種の処理済み画像データを生成する、画像処理装置。
  7. 画像処理装置であって、
    原画像を表わす原画像データを取得する取得部であって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得部と、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行部であって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行部と、を備え、
    前記画像処理実行部は、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断部と、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成部であって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成部と、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成部であって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる前記第2の生成部と、を備え、
    前記M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並び、
    前記画像処理実行部は、さらに、
    前記M行の文字列を含むテキスト領域を包含するスペース領域を決定するスペース領域決定部を備え、
    前記第2の生成部は、
    前記テキスト領域と前記スペース領域との間の前記第1方向に沿った2個の余白の長さと、前記第1方向に直交する第2方向に沿った2個の余白の長さと、に基づいて、前記テキスト領域のアスペクト比とは異なるアスペクト比を有する目標領域を決定し、
    前記N行の文字列が前記目標領域内に配置されている前記第2種の処理済み画像を表わす前記第2種の処理済み画像データを生成する、画像処理装置。
  8. 前記画像処理実行部は、さらに、
    前記M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並び、
    前記判断部は、
    前記テキスト領域の前記第1方向に沿った長さに1より大きな目標値を乗算することによって得られる第1の長さが、前記スペース領域の前記第1方向に沿った長さ以下であり、かつ、前記テキスト領域の前記第1方向に直交する第2方向に沿った長さに前記目標値を乗算することによって得られる第2の長さが、前記スペース領域の前記第2方向に沿った長さ以下であるという特定の条件が満たされるのか否かを判断し、
    前記特定の条件が満たされる場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記特定の条件が満たされない場合に、前記第2種の拡大処理を実行すべきと判断する、請求項6又は7に記載の画像処理装置。
  9. 前記判断部は、
    前記M行の文字列に特定文字が含まれるのか否かを判断し、
    前記M行の文字列に特定文字が含まれると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記M行の文字列に前記特定文字が含まれないと判断される場合に、前記第2種の拡大処理を実行すべきと判断し、
    前記特定文字は、前記複数個の文字の文字サイズに応じて設定された閾値よりも大きいサイズを有する文字である、請求項6又は7に記載の画像処理装置。
  10. 前記第1種の処理済み画像内の前記M行の拡大文字列のそれぞれの行の文字数は、前記原画像内の前記M行の文字列の対応する行の文字数と等しく、
    前記第2種の処理済み画像内の前記N行の拡大文字列のうちの先頭行の文字数は、前記原画像内の前記M行の文字列のうちの先頭行の文字数と異なる、請求項1から9のいずれか一項に記載の画像処理装置。
  11. 前記第2の生成部は、前記M行よりも少ない前記N行の拡大文字列を構成する前記複数個の文字を含む前記第2種の処理済み画像を表す前記第2の処理済み画像データを生成し、前記N行の拡大文字列のうちの先頭行の文字数が、前記原画像内の前記M行の文字列のうちの先頭行の文字数よりも多い、請求項1から10のいずれか一項に記載の画像処理装置。
  12. 前記第2の生成部は、前記M行よりも多い前記N行の拡大文字列を構成する前記複数個の文字を含む前記第2種の処理済み画像を表す前記第2の処理済み画像データを生成し、前記N行の拡大文字列のうちの先頭行の文字数が、前記原画像内の前記M行の文字列のうちの先頭行の文字数よりも少ない、請求項1から10のいずれか一項に記載の画像処理装置。
  13. 前記第1種の処理済み画像内の前記M行の拡大文字列を含む領域のアスペクト比は、前記原画像内の前記M行の文字列を含む領域のアスペクト比と等しく、
    前記第2種の処理済み画像内の前記N行の拡大文字列を含む領域のアスペクト比は、前記原画像内の前記M行の文字列を含む領域のアスペクト比と異なる、請求項1から12のいずれか一項に記載の画像処理装置。
  14. 前記第1の生成部は、前記第1種の拡大処理を実行して、前記原画像内の前記複数個の文字が拡大され、かつ、前記原画像に含まれる前記複数個の文字以外のオブジェクトが拡大されていない前記第1種の処理済み画像を表す前記第1種の処理済み画像データを生成する、請求項1から13のいずれか一項に記載の画像処理装置。
  15. 前記第2の生成部は、前記第2種の拡大処理を実行して、前記原画像内の前記複数個の文字が拡大され、かつ、前記原画像に含まれる前記複数個の文字以外のオブジェクトが拡大されていない前記第2種の処理済み画像を表す前記第2種の処理済み画像データを生成する、請求項1から14のいずれか一項に記載の画像処理装置。
  16. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各ステップ、即ち、
    原画像を表わす原画像データを取得する取得ステップであって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得ステップと、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行ステップであって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行ステップと、を実行させ、
    前記画像処理実行ステップは、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断ステップと、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成ステップであって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成ステップと、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成ステップであって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる、前記第2の生成ステップと、を含み、
    前記判断ステップでは、
    前記Mが1であるのか、前記Mが2以上であるのか、を判断し、
    前記Mが1であると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記Mが2以上であると判断される場合に、前記第2種の拡大処理を実行すべきと判断する、コンピュータプログラム。
  17. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各ステップ、即ち、
    原画像を表わす原画像データを取得する取得ステップであって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得ステップと、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行ステップであって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行ステップと、を実行させ、
    前記画像処理実行ステップは、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断ステップと、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成ステップであって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成ステップと、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成ステップであって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる、前記第2の生成ステップと、を含み、
    前記Mは、2以上の整数であり、
    前記判断ステップでは、
    前記M行の文字列が箇条書きによって表現されているのか否かを判断し、
    前記M行の文字列が前記箇条書きによって表現されていると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記M行の文字列が前記箇条書きによって表現されていないと判断される場合に、前記第2種の拡大処理を実行すべきと判断する、コンピュータプログラム。
  18. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各ステップ、即ち、
    原画像を表わす原画像データを取得する取得ステップであって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得ステップと、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行ステップであって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行ステップと、を実行させ、
    前記画像処理実行ステップは、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断ステップと、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成ステップであって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成ステップと、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成ステップであって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる、前記第2の生成ステップと、を含み、
    前記Mは、2以上の整数であり、
    前記M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並び、
    前記判断ステップでは、
    前記M行の文字列のそれぞれについて、当該1行の文字列の一端と前記M行の文字列を含むテキスト領域の境界との間の前記第1方向に沿った余白の長さを算出し、
    前記M行の文字列について算出されるM個の余白の長さのばらつきが、所定のばらつきよりも大きいのか否かを判断し、
    前記M個の余白の長さのばらつきが、前記所定のばらつきよりも大きいと判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記M個の余白の長さのばらつきが、前記所定のばらつき以下であると判断される場合に、前記第2種の拡大処理を実行すべきと判断する、コンピュータプログラム。
  19. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各ステップ、即ち、
    原画像を表わす原画像データを取得する取得ステップであって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得ステップと、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行ステップであって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行ステップと、を実行させ、
    前記画像処理実行ステップは、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断ステップと、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成ステップであって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成ステップと、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成ステップであって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる、前記第2の生成ステップと、を含み、
    前記M行の文字列を含むテキスト領域は、背景色を有し、
    前記判断ステップでは、
    前記テキスト領域の前記背景色が、前記原画像内の背景色と異なるのか否かを判断し、
    前記テキスト領域の前記背景色が、前記原画像内の前記背景色と異なると判断される場合に、前記第1種の拡大処理を実行すべきと判断し、
    前記テキスト領域の前記背景色が、前記原画像内の前記背景色と同じであると判断される場合に、前記第2種の拡大処理を実行すべきと判断する、コンピュータプログラム。
  20. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各ステップ、即ち、
    原画像を表わす原画像データを取得する取得ステップであって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得ステップと、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行ステップであって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行ステップと、を実行させ、
    前記画像処理実行ステップは、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断ステップと、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成ステップであって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成ステップと、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成ステップであって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる、前記第2の生成ステップと、
    前記原画像に含まれる複数個のオブジェクトを含む複数のオブジェクト領域を決定するオブジェクト領域決定ステップであって、前記複数のオブジェクト領域は、前記M行の文字列を含むテキスト領域を含む、前記オブジェクト領域決定ステップと、
    前記テキスト領域を包含し、かつ、前記複数個のオブジェクト領域のうちの他のオブジェクト領域に重複しないスペース領域を決定するスペース領域決定ステップと、を含み、
    前記第2の生成ステップでは、
    前記スペース領域に基づいて、前記テキスト領域のアスペクト比とは異なるアスペクト比を有する目標領域を決定し、
    前記N行の拡大文字列が前記目標領域内に配置されている前記第2種の処理済み画像を表わす前記第2種の処理済み画像データを生成する、コンピュータプログラム。
  21. 画像処理装置のためのコンピュータプログラムであって、
    前記画像処理装置に搭載されるコンピュータに、以下の各ステップ、即ち、
    原画像を表わす原画像データを取得する取得ステップであって、前記原画像は、複数個の文字によって構成されるM行(前記Mは1以上の整数)の文字列を含む、前記取得ステップと、
    前記原画像データに対して画像処理を実行して、処理済み画像を表わす処理済み画像データを生成する画像処理実行ステップであって、前記処理済み画像では、前記原画像と比べて、前記複数個の文字が拡大されて表現されている、前記画像処理実行ステップと、を実行させ、
    前記画像処理実行ステップは、
    前記原画像内の前記M行の文字列に基づいて、第1種の拡大処理を実行すべきか、第2種の拡大処理を実行すべきか、を判断する判断ステップと、
    前記第1種の拡大処理を実行すべきと判断される場合に、前記第1種の拡大処理を実行して、第1種の前記処理済み画像を表わす第1種の前記処理済み画像データを生成する第1の生成ステップであって、前記第1種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと同じであり、前記第1種の処理済み画像は、前記複数個の文字が拡大されて表現されているM行の拡大文字列を含んでいる、前記第1の生成ステップと、
    前記第2種の拡大処理を実行すべきと判断される場合に、前記第2種の拡大処理を実行して、第2種の前記処理済み画像を表わす第2種の前記処理済み画像データを生成する第2の生成ステップであって、前記第2種の処理済み画像内の前記複数個の文字のレイアウトは、前記原画像内の前記複数個の文字のレイアウトと異なり、前記第2種の処理済み画像は、前記複数個の文字が拡大されて表現されているN行(前記Nは1以上の整数)の拡大文字列を含んでいる、前記第2の生成ステップと、を含み、
    前記M行の文字列のそれぞれでは、2個以上の文字が第1方向に沿って並び、
    前記画像処理実行ステップは、さらに、
    前記M行の文字列を含むテキスト領域を包含するスペース領域を決定するスペース領域決定ステップを含み、
    前記第2の生成ステップでは、
    前記テキスト領域と前記スペース領域との間の前記第1方向に沿った2個の余白の長さと、前記第1方向に直交する第2方向に沿った2個の余白の長さと、に基づいて、前記テキスト領域のアスペクト比とは異なるアスペクト比を有する目標領域を決定し、
    前記N行の文字列が前記目標領域内に配置されている前記第2種の処理済み画像を表わす前記第2種の処理済み画像データを生成する、コンピュータプログラム。
JP2014044339A 2014-03-06 2014-03-06 画像処理装置 Active JP6311360B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014044339A JP6311360B2 (ja) 2014-03-06 2014-03-06 画像処理装置
US14/640,483 US9600917B2 (en) 2014-03-06 2015-03-06 Image processing device
US15/420,401 US10009507B2 (en) 2014-03-06 2017-01-31 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014044339A JP6311360B2 (ja) 2014-03-06 2014-03-06 画像処理装置

Publications (2)

Publication Number Publication Date
JP2015170982A JP2015170982A (ja) 2015-09-28
JP6311360B2 true JP6311360B2 (ja) 2018-04-18

Family

ID=54017837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014044339A Active JP6311360B2 (ja) 2014-03-06 2014-03-06 画像処理装置

Country Status (2)

Country Link
US (2) US9600917B2 (ja)
JP (1) JP6311360B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6344064B2 (ja) * 2014-05-30 2018-06-20 ブラザー工業株式会社 画像処理装置およびコンピュータプログラム
CN107533548B (zh) * 2015-07-23 2021-07-30 惠普发展公司有限责任合伙企业 在文本显示器上展示显示数据
US10956439B2 (en) * 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9984314B2 (en) * 2016-05-06 2018-05-29 Microsoft Technology Licensing, Llc Dynamic classifier selection based on class skew
CN109240572B (zh) * 2018-07-20 2021-01-05 华为技术有限公司 一种获取图片的方法、对图片进行处理的方法及装置
CN110865859B (zh) * 2019-10-29 2021-10-22 维沃移动通信有限公司 图片显示方法、装置、电子设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204946A (en) * 1988-06-17 1993-04-20 Canon Kabushiki Kaisha Mixed text and image data processing
JPH0594511A (ja) 1991-10-02 1993-04-16 Ricoh Co Ltd 画像処理装置
JP3234148B2 (ja) * 1996-03-07 2001-12-04 シャープ株式会社 表示制御装置
JPH1125283A (ja) 1997-07-04 1999-01-29 Fuji Xerox Co Ltd 文書画像処理装置
JP2000137801A (ja) 1998-11-02 2000-05-16 Fuji Xerox Co Ltd 画像形成方法および装置並びに画像処理制御プログラムを記憶した媒体
JP2002374400A (ja) * 2001-06-15 2002-12-26 Fuji Xerox Co Ltd 画像出力装置
JP4182895B2 (ja) 2004-02-09 2008-11-19 富士ゼロックス株式会社 画像形成装置及び画像形成支援装置
US20060227153A1 (en) * 2005-04-08 2006-10-12 Picsel Research Limited System and method for dynamically zooming and rearranging display items
KR101445603B1 (ko) * 2007-08-27 2014-09-29 삼성전자주식회사 디스플레이 장치의 화면 크기에 기초한 적응적 영상 처리장치 및 영상 스케일링 방법
JP2010183484A (ja) 2009-02-09 2010-08-19 Seiko Epson Corp コピー機能を有する画像形成装置
US9069731B2 (en) * 2009-12-29 2015-06-30 Olive Software Inc. System and method for providing online versions of print-medium publications
JP5229257B2 (ja) * 2010-03-26 2013-07-03 パナソニック株式会社 表示制御処理装置、表示制御処理方法及び表示制御処理プログラム
JP2011242987A (ja) 2010-05-18 2011-12-01 Fujifilm Corp ドキュメント画像配信装置及びドキュメント画像配信方法並びにドキュメント閲覧システム
JP5654851B2 (ja) 2010-11-18 2015-01-14 富士フイルム株式会社 文書画像表示装置ならびにその動作制御方法およびその制御プログラム
JP5182902B2 (ja) 2011-03-31 2013-04-17 京セラコミュニケーションシステム株式会社 文書イメージ出力装置
JP2012230623A (ja) 2011-04-27 2012-11-22 Fujifilm Corp 文書ファイル表示装置、方法およびプログラム
US8855413B2 (en) * 2011-05-13 2014-10-07 Abbyy Development Llc Image reflow at word boundaries

Also Published As

Publication number Publication date
US20170142287A1 (en) 2017-05-18
JP2015170982A (ja) 2015-09-28
US20150254804A1 (en) 2015-09-10
US9600917B2 (en) 2017-03-21
US10009507B2 (en) 2018-06-26

Similar Documents

Publication Publication Date Title
JP6311360B2 (ja) 画像処理装置
JP5274495B2 (ja) 文書画像サイズ変更方法
JP4483909B2 (ja) 翻訳装置及びプログラム
JP5111268B2 (ja) 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体
US20110113323A1 (en) Systems and methods to resize document content
JP6029344B2 (ja) 画像処理装置、画像処理方法、プログラム
US8384936B2 (en) System which performs resolution-dependent vectorization of print data
JP5477320B2 (ja) 画像処理装置
JP6127877B2 (ja) 画像処理装置、および、コンピュータプログラム
JP6303622B2 (ja) 画像処理装置
WO2011001669A1 (en) Image processing apparatus, image processing method, and storage medium
JP5049922B2 (ja) 画像処理装置及び画像処理方法
JP5924207B2 (ja) 画像処理装置及びプログラム
JP5590960B2 (ja) 画像形成装置、画像形成方法およびプログラム
JP3619143B2 (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
JP5111242B2 (ja) 画像処理装置及び方法
US8295602B2 (en) Image processing apparatus and image processing method
JP6281329B2 (ja) 画像処理装置
JP6264955B2 (ja) 画像処理装置
JP6323076B2 (ja) 画像処理装置
JP6323075B2 (ja) 画像処理装置
JP2008077148A (ja) 画像処理システムおよび画像処理装置
JP2008294831A (ja) 画像歪み補正装置
JP2023021794A (ja) 画像処理装置、画像処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180305

R150 Certificate of patent or registration of utility model

Ref document number: 6311360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150